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. Kassenzahnärztliche Vereinigung Baden-Württemberg, Freiburg
  2. Schwarz Zentrale Dienste KG, Neckarsulm
  3. über Duerenhoff GmbH, Essen
  4. FactSet Digital Solutions GmbH, Frankfurt am Main


Anzeige
Top-Angebote
  1. 34,99€
  2. 99,99€ für Prime-Mitglieder (Bestpreis!) - Lieferbar Ende Januar
  3. 89,90€ + 5,99€ Versand (Vergleichspreis 109,99€)

Folgen Sie uns
       


  1. Eclipse Foundation

    Erster EE4J-Code leitet Java-EE-Migration ein

  2. Breitbandmessung

    Provider halten versprochene Geschwindigkeit fast nie ein

  3. Virtualisierung

    Linux-Gasttreiber für Virtualbox bekommt Mainline-Support

  4. DJI Copilot von Lacie

    Festplatte kopiert SD-Karten ohne separaten Rechner

  5. Swift 5

    Acers dünnes Notebook kommt ab 1.000 Euro in den Handel

  6. Vodafone

    Callya-Flex-Tarife bekommen mehr Datenvolumen

  7. Elektromobilität

    Lithium ist genug vorhanden, aber es wird teurer

  8. Indiegames-Rundschau

    Krawall mit Knetmännchen und ein Mann im Fass

  9. Microsoft

    Surface Book 2 mit 15 Zoll kommt nach Deutschland

  10. Patent

    Huawei untersucht alternative Smartwatch-Bedienung



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Computerforschung: Quantencomputer aus Silizium werden realistisch
Computerforschung
Quantencomputer aus Silizium werden realistisch
  1. Tangle Lake Intel zeigt 49-Qubit-Chip
  2. Die Woche im Video Alles kaputt
  3. Q# und QDK Microsoft veröffentlicht Entwicklungskit für Quantenrechner

Netzsperren: Wie Katalonien die spanische Internetzensur austrickste
Netzsperren
Wie Katalonien die spanische Internetzensur austrickste

Spectre und Meltdown: All unsere moderne Technik ist kaputt
Spectre und Meltdown
All unsere moderne Technik ist kaputt
  1. Microsoft Fall Creators Update ist final für alle Geräte verfügbar
  2. BeA Noch mehr Sicherheitslücken im Anwaltspostfach
  3. VEP Charter Trump will etwas transparenter mit Sicherheitslücken umgehen

  1. Re: Da bin ich wohl die Ausnahme...

    Melanchtor | 16:28

  2. Was die Provider "versprechen"

    M.P. | 16:26

  3. Re: gezwungen?

    Luke321 | 16:26

  4. Re: 100 Mbit/s bei der Telekom

    Gucky | 16:25

  5. Re: Preise pro kW/H

    tg-- | 16:25


  1. 15:46

  2. 15:30

  3. 15:09

  4. 14:58

  5. 14:21

  6. 13:25

  7. 12:30

  8. 12:00


  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