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. Deutsche Bundesbank, Düsseldorf
  2. Novotechnik Messwertaufnehmer OHG, Ostfildern
  3. Landeshauptstadt München, München
  4. BG-Phoenics GmbH, Hannover


Anzeige
Spiele-Angebote
  1. 109,99€/119,99€ (Vorbesteller-Preisgarantie)
  2. (-50%) 19,99€
  3. 69,99€ (Vorbesteller-Preisgarantie)

Folgen Sie uns
       


  1. Obsoleszenz

    Apple repariert zahlreiche Macbooks ab Mitte 2017 nicht mehr

  2. Komplett-PC

    In Nvidias Battleboxen steckt AMDs Ryzen

  3. Internet

    Cloudflare macht IPv6 parallel zu IPv4 jetzt Pflicht

  4. Square Enix

    Neustart für das Final Fantasy 7 Remake

  5. Agesa 1006

    Ryzen unterstützt DDR4-4000

  6. Telekom Austria

    Nokia erreicht 850 MBit/s im LTE-Netz

  7. Star Trek Bridge Crew im Test

    Festgetackert im Holodeck

  8. Quantenalgorithmen

    "Morgen könnte ein Physiker die Quantenmechanik widerlegen"

  9. Astra

    ZDF bleibt bis zum Jahr 2020 per Satellit in SD verfügbar

  10. Kubic

    Opensuse startet Projekt für Container-Plattform



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
The Surge im Test: Frust und Feiern in der Zukunft
The Surge im Test
Frust und Feiern in der Zukunft
  1. Computerspiele und Psyche Wie Computerspieler zu Süchtigen erklärt werden sollen
  2. Wirtschaftssimulation Pizza Connection 3 wird gebacken
  3. Mobile-Games-Auslese Untote Rundfahrt und mobiles Seemannsgarn

Vernetzte Hörgeräte und Hearables: Ich filter mir die Welt widdewiddewie sie mir gefällt
Vernetzte Hörgeräte und Hearables
Ich filter mir die Welt widdewiddewie sie mir gefällt
  1. Polar Fitnesstracker A370 mit Tiefschlaf- und Pulsmessung
  2. The Dash Pro Bragis Drahtlos-Ohrstöpsel können jetzt auch übersetzen
  3. Beddit Apple kauft Schlaf-Tracker-Hersteller

Redmond Campus Building 87: Microsofts Area 51 für Hardware
Redmond Campus Building 87
Microsofts Area 51 für Hardware
  1. Windows on ARM Microsoft erklärt den kommenden x86-Emulator im Detail
  2. Azure Microsoft betreut MySQL und PostgreSQL in der Cloud
  3. Microsoft Azure bekommt eine beeindruckend beängstigende Video-API

  1. Ich hab da mal selbst getestet...

    Ratloser99 | 07:39

  2. Re: E-Auto laden utopisch

    Psy2063 | 07:39

  3. Re: 6 Jahre Reparatursupport sollten ja auch reichen

    Sharra | 07:38

  4. Re: Das Legen wird aber teurer sein. Auch das...

    DY | 07:37

  5. Re: ryzen seit verfügbarkeit unstabil

    zonk | 07:36


  1. 07:17

  2. 18:08

  3. 17:37

  4. 16:55

  5. 16:46

  6. 16:06

  7. 16:00

  8. 14:21


  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