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

Der letzte Schritt

Anzeige

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.

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. über Ratbacher GmbH, Karlsruhe
  2. BAGHUS GmbH, München
  3. DRÄXLMAIER Group, Garching
  4. Bosch Software Innovations GmbH, Berlin


Anzeige
Hardware-Angebote
  1. 179,99€
  2. 120,99€

Folgen Sie uns
       


  1. Nokia 3, 5 und 6

    HMD Global bringt drei Nokia-Smartphones mit Android

  2. Moto G5 und Moto G5 Plus im Hands on

    Lenovos kompakte Mittelklasse ist zurück

  3. Handy-Klassiker

    HMD Global bringt das Nokia 3310 zurück

  4. Galaxy Tab S3 im Hands on

    Samsung präsentiert Oberklasse-Tablet mit Eingabestift

  5. Galaxy Book im Hands on

    Samsung bringt neuen 2-in-1-Computer

  6. Mobilfunk

    "5G muss weit mehr als LTE bieten"

  7. UHS-III

    Neuer (Micro-)SD-Karten-Standard schafft über 600 MByte/s

  8. Watch 2 im Hands on

    Huaweis neue Smartwatch soll bis zu 21 Tage lang durchhalten

  9. LG G6 im Hands on

    Schlankes Smartphone hat zwei Kameralinsen

  10. P10 und P10 Plus im Hands on

    Huaweis neues P10 kostet 600 Euro



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Der große Ultra-HD-Blu-ray-Test (Teil 2): 4K-Hardware ist nichts für Anfänger
Der große Ultra-HD-Blu-ray-Test (Teil 2)
4K-Hardware ist nichts für Anfänger
  1. Der große Ultra-HD-Blu-ray-Test (Teil 1) 4K-Filme verzeihen keine Fehler
  2. Deutsche Verkaufszahlen Unberechtigter Jubel über die UHD-Blu-ray
  3. 4K Blu-ray Sonys erster UHD-Player kommt im Frühjahr 2017

Anet A6 im Test: Wenn ein 3D-Drucker so viel wie seine Teile kostet
Anet A6 im Test
Wenn ein 3D-Drucker so viel wie seine Teile kostet
  1. Bat Bot Die Fledermaus wird zum Roboter
  2. Kickstarter / NexD1 Betrugsvorwürfe gegen 3D-Drucker-Startup
  3. 3D-Druck Spanische Architekten drucken eine Brücke

LineageOS im Test: Das neue Cyanogenmod ist fast das alte Cyanogenmod
LineageOS im Test
Das neue Cyanogenmod ist fast das alte Cyanogenmod
  1. Ex-Cyanogenmod LineageOS startet mit den ersten fünf Smartphones
  2. Smartphone-OS Cyanogenmod ist tot, lang lebe Lineage

  1. Re: Wechsel von Bing auf Google als Suchmaschine...

    ve2000 | 03:05

  2. Re: 50 Euro, hoffentlich nur UVP

    kaliberx | 02:51

  3. Re: Theoretischer vs. praktischer Wert

    ve2000 | 02:51

  4. Re: An alle die den Grund für das Verbot nicht...

    .LeChuck. | 02:33

  5. Re: An alle die den Grund für das Verbot nicht...

    Abseus | 02:33


  1. 21:13

  2. 20:32

  3. 20:15

  4. 19:00

  5. 19:00

  6. 18:45

  7. 18:10

  8. 17:48


  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