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. Daimler AG, Sindelfingen
  2. Zurich Gruppe Deutschland, Bonn
  3. Schwäbische Hüttenwerke Automotive GmbH, Aalen
  4. Simovative GmbH, München


Anzeige
Blu-ray-Angebote
  1. 49,00€ (zzgl. 4,99€ Versand oder versandkostenfrei bei Abholung im Markt)
  2. (u. a. Reign, Person of Interest, Gossip Girl, The Clone Wars)
  3. (u. a. Hobbit Trilogie Blu-ray 43,89€ und Batman Dark Knight Trilogy Blu-ray 17,99€)

Folgen Sie uns
       


  1. UEFI-Update

    Agesa 1004a lässt Ryzen-Boards schneller booten

  2. Sledgehammer Games

    Call of Duty WWII spielt wieder im Zweiten Weltkrieg

  3. Mobilfunk

    Patentverwerter klagt gegen Apple und Mobilfunkanbieter

  4. Privatsphäre

    Bildungsrechner spionieren Schüler aus

  5. Raumfahrt

    Chinesischer Raumfrachter Tanzhou 1 dockt an Raumstation an

  6. Die Woche im Video

    Kein Saft, kein Wumms, keine Argumente

  7. Windows 7 und 8

    Github-Nutzer schafft Freischaltung von neuen CPUs

  8. Whitelist umgehen

    Node-Server im Nvidia-Treiber ermöglicht Malware-Ausführung

  9. Easy S und Easy M

    Vodafone stellt günstige Einsteigertarife ohne LTE vor

  10. UP2718Q

    Dell verkauft HDR10-Monitor ab Mai 2017



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Quantenphysik: Im Kleinen spielt das Universum verrückt
Quantenphysik
Im Kleinen spielt das Universum verrückt
  1. Quantenmechanik Malen nach Zahlen für die weltbesten Mathematiker
  2. IBM Q Qubits as a Service
  3. Rechentechnik Ein Bauplan für einen Quantencomputer

Elektromobilität: Wie kommt der Strom in die Tiefgarage?
Elektromobilität
Wie kommt der Strom in die Tiefgarage?
  1. Elektroauto Volkswagen I.D. Crozz soll als Crossover autonom fahren
  2. Sportback Concept Audis zweiter E-tron ist ein Sportwagen
  3. Vision E Skoda will elektrisch überzeugen

Hate-Speech-Gesetz: Regierung kennt keine einzige strafbare Falschnachricht
Hate-Speech-Gesetz
Regierung kennt keine einzige strafbare Falschnachricht
  1. Neurowissenschaft Facebook erforscht Gedanken-Postings
  2. Rundumvideo Facebooks 360-Grad-Ballkamera nimmt Tiefeninformationen auf
  3. Spaces Facebook stellt Beta seiner Virtual-Reality-Welt vor

  1. Re: Davon merke ich nichts.

    maverick1977 | 05:13

  2. Re: Fehleranfälliger Tor Browser?

    Apfelbrot | 03:51

  3. Re: Bootzeit?

    ve2000 | 03:23

  4. Re: Weltveränderung

    Niaxa | 02:06

  5. Re: Weltveränderung

    m9898 | 01:49


  1. 12:40

  2. 11:55

  3. 15:19

  4. 13:40

  5. 11:00

  6. 09:03

  7. 18:01

  8. 17: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