2016-09-17 1 views
0

Ich benutze einen Arduino Uno mit zwei kontinuierlichen Rotation Servos. Ich habe die Servo.h-Bibliothek und die IRremote.h in das Programm aufgenommen. Das Problem, das ich erfahre ist, dass, wenn ich die IRremote-Bibliothek installiert habe und sie im Code verwende, es bewirkt, dass die Servos sehr langsam in einer Richtung "ticken". Nach einigen Tests habe ich herausgefunden, dass der "Tick", der durch die IR Remote Bibliothek verursacht wird, weniger als ein Inkrement ist, wenn ich die Leistung im Code ändere (Das Ticken ist langsamer, als wenn das Servo 91 war, 90 stationär)). Nach einigen weiteren Tests habe ich herausgefunden, dass das Problem nur auftritt, wenn diese irrecv.enableIRIn(); Befehl wird in die Setup-Funktion eingefügt. Das ist der Befehl, der den IR-Empfänger im Code startet. Weiß jemand, warum dieses Problem auftritt oder wie ich es möglicherweise beheben könnte?Arduino IRremote-Bibliothek verursacht Servos zu "ticken"

Antwort

0

Ich vermute, dass die Servobibliothek und die IRemote-Bibliothek beide den gleichen Timer (oder sogar Timer) verwenden. Das wird auf lange Sicht nicht funktionieren. Konsultieren Sie die Dokumentation jeder Bibliothek, um herauszufinden, ob sie für die Verwendung verschiedener Timer konfiguriert werden können. Es könnte jedoch sein, dass dein gewähltes Arduino nicht einmal genug Timer hat.

+0

Ich schaute bereits in und die beiden Bibliotheken verwenden separate Timer. Die Servobibliothek ist auf Timer1 und die IRremote-Bibliothek auf Timer2. – rbbrown1