Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
faecher:informatik:schrecksekunde:servo [2018/03/12 10:56] m.lange [Was kommt jetzt?] |
faecher:informatik:schrecksekunde:servo [2018/04/17 20:53] (aktuell) m.lange alte Version wiederhergestellt (2018/03/16 21:11) |
||
|---|---|---|---|
| Zeile 21: | Zeile 21: | ||
| <note important> Achte darauf, dass das rote und braune Kabel wirklich korrekt angeschlossen sind. Sonst könnten der //Arduino// oder Servomotor irreparablen Schaden nehmen. </note> | <note important> Achte darauf, dass das rote und braune Kabel wirklich korrekt angeschlossen sind. Sonst könnten der //Arduino// oder Servomotor irreparablen Schaden nehmen. </note> | ||
| - | ===== Ziel erreicht ===== | ||
| - | ===== Weitere Ideen ===== | + | Fehlt noch, wie man dem Arduino mitteilt, wohin er sich bewegen soll. Dazu kannst du das folgende Programm verwenden: |
| + | <code cpp> | ||
| + | #include <Servo.h> | ||
| + | Servo myservo; | ||
| + | |||
| + | void setup() { | ||
| + | myservo.attach(2); | ||
| + | } | ||
| + | |||
| + | |||
| + | void loop() { | ||
| + | myservo.write(180); | ||
| + | delay(2000); | ||
| + | myservo.write(0); | ||
| + | delay(2000); | ||
| + | } | ||
| + | </code> | ||
| + | |||
| + | Über die gelbe Datenleitung teilt der //Arduino// dem Servomotor mit, wie weit er sich drehen soll. Der Servomotor schafft bauartbedingt nur eine halbe Umdrehung, was dem Winkel 180 ° entspricht. Zuerst fährt der Servomotor aber in seine Ausgangslage, die 0 ° entspricht. Eine ganze Umdrehung wären 360 °, die ist aber - wie erwähnt - nicht machbar für diese Art von Motor. | ||
| + | |||
| + | Schaue dir den **loop**-Bereich an: | ||
| + | <code cpp> | ||
| + | void loop() { | ||
| + | myservo.write(180); | ||
| + | delay(2000); | ||
| + | myservo.write(0); | ||
| + | delay(2000); | ||
| + | } | ||
| + | </code> | ||
| + | |||
| + | Dort siehst du, dass dem Servomotor mitgeteilt wird, er solle in die Ausgangslage fahren. Damit er das kann, muss eine kurze Zeit gewartet werde. Die hier angegebenen 2 Sekunden sind dafür viel mehr als ausreichend.\\ | ||
| + | Dananch wird der Servomotor angewiesen, in die anderen Endposition zu fahren. Danach wird ebenfalls eine kurze Zeit gewartet. | ||
| + | ===== Ziel erreicht ===== | ||
| + | **Herzlichen Glückwunsch! Du weißt nun, wie man mit dem //Arduino// einen Servomotor ansteuert.** | ||
| + | ===== Weitere Ideen ===== | ||
| + | Wenn du noch Zeit hast, knnst du folgendes ausprobieren: | ||
| + | * Lasse den Servomotor nicht den ganzen Weg fahren, sondern nur einen Teil. | ||
| + | * Lasse den Servomotor sich im [[faecher:informatik:schrecksekunde:sekundentakt|Sekundentakt]] einen Teil vorwärts bewegen. | ||
| + | * Simuliere einen Scheibenwischer (im Auto). Baue dazu einen Taster mit ein. "Wische", wenn der Taster das Wischen eingeschaltet hat. Dazu kannst du das Programm [[faecher:informatik:schrecksekunde:taster#vollstaendiges_programm_mit_taster|mit der Leuchtdiode und dem Taster]] erweitern. Statt der Leuchtdiode verwendest du einfach den Servomotor. Alternativ findest du das Scheibenwischerprogramm auch [[faecher:informatik:schrecksekunde:scheibenwischer|hier]]. | ||
| ====== Wie geht's weiter? ====== | ====== Wie geht's weiter? ====== | ||
| + | Weiter geht's mit dem [[faecher:informatik:schrecksekunde:zusammenbau|Zusammenbau des Messgerätes]]. | ||