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. Bosch Gruppe, Berlin
  2. OKI EUROPE LIMITED, Branch Office Düsseldorf, Düsseldorf

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
Spiele-Angebote
  1. 2,99€
  2. 36,99€
  3. (-60%) 7,99€
  4. 32,99€ (erscheint am 15.02.)

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
       


Sony ZG9 angesehen (CES 2019)

Sony hat auf der CES 2019 mit dem ZG9 seinen ersten 8K-Fernseher vorgestellt.

Sony ZG9 angesehen (CES 2019) Video aufrufen
IT-Jobs: Ein Jahr als Freelancer
IT-Jobs
Ein Jahr als Freelancer

Sicher träumen nicht wenige festangestellte Entwickler, Programmierer und andere ITler davon, sich selbstständig zu machen. Unser Autor hat vor einem Jahr den Schritt ins Vollzeit-Freelancertum gewagt und bilanziert: Vieles an der Selbstständigkeit ist gut, aber nicht alles. Und: Die Freiheit des Freelancers ist relativ.
Ein Erfahrungsbericht von Marvin Engel

  1. Job-Porträt Die Cobol Cowboys auf wichtiger Mission
  2. IT Frauen, die programmieren und Bier trinken
  3. Software-Entwickler CDU will Online-Weiterbildung à la Netflix

Datenschutz: Nie da gewesene Kontrollmacht für staatliche Stellen
Datenschutz
"Nie da gewesene Kontrollmacht für staatliche Stellen"

Zur G20-Fahndung nutzt Hamburgs Polizei eine Software, die Gesichter von Hunderttausenden speichert. Schluss damit, sagt der Datenschutzbeauftragte - und wird ignoriert.
Ein Interview von Oliver Hollenstein

  1. Brexit-Abstimmung IT-Wirtschaft warnt vor Datenchaos in Europa
  2. Österreich Post handelt mit politischen Einstellungen
  3. Digitalisierung Bär stößt Debatte um Datenschutz im Gesundheitswesen an

Nubia Red Magic Mars im Hands On: Gaming-Smartphone mit Top-Ausstattung für 390 Euro
Nubia Red Magic Mars im Hands On
Gaming-Smartphone mit Top-Ausstattung für 390 Euro

CES 2019 Mit dem Red Magic Mars bringt Nubia ein interessantes und vor allem verhältnismäßig preiswertes Gaming-Smartphone nach Deutschland. Es hat einen Leistungsmodus und Schulter-Sensortasten, die beim Zocken helfen können.
Ein Hands on von Tobias Költzsch

  1. ATH-ANC900BT Audio Technica zeigt neuen ANC-Kopfhörer
  2. Smart Clock Lenovo setzt bei Echo-Spot-Variante auf Google Assistant
  3. Smart Tab Lenovo zeigt Mischung aus Android-Tablet und Echo Show

    •  /