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. Deutsche Hypothekenbank AG, Hannover
  2. Württembergische Versicherung AG, Stuttgart
  3. AGRAVIS Raiffeisen AG, Münster
  4. PTV Group, Karlsruhe


Anzeige
Top-Angebote
  1. 30,99€
  2. (heute u. a. mit Soundbars und Heimkinosystemen, ASUS-Notebooks, Sony-Kopfhörern, Garmin...

Folgen Sie uns
       


  1. Apple iOS 11 im Test

    Alte Apps weg, Daten weg, aber sonst alles gut

  2. Bitkom

    Ausbau mit Glasfaser kann noch 20 Jahre dauern

  3. Elektroauto

    Nikolas E-Trucks bekommen einen Antrieb von Bosch

  4. HHVM

    Facebook konzentriert sich künftig auf Hack statt PHP

  5. EU-Datenschutzreform

    Bitkom warnt Firmen vor Millionen-Bußgeldern

  6. Keybase Teams

    Opensource-Teamchat verschlüsselt Gesprächsverläufe

  7. Elektromobilität

    In Norwegen fehlen Ladesäulen

  8. Metroid Samus Returns im Kurztest

    Rückkehr der gelenkigen Kopfgeldjägerin

  9. Encrypted Media Extensions

    Web-DRM ist ein Standard für Nutzer

  10. TP Link Archer CR700v

    Einziger AVM-Konkurrent bei Kabelroutern gibt auf



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Energieversorgung: Windparks sind schlechter gesichert als E-Mail-Konten
Energieversorgung
Windparks sind schlechter gesichert als E-Mail-Konten
  1. Apache Struts Monate alte Sicherheitslücke führte zu Equifax-Hack
  2. Kreditrating Equifax' Krisenreaktion ist ein Desaster
  3. Best Buy US-Handelskette verbannt Kaspersky-Software aus Regalen

Anki Cozmo im Test: Katze gegen Roboter
Anki Cozmo im Test
Katze gegen Roboter
  1. Die Woche im Video Apple, Autos und ein grinsender Affe
  2. Anki Cozmo ausprobiert Niedlicher Programmieren lernen und spielen

Indiegames-Rundschau: Cyberpunk, Knetmännchen und Kampfsportkünstler
Indiegames-Rundschau
Cyberpunk, Knetmännchen und Kampfsportkünstler
  1. Indiegames-Rundschau Fantasysport, Burgbelagerungen und ein amorpher Blob
  2. Indiegames-Rundschau Meisterdiebe, Anti- und Arcadehelden
  3. Jump So was wie Netflix für Indiegames

  1. Re: Macht das überhaupt Sinn, eTrucks?

    Frankenwein | 21:10

  2. Re: Warum gibt es PC Wahl überhaupt noch?

    Schnarchnase | 21:10

  3. Re: Skynet

    Vögelchen | 21:09

  4. 29 Cent/KWh in De, 16 in Frankreich, 9 in...

    Nahkampfschaf | 21:08

  5. Re: Von wegen Ungewöhnliche Konstellation

    Schnarchnase | 21:06


  1. 19:04

  2. 18:51

  3. 18:41

  4. 17:01

  5. 16:46

  6. 16:41

  7. 16:28

  8. 16:11


  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