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. Robert Bosch GmbH, Leonberg
  2. SSI Schäfer Automation GmbH, Giebelstadt bei Würzburg
  3. Statistisches Bundesamt, Wiesbaden
  4. Nordischer Maschinenbau Rud. Baader GmbH & Co. KG, Lübeck


Anzeige
Top-Angebote
  1. 169€
  2. 274,90€ + 3,99€ Versand
  3. 239,53€

Folgen Sie uns
       


  1. Spieleklassiker

    Mafia digital bei GoG erhältlich

  2. Air-Berlin-Insolvenz

    Bundesbeamte müssen videotelefonieren statt zu fliegen

  3. Fraport

    Autonomer Bus im dichten Verkehr auf dem Flughafen

  4. Mixed Reality

    Microsoft verdoppelt Sichtfeld der Hololens

  5. Nvidia

    Shield TV ohne Controller kostet 200 Euro

  6. Die Woche im Video

    Wegen Krack wie auf Crack!

  7. Windows 10

    Fall Creators Update macht Ryzen schneller

  8. Gesundheitskarte

    T-Systems will Konnektor bald ausliefern

  9. Galaxy Tab Active 2

    Samsungs neues Ruggedized-Tablet kommt mit S-Pen

  10. Jaxa

    Japanische Forscher finden riesige Höhle im Mond



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Indiegames-Rundschau: Fantastische Fantasy und das Echo der Doppelgänger
Indiegames-Rundschau
Fantastische Fantasy und das Echo der Doppelgänger
  1. Verlag IGN übernimmt Indiegames-Anbieter Humble Bundle
  2. Indiegames-Rundschau Cyberpunk, Knetmännchen und Kampfsportkünstler
  3. Indiegames-Rundschau Fantasysport, Burgbelagerungen und ein amorpher Blob

Xperia Touch im Test: Sonys coolem Android-Projektor fehlt das Killerfeature
Xperia Touch im Test
Sonys coolem Android-Projektor fehlt das Killerfeature
  1. Roboter Sony lässt Aibo als Alexa-Konkurrenten wieder auferstehen
  2. Sony Xperia XZ1 Compact im Test Alternativlos für Freunde kleiner Smartphones
  3. Sony Xperia XZ1 und XZ1 Compact sind erhältlich

Arktika 1 im Test: Monster-verseuchte Eiszeitschönheit
Arktika 1 im Test
Monster-verseuchte Eiszeitschönheit
  1. TPCast Oculus Rift erhält Funkmodul
  2. Oculus Go Alleine lauffähiges VR-Headset für 200 US-Dollar vorgestellt
  3. Virtual Reality Update bindet Steam-Rift in Oculus Home ein

  1. Re: Wir kolonialisieren

    Bouncy | 03:11

  2. Re: Bahn schneller machen

    chithanh | 03:07

  3. Re: Die 210 Grad werden indes mit einem anderen...

    xmaniac | 03:06

  4. Unverschlüsselte Grundversorgung

    Crass Spektakel | 03:05

  5. Freeride

    Crass Spektakel | 02:53


  1. 17:14

  2. 16:25

  3. 15:34

  4. 13:05

  5. 11:59

  6. 09:03

  7. 22:38

  8. 18:00


  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