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. über Schultz & Partner Unternehmens- & Personalberatung, Bremen
  2. Landeshauptstadt München, München
  3. Bertrandt Technikum GmbH, Ehningen bei Stuttgart
  4. Robert Bosch GmbH, Leonberg


Anzeige
Blu-ray-Angebote
  1. 6,99€
  2. (u. a. Hobbit Trilogie Blu-ray 44,97€, Batman Dark Knight Trilogy Blu-ray 17,99€)
  3. 23,99€ (Vorbesteller-Preisgarantie)

Folgen Sie uns
       


  1. Microsoft

    Bessere Synchronisation soll Onedrive effizienter machen

  2. Fixed Wireless

    Verizon startet einen der weltweit größten 5G-Endkundentests

  3. Klage eingereicht

    Google wirft Uber Diebstahl von Lidar-Technik vor

  4. Speicherleck

    Cloudflare verteilt private Daten übers Internet

  5. Apple

    Magicgrips machen die Magic Mouse breit

  6. Aufsteckbar

    Kugelkamera für Android-Smartphones filmt 360-Grad-Videos

  7. Panamera Turbo S E-Hybrid

    Porsche kombiniert V8-Motor und E-Antrieb

  8. Matrix Voice

    Preiswerter mit Spracherkennung experimentieren

  9. LTE

    Telekom führt Narrowband-IoT-Netz in Deutschland ein

  10. Deep Learning

    Wenn die KI besser prügelt als Menschen



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Merkels NSA-Vernehmung: Die unerträgliche Uninformiertheit der Kanzlerin
Merkels NSA-Vernehmung
Die unerträgliche Uninformiertheit der Kanzlerin
  1. München Wie Limux unter Ausschluss der Öffentlichkeit zerstört wird
  2. US-Präsident Zuck it, Trump!
  3. Glasfaser Nun hängt die Kabel doch endlich auf!

Apple: Planet der affigen Fernsehshows
Apple
Planet der affigen Fernsehshows
  1. Noch 100 Tage Unitymedia schaltet Analogfernsehen schrittweise ab
  2. Streaming Vodafone GigaTV ermöglicht Fernsehen unterwegs
  3. Kabelnetz Unitymedia hat neue Preise für Internetzugänge

Mobile-Games-Auslese: Schiffbruch auf der Milchstraße für mobile Spieler
Mobile-Games-Auslese
Schiffbruch auf der Milchstraße für mobile Spieler

  1. Re: Wie laufen Bewerbungen heutzutage eigentlich ab?

    der_wahre_hannes | 11:21

  2. Re: Analoge Schultertasten

    Peace Р| 11:20

  3. Re: Völlig irrelevant

    Peter Brülls | 11:19

  4. Re: Fachinformatiker = Taxidiplom

    der_wahre_hannes | 11:19

  5. Re: Wie ist das denn jetzt mit...

    Mademan | 11:19


  1. 11:35

  2. 11:09

  3. 10:51

  4. 10:45

  5. 09:38

  6. 07:23

  7. 07:14

  8. 17:37


  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