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. Dürr Systems AG, Bietigheim-Bissingen
  2. CERATIZIT Deutschland GmbH, Empfingen
  3. Hemmersbach GmbH & Co. KG, Nürnberg
  4. über HRM CONSULTING GmbH, Köln


Anzeige
Top-Angebote
  1. und 15€ Cashback erhalten
  2. 17,99€ statt 29,99€
  3. (u. a. Assassins Creed IV Black Flag 9,99€, F1 2016 für 29,99€, XCOM 4,99€, XCOM 2 23,99€)

Folgen Sie uns
       


  1. Hololens

    Microsoft holoportiert Leute aus dem Auto ins Büro

  2. Star Wars

    Todesstern kostet 6,25 Quadrilliarden britische Pfund am Tag

  3. NSA-Ausschuss

    Wikileaks könnte Bundestagsquelle enttarnt haben

  4. Transparenzverordnung

    Angaben-Wirrwarr statt einer ehrlichen Datenratenangabe

  5. Urteil zu Sofortüberweisung

    OLG empfiehlt Verbrauchern Einkauf im Ladengeschäft

  6. Hearthstone

    Blizzard schickt Spieler in die Straßen von Gadgetzan

  7. Jolla

    Sailfish OS in Russland als Referenzmodell für andere Länder

  8. Router-Schwachstellen

    100.000 Kunden in Großbritannien von Störungen betroffen

  9. Rule 41

    Das FBI darf jetzt weltweit hacken

  10. Breath of the Wild

    Spekulationen über spielbare Zelda



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Senode: Eine ganze Komposition in zwei Graphen
Senode
Eine ganze Komposition in zwei Graphen
  1. Offlinemodus Netflix erlaubt Download ausgewählter Filme und Serien
  2. LG PH450UG LED-Kurzdistanzprojektor arbeitet mit Akku
  3. Freenet TV DVB-T2 Receiver mit Twin-Tuner brauchen nur ein Abo

HTC 10 Evo im Kurztest: HTCs eigenwillige Evolution
HTC 10 Evo im Kurztest
HTCs eigenwillige Evolution
  1. Virtual Reality HTC stellt Drahtlos-Kit für Vive vor
  2. Google Im Pixel steckt wohl mehr HTC als gedacht
  3. Desire 10 Lifestyle HTC stellt noch ein Mittelklasse-Smartphone für 300 Euro vor

Turris Omnia im Test: Ein Router zum Basteln
Turris Omnia im Test
Ein Router zum Basteln
  1. Botnetz Telekom-Routerausfälle waren nur Kollateralschaden
  2. BGH-Urteil Keine Störerhaftung bei gehacktem WLAN-Passwort
  3. Fritzbox 6430 Cable AVM liefert Einsteigerrouter für Kabelanschluss

  1. Re: Günstig? Dafür bekommt man ein S7...

    Cerb | 01:14

  2. Re: Kritik unberechtigt?

    Impergator | 01:11

  3. Re: 200.000 Pfund für Essen?

    Seismoid | 01:08

  4. Re: Wenn Obama seinen Behörden das Hacken von...

    DerSkeptiker | 01:05

  5. Re: dauert noch

    ArcherV | 01:02


  1. 18:27

  2. 18:01

  3. 17:46

  4. 17:19

  5. 16:37

  6. 16:03

  7. 15:34

  8. 15:08


  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