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:55] 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 14: | Zeile 14: | ||
| Wie du siehst, hat so ein Servomotor drei Kabel: ein gelbes, ein rotes und ein braunes.\\ | Wie du siehst, hat so ein Servomotor drei Kabel: ein gelbes, ein rotes und ein braunes.\\ | ||
| - | Zwei der drei Kabel sind für die Stromversorgung da: das rote und das braune. Das gelbe Kabel ist für die Bewegung des Servomotors vorgesehen. | + | Zwei der drei Kabel sind für die Stromversorgung da: das rote und das braune (in der Zeichnung ist das **braune** Kabel **schwarz**.). Das gelbe Kabel ist für die Bewegung des Servomotors vorgesehen. |
| Der Servomotor kommt zwar mit 5 V aus, benötigt aber relativ viel Strom. Daher schließen wir das **rote** Kabel **nicht** am 5 V-Kontakt an, sondern an //VIN//. Dieser Kontakt ist unten ganz rechts.\\ Das braune Kabel kommt entweder direkt an den Kontakt //GND// oder an eine der beiden waagerechten Leiste, die mit //GND// verbunden sind.\\ | Der Servomotor kommt zwar mit 5 V aus, benötigt aber relativ viel Strom. Daher schließen wir das **rote** Kabel **nicht** am 5 V-Kontakt an, sondern an //VIN//. Dieser Kontakt ist unten ganz rechts.\\ Das braune Kabel kommt entweder direkt an den Kontakt //GND// oder an eine der beiden waagerechten Leiste, die mit //GND// verbunden sind.\\ | ||
| 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]]. | ||