Abo
  • Services:
Anzeige
Laika - Frontansicht
Laika - Frontansicht (Bild: Golem.de)

Der letzte Schritt

Nach all der Rechnerei fehlt uns nunmehr nur noch ein kleiner Schritt: Wir müssen den PWM-Modus für einen Pin aktivieren. Das können wir über Zugriffe in /sys/class/pwm erledigen, fast analog zur Aktivierung des Pins zur Nutzung für GPIO.

Anzeige

Zuerst gilt es, den Pin zu exportieren - auch hier ist die Nummer des Pins der Galileo-Dokumentation zu entnehmen. Dem Arduino-Pin 9 ist der PWM-Pin 1 zugeordnet:

  1. f = open("/sys/class/pwm/pwmchip0/export", "w");
  2. f.write("1")
  3. f.close()

Und dann wird er aktiviert:

  1. f = open('/sys/class/pwm/pwmchip0/pwm1/enable', "w")
  2. f.write('1')
  3. f.close()

Die potenzielle Doppelbelegung von Pins gilt es auch hier zu beachten. Hinzu kommt, dass mit diesen Zeilen lediglich der PWM-Modus für den Pin angeschaltet wird, die eigentliche Aktivierung als Ausgangspin muss im Vorfeld über die GPIO-Schnittstelle erfolgen - also unserem pinMode()-Imitat von oben.

PWM-Modus für sonstige Fälle

Der Vollständigkeit halber wollen wir hier noch erwähnen, wie der PWM-Modus "normal" benutzt werden kann, zum Beispiel, um eine LED zu dimmen oder einen Motor über einen Motortreiber zu steuern - also Fälle, in denen die Frequenz der PWM uns nicht weiter interessiert. Dann reicht auch der Zugriff über /sys/class/pwmchip0/-Einträge aus.

Die eigentliche Konfiguration erfolgt über die Einträge period und duty_cycle. Beide erwarten Angaben in Nanosekunden. Der period-Wert entspricht der im PWM-Abschnitt angesprochenen Periode. Der duty_cycle definiert die Impulsdauer, also die Dauer, in der insgesamt tatsächlich Strom während einer Periode fließt. Folgendes Beispiel würde eine LED nur zu 50 Prozent mit Strom versorgen:

  1. f = open('/sys/class/pwm/pwmchip0/pwm1/period', "w")
  2. f.write('1000000')
  3. f.close()
  4.  
  5. f = open('/sys/class/pwm/pwmchip0/pwm1/enable', "w")
  6. f.write('1')
  7. f.close()
  8.  
  9. f = open('/sys/class/pwm/pwmchip0/pwm1/duty_cycle', "w")
  10. f.write('500000')
  11. f.close()

Die Prozentzahl von 50 Prozent ergibt sich aus dem Verhältnis von duty_cycle zu period. Der duty_cycle-Wert von 500000 sind 50 Prozent des period-Wertes von 1000000.

 Zielgerichtet probierenDas finale Skript 

eye home zur Startseite
hungkubwa 31. Jan 2014

Wozu der Umweg über Flattr wenn man auch direkt Paypal nutzen kann? Versteh ich nicht.

savejeff 30. Jan 2014

Danke :] Ich benutze die app täglich auf mehreren PCs und habe mich so drann gewöhnt. Sie...

Anonymer Nutzer 30. Jan 2014

Besten Dank für die Info. Gruss, gehirnpest

Casandro 30. Jan 2014

...ein 5 Jahresprojekt, dass dann nach 7 Jahren wegen nicht eingetretenem Erfolg eingestellt.

Anonymer Nutzer 30. Jan 2014

[..] und wir wollen dabei lernen. Genau sowas hat mir bei Golem bisher immer gefehlt...



Anzeige

Stellenmarkt
  1. AKDB, Regensburg
  2. Allianz Deutschland AG, Stuttgart
  3. DIEBOLD NIXDORF, Neu-Isenburg
  4. Techniker Krankenkasse, Hamburg


Anzeige
Top-Angebote
  1. mit Gutscheincode PLUSFEB (max. Rabatt 50€)
  2. zusammen nur 3,99€

Folgen Sie uns
       


  1. Wochenrückblick

    Früher war nicht alles besser

  2. Raumfahrt

    Falsch abgebogen wegen Eingabefehler

  3. Cloud

    AWS bringt den Appstore für Serverless-Software

  4. Free-to-Play-Strategie

    Total War Arena beginnt den Betabetrieb

  5. Funkchip

    US-Grenzbeamte können Pass-Signaturen nicht prüfen

  6. Telekom-Chef

    "Sorry! Da ist mir der Gaul durchgegangen"

  7. WD20SPZX

    Auch Western Digital bringt flache 2-TByte-HDD

  8. Metal Gear Survive im Test

    Himmelfahrtskommando ohne Solid Snake

  9. Cloud IoT Core

    Googles Cloud verwaltet weltweit IoT-Anlagen

  10. Schweden

    Netzbetreiber bietet 10 GBit/s für 45 Euro



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Materialforschung: Stanen - ein neues Wundermaterial?
Materialforschung
Stanen - ein neues Wundermaterial?
  1. Colorfab 3D-gedruckte Objekte erhalten neue Farbgestaltung
  2. Umwelt China baut 100-Meter-Turm für die Luftreinigung
  3. Crayfis Smartphones sollen kosmische Strahlung erfassen

Lebensmittel-Lieferservices: Für Berufstätige auf dem Lande oft "praktisch nicht nutzbar"
Lebensmittel-Lieferservices
Für Berufstätige auf dem Lande oft "praktisch nicht nutzbar"
  1. Kassenloser Supermarkt Technikfehler bei Amazon Go
  2. Amazon Go Kassenloser Supermarkt öffnet
  3. ThinQ LG fährt voll auf künstliche Intelligenz ab

Ryzen 5 2400G und Ryzen 3 2200G im Test: Raven Ridge rockt
Ryzen 5 2400G und Ryzen 3 2200G im Test
Raven Ridge rockt
  1. Smach Z PC-Handheld nutzt Ryzen V1000
  2. Ryzen V1000 und Epyc 3000 AMD bringt Zen-Architektur für den Embedded-Markt
  3. Raven Ridge AMD verschickt CPUs für UEFI-Update

  1. Re: Das sagt eine Schlange auch

    ML82 | 09:17

  2. Re: Die Xiaomi-App übermittelt den Standort

    cbug | 09:17

  3. CAT S60 Android Updates

    henrikd@web.de | 09:12

  4. Re: nothern light...?

    b1n0ry | 09:03

  5. Re: Dringende Fragen

    Zibidaeus | 08:46


  1. 09:02

  2. 17:17

  3. 16:50

  4. 16:05

  5. 15:45

  6. 15:24

  7. 14:47

  8. 14:10


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel