Thank you for watching this topic.
I have a question about servomotor.
My double servomotor is work for generally using.
Example code
-------------------------------------------------------------
void setup() {
// put your setup code here, to run once:
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
Serial.begin(9600);
}
void loop() {
for (int i = 0;i <=20;i++)
{
digitalWrite(12,1);
delayMicroseconds(1300);
digitalWrite(12,0);
delay(20);
digitalWrite(13,1);
delayMicroseconds(1700);
digitalWrite(13,0);
delay(20);
}
}
-------------------------------------------------------------
By using this code, my Arduino car can go ahead.
But if I use it with infrared remotely control, it will failed.
Example code
-------------------------------------------------------------
#include <IRremote.h>
const int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;
long remoteCode2 = 0x94DF0175;
long remoteCode8 = 0xAD832A15;
long remoteCode5 = 0x280C09B5;
void setup() {
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&results))
{
//Serial.println(results.value,HEX);
if(results.value == remoteCode2)
{
forward();
Serial.print("forward");
Serial.println();
}
else if (results.value == remoteCode8)
{
backward();
Serial.print("backward");
Serial.println();
}
else if (results.value == remoteCode5)
{
bestop();
Serial.print("stop");
Serial.println();
}
results.value = 0;
irrecv.resume();
}
}
int backward()
{
for (int i = 0;i <=20;i++)
{
digitalWrite(12,1);
delayMicroseconds(1700);
digitalWrite(12,0);
delay(20);
digitalWrite(13,1);
delayMicroseconds(1300);
digitalWrite(13,0);
delay(20);
}
}
int forward()
{
for (int i = 0;i <=20;i++)
{
digitalWrite(12,1);
delayMicroseconds(1300);
digitalWrite(12,0);
delay(20);
digitalWrite(13,1);
delayMicroseconds(1700);
digitalWrite(13,0);
delay(20);
}
}
int bestop()
{
for (int i = 0;i <=20;i++)
{
digitalWrite(12,1);
delayMicroseconds(1500);
digitalWrite(12,0);
delay(20);
digitalWrite(13,1);
delayMicroseconds(1500);
digitalWrite(13,0);
delay(20);
}
}
-------------------------------------------------------------
Both of motors counterclockwise rotate although I set different PWM for them.
What's my problem to control servomotors?
BTW, I have been used <Servo.h>, but my motors never stop to rotate.
(I didn't program any command, just attach them)
Thanks again!