Der Fernsteuer Empfänger gibt die Servo Impulse raus. Diese Pulslänge möchte ich mit dem Arduino ermitteln und im Terminal ausgeben.
Dazu wird ein Servokanal an den Arduino angeschlossen.
+ an +5V
– an GND
Signal an D2
Hier das Programm mit serieller Ausgabe
// Servo Pulslänge vom Empfänger in den Arduino einlesen // // Matthias Busse 20.07.2015 Version 3.0 int empfaengerPin=2; // Empfänger Signalleitung int pulslaenge; // Pulslänge in Mikrosekunden void setup() { pinMode(empfaengerPin, INPUT); Serial.begin(38400); } void loop() { pulslaenge = pulseIn(empfaengerPin, HIGH); Serial.println(pulslaenge); delay(100); }
Bei mir werden Impulslängen von 998 bis 1983 ausgegeben und ca. 1490 in Mittelstellung, das passt gut.
Hier wird die pulseIn() Funktion beschrieben.
Software: Arduino 1.6.1
Hardware: Arduino Nano, Fernsteuerung TGY-i6 mit Empfänger TGY-iA6
von Matthias Busse