Don't ad-block us - support your favorite websites. We have safe, unobstrusive, robotics related ads that you actually want to see - see here for more.
0 Members and 1 Guest are viewing this topic.
//Standard PWM DC controlint E1 = 5; //M1 Speed Controlint E2 = 6; //M2 Speed Controlint M1 = 4; //M1 Direction Controlint M2 = 7; //M1 Direction Control///For previous Romeo, please use these pins.//int E1 = 6; //M1 Speed Control//int E2 = 9; //M2 Speed Control//int M1 = 7; //M1 Direction Control//int M2 = 8; //M1 Direction Controlvoid stop(void) //Stop { digitalWrite(E1,LOW); digitalWrite(E2,LOW); } void advance(char a,char b) //Move forward { analogWrite (E1,a); //PWM Speed Control digitalWrite(M1,HIGH); analogWrite (E2,b); digitalWrite(M2,HIGH); } void back_off (char a,char b) //Move backward { analogWrite (E1,a); digitalWrite(M1,LOW); analogWrite (E2,b); digitalWrite(M2,LOW);}void turn_L (char a,char b) //Turn Left { analogWrite (E1,a); digitalWrite(M1,LOW); analogWrite (E2,b); digitalWrite(M2,HIGH); }void turn_R (char a,char b) //Turn Right { analogWrite (E1,a); digitalWrite(M1,HIGH); analogWrite (E2,b); digitalWrite(M2,LOW); }void setup(void) { int i; for(i=6;i<=9;i++) pinMode(i, OUTPUT); Serial.begin(19200); //Set Baud Rate} void loop(void) { char val = Serial.read(); if(val!=-1) { switch(val) { case 'w'://Move Forward advance (100,100); //PWM Speed Control break; case 's'://Move Backward back_off (100,100); break; case 'a'://Turn Left turn_L (100,100); break; case 'd'://Turn Right turn_R (100,100); break; } delay(40); } else stop(); }
void loop(void) { advance (100,100); //PWM Speed Control delay(40);}