Servo mit einer Software steuern
Hier ein kleines Beispiel wie man einen Servo aus dem Modellbau über einen Micro Controller seriell steuert. Die Software verbindet sich via serielle Schnittstelle mit dem Controller und schickt ASCII Zeichen als Befehle die man beim Empfänger (Contoller) vorher mit Aufgaben belegt hat (programmiert). Man sendet z.B. „off4“ dann wird der Pin 4 am Controller auf LOW geschaltet. Dort kann man dann ein Relais anschließen.
Hier der Code für den Arduino und die Software ab WIN7 zum herrunterladen
#include <Servo.h> Servo servo1; int MAX_CMD_LENGTH = 10; char cmd[10]; int cmdIndex; char incomingByte; int Winkel1 = 0; void setup(){ servo1.attach(8); //Servo an der Steuerleitung (gelb) mit Pin 8 https://youtu.be/l_gm-BXYbDU Serial.begin(9600); cmdIndex = 0; servo1.write(Winkel1); } void loop(){ if (incomingByte=Serial.available()>0) { char byteIn = Serial.read(); cmd[cmdIndex] = byteIn; if(byteIn=='\n'){ //command finished cmd[cmdIndex] = '\0'; //Serial.println(cmd); cmdIndex = 0; if(strcmp(cmd, "off4") == 0){ digitalWrite(4,HIGH); Serial.println("Empfangen: off4"); }else if (strcmp(cmd, "on4") == 0) { digitalWrite(4,LOW); Serial.println("Empfangen: on4"); }else{ //Serial.println(Winkel1); Winkel1 = atoi(cmd); servo1.write(Winkel1); //ansteuern mit dem Winkel x° as int } }else{ if(cmdIndex++ >= MAX_CMD_LENGTH){ cmdIndex = 0; } } } }
Hier noch ein Video mit zwei Servos und einem PAN TILT Aufbau.