Abo
  • Services:

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.

Stellenmarkt
  1. Hays AG, Metropolregion Nürnberg
  2. matrix technology AG, München

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:

  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 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
  12.  


Anzeige
Top-Angebote
  1. 299€ (Vergleichspreis 403,90€)
  2. 349€ (Vergleichspreis 399€)
  3. 57,90€ + 5,99€ Versand (zusätzlich 15€ Rabatt bei Zahlung mit Masterpass)
  4. jetzt bis zum 28.06. direkt bei Apple bestellen und die 0% Raten-Finanzierung erhalten

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...


Folgen Sie uns
       


Bethesda E3 2018 Pressekonferenz -Live

Fallout 76 wird Multiplayer bieten, Starfield und Elder Scrolls 6 werden angekündigt und Bethesda bringt mit Rage 2 und Doom Eternal jede Menge Action: Konnte uns das im nächtlichen Stream begeistern?

Bethesda E3 2018 Pressekonferenz -Live Video aufrufen
Deutsche Siri auf dem Homepod im Test: Amazon und Google können sich entspannt zurücklehnen
Deutsche Siri auf dem Homepod im Test
Amazon und Google können sich entspannt zurücklehnen

In diesem Monat kommt der dritte digitale Assistent auf einem smarten Lautsprecher nach Deutschland: Siri. Wir haben uns angehört, was die deutsche Version auf dem Homepod leistet.
Ein Test von Ingo Pakalski

  1. Patentantrag von Apple Neues Verfahren könnte Siri schlauer machen
  2. Siri vs. Google Assistant Apple schnappt sich Googles KI-Chefentwickler
  3. Digitaler Assistent Apple will Siri verbessern

Anthem angespielt: Action in fremder Welt und Abkühlung im Wasserfall
Anthem angespielt
Action in fremder Welt und Abkühlung im Wasserfall

E3 2018 Eine interessante Welt, schicke Grafik und ein erstaunlich gutes Fluggefühl: Golem.de hat das Actionrollenspiel Anthem von Bioware ausprobiert.

  1. Control Remedy Entertainment mit übersinnlichen Räumen
  2. Smach Z ausprobiert Neuer Blick auf das Handheld für PC-Spieler
  3. The Division 2 angespielt Action rund um Air Force One

3D-Druck on Demand: Wenn der Baumarkt Actionfiguren aus Stahl druckt
3D-Druck on Demand
Wenn der Baumarkt Actionfiguren aus Stahl druckt

Es gibt viele Anbieter für 3D-Druck on Demand und die Preise fallen. Golem.de hat die 3D-Druckdienste von Toom, Conrad Electronic, Sculpteo und Media Markt getestet, um neue Figuren der Big-Jim-Reihe zu erschaffen.
Ein Praxistest von Achim Sawall


      •  /