int rc_pulse1=1; //reading signal from FS
int rc_pulse2=2;
int mpwm1=3; //PWM channels for motors
int mpwm2=4;
int mpwm3=5;
int mpwm4=6;
int dir1=7;
int dir2=8;
int dir3=9;
int dir4=10;
void setup() {
pinMode(1,INPUT);
pinMode(2,INPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
}
void loop() {
mpwm1=0;
mpwm2=0;
mpwm3=0;
mpwm4=0;
rc_pulse1=pulseIn(1,HIGH,25000);
rc_pulse2=pulseIn(2,HIGH,25000);
if(rc_pulse1>1024) {
mpwm1=map(rc_pulse1,1024,2047,0,255);
mpwm2=map(rc_pulse1,1024,2047,0,255); //left side forward
analogWrite(3,mpwm1);
analogWrite(4,mpwm2);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
}
if(rc_pulse1<1023) {
mpwm1=map(rc_pulse1,1023,0,0,255);
mpwm2=map(rc_pulse1,1023,0,0,255); //left side backward
analogWrite(3,mpwm1);
analogWrite(4,mpwm2);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
}
if(rc_pulse2>1024) {
mpwm3=map(rc_pulse2,1024,2047,0,255);
mpwm4=map(rc_pulse2,1024,2047,0,255); //right side forward
analogWrite(5,mpwm3);
analogWrite(6,mpwm4);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
}
if(rc_pulse2<1023) {
mpwm3=map(rc_pulse2,1023,0,0,255);
mpwm4=map(rc_pulse2,1023,0,0,255); //right side backward
analogWrite(5,mpwm3);
analogWrite(6,mpwm4);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
}
}