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. Stadt Regensburg, Regensburg
  2. über Hanseatisches Personalkontor Rhein-Neckar, Mannheim
  3. InterComponentWare AG, Walldorf
  4. afb Application Services AG, München


Anzeige
Hardware-Angebote
  1. 39,99€
  2. ab 649,90€

Folgen Sie uns
       


  1. HP, Philips, Fujitsu

    Bloatware auf Millionen Notebooks ermöglicht Codeausführung

  2. Mali-C71

    ARM bringt seinen ersten ISP für Automotive

  3. SUNET

    Forschungsnetz erhält 100 GBit/s und ROADM-Technologie

  4. Cisco

    Kontrollzentrum verwaltet Smartphones im Unternehmen

  5. Datenschutz

    Facebook erhält weiterhin keine Whatsapp-Daten

  6. FTTH

    Telekom will mehr Kooperationen für echte Glasfaser

  7. Open Data

    OKFN will deutsche Wetterdaten befreien

  8. Spectrum Next

    Voll kompatible Neuauflage des ZX Spectrum ist finanziert

  9. OmniOS

    Freier Solaris-Nachfolger steht vor dem Ende

  10. Cybercrime

    Computerkriminalität nimmt statistisch gesehen zu



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
OWASP Top 10: Die zehn wichtigsten Sicherheitsrisiken bekommen ein Update
OWASP Top 10
Die zehn wichtigsten Sicherheitsrisiken bekommen ein Update
  1. Malware Schadsoftware bei 1.200 Holiday-Inn- und Crowne-Plaza-Hotels
  2. Zero Day Exploit Magento-Onlineshops sind wieder gefährdet
  3. Staatstrojaner Office 0-Day zur Verbreitung von Finfisher-Trojaner genutzt

Creators Update: Game Mode macht Spiele runder und Windows 10 ruckelig
Creators Update
Game Mode macht Spiele runder und Windows 10 ruckelig
  1. Microsoft Zwei große Updates pro Jahr für Windows 10
  2. Windows 10 Version 17xx-2 Stromsparmodus kommt für die nächste Windows-Version
  3. Windows as a Service Die erste Windows-10-Version hat noch drei Wochen Support

Linux auf dem Switch: Freiheit kann ganz schön kompliziert sein!
Linux auf dem Switch
Freiheit kann ganz schön kompliziert sein!
  1. Digital Ocean Cloud-Hoster löscht versehentlich Primärdatenbank
  2. Google Cloud Platform für weitere Microsoft-Produkte angepasst
  3. Marktforschung Cloud-Geschäft wächst rasant, Amazon dominiert den Markt

  1. Re: Gleiches auch mit Atatri 600/800XL

    Ovaron | 06:13

  2. Re: In dem Alter brauchen die kein Handy.

    John2k | 06:07

  3. Re: "Bereitschaft, die Netze freiwillig zu...

    Ovaron | 06:01

  4. Re: Confluence ist ohnehin so ein komisches Produkt

    Apfelbrot | 05:21

  5. Re: Ein Gesetz muss her...

    hyperlord | 05:14


  1. 19:00

  2. 18:44

  3. 18:14

  4. 17:47

  5. 16:19

  6. 16:02

  7. 15:40

  8. 14:51


  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