Abo
  • Services:
Anzeige
Intel Edison mit Augen und Kamera
Intel Edison mit Augen und Kamera (Bild: Alexander Merz/Golem.de)

Servo ansteuern leicht gemacht

Die Ansteuerung des Servos ist deutlich einfacher als beim Galileo, trotzdem wenden wir etwas mehr Code auf, um den Ablauf verständlicher zu gestalten.

Zur Erinnerung: Ein Servo wird gesteuert, indem ein elektrischer Impuls mit einer definierten Dauer an den Servo geschickt wird. Die Länge steht für die anzusteuernde Position, dabei entspricht der kürzeste erkannte Impuls 0 Grad, der längste 180 Grad.

Beim Galileo war es nicht möglich, derart kurze Schaltzeiten direkt zu realisieren, weshalb wir per PWM tricksen mussten. Beim Edison hingegen sind diese Schaltzeiten möglich. Deswegen ist die Funktion für die Servoansteuerung auch recht einfach:

Anzeige

  1. void servo(int deg) {
  2.  
  3. unsigned long t = map_deg_to_time(deg);
  4. unsigned long b, a;
  5. unsigned long period = 20000;
  6.  
  7. a = time();
  8. b = time();
  9.  
  10. gpio->write(1);
  11. while(t > (b - a)) {
  12. b = time();
  13. }
  14. gpio->write(0);
  15. while(period > (b - a)) {
  16. b = time();
  17. }
  18. }

Die aufgerufene Funktion map_deg_to_time() rechnet die übergebene Gradzahl in die benötigte Zeitdauer um. Dann wird der Pin, über den der Servo angesteuert wird, auf High (=1) geschaltet. Als nächstes wird die ermittelte Zeitdauer abgewartet. Ist sie verstrichen, wird der Pin wieder auf Low (=0) geschaltet, das Signal beendet. Zum Schluss wird erneut eine kurze Zeitspanne abgewartet. Das verhindert, dass ein zweiter Aufruf der Funktion zu früh erfolgt, und das Signal vom Servo womöglich falsch oder gar nicht interpretiert wird.

Der eine oder andere wird sich fragen, warum wir die Zeitdauer so umständlich herunterzählen, statt zum Beispiel usleep() zu nutzen. Auf diese Weise verringern wir die Möglichkeit, dass uns das Betriebssystem während der Wartedauer in die Quere kommt - allerdings auf Kosten der Performance des gesamten Systems.

Eine kleine Optimierungsmöglichkeit für die Servo-Ansteuerung wäre es, statt von Pixel in Grad in Zeitdauer direkt von Pixel in Zeitdauer umzurechnen, außerdem vermeiden wir so sich aufaddierende Rundungsfehler. Der Zwischenschritt macht unser Vorgehen aber transparenter und verständlicher.

 Der Edison beeindrucktStromverbrauch und Fazit 

eye home zur Startseite
derdiedas 21. Nov 2014

Na ja - das Edison/Arduino Gespann ist nun so viel kleiner nicht. Das reine Edison Modul...

_speedy_ 21. Nov 2014

und vom USB-Stick? Von SD wäre natürlich genial und vielleicht besser Intel hier ja noch...

Zwangsangemeldet 20. Nov 2014

Irgendwie ist die Betonung des Sprechers im Video ... hmm, naja, seltsam. *Sehr* seltsam...



Anzeige

Stellenmarkt
  1. Kaufland Dienstleistung GmbH & Co. KG, Heilbronn
  2. DATAGROUP Köln GmbH, Köln (Home-Office)
  3. cbb-Software GmbH, Braunschweig, Wolfsburg
  4. Teambank AG, Nürnberg


Anzeige
Blu-ray-Angebote
  1. (u. a. Die Unfassbaren, Ghostbusters I & II, Jurassic World, Fast & Furious 7 Extended Version)
  2. 18,99€ (ohne Prime bzw. unter 29€-Einkaufswert zzgl. 3€ Versand)
  3. (u. a. Der Marsianer, The Hateful 8, Interstellar, Django Unchained, London Has Fallen, Olympus Has...

Folgen Sie uns
       


  1. Agent 47

    Der Hitman unterstützt bald HDR

  2. Mietwochen

    Media Markt vermietet Elektrogeräte ab einem Monat Laufzeit

  3. Nintendo

    Vorerst keine Videostreaming-Apps auf Switch

  4. Illegales Streaming

    Kinox.to nutzt gleichen Google-Trick wie Porno-Hoster

  5. DACBerry One

    Soundkarte für Raspberry Pi liefert Töne digital und analog

  6. Samsungs Bixby

    Galaxy S8 kann sehen und erkennen

  7. Schweizer Polizei

    Drohnenabwehr beim Weltwirtschaftsforum in Davos

  8. Crashuntersuchung

    Teslas Autopilot reduziert Unfallquote um 40 Prozent

  9. Delid Die Mate 2

    Prozessoren köpfen leichter gemacht

  10. Rückzieher

    Assange will nun doch nicht in die USA



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Nintendo Switch im Hands on: Die Rückkehr der Fuchtel-Ritter
Nintendo Switch im Hands on
Die Rückkehr der Fuchtel-Ritter
  1. Arms angespielt Besser boxen ohne echte Arme
  2. Nintendo Switch Eltern bekommen totale Kontrolle per App
  3. Nintendo Switch erscheint am 3. März

Autonomes Fahren: Laserscanner für den Massenmarkt kommen
Autonomes Fahren
Laserscanner für den Massenmarkt kommen
  1. BMW Autonome Autos sollen mehr miteinander quatschen
  2. Nissan Leaf Autonome Elektroautos rollen ab Februar auf Londons Straßen
  3. Autonomes Fahren Neodriven fährt autonom wie Geohot

Reverse Engineering: Mehr Spaß mit Amazons Dash-Button
Reverse Engineering
Mehr Spaß mit Amazons Dash-Button

  1. Re: Welche aktuellen Wärmeleitpasten sind den gut?

    tschick | 10:40

  2. Re: Muss Kim (Dotcom) Schmitz jetzt mit Google...

    thecrew | 10:40

  3. Re: was für einen Unterschied macht es für ihn...

    quineloe | 10:40

  4. Re: Na und?

    Moe479 | 10:40

  5. Re: Tolles Teil

    patrickrocker83 | 10:39


  1. 10:41

  2. 10:26

  3. 09:57

  4. 09:29

  5. 08:50

  6. 08:33

  7. 07:34

  8. 07:18


  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