#define PWM1_PIN 6 #define PWM2_PIN 5 #define WAY1_PIN 7 #define WAY2_PIN 4 byte val; byte LP,RP; boolean LT,RT; void setup() { Serial.begin(38400); pinMode(PWM1_PIN,OUTPUT); pinMode(PWM2_PIN,OUTPUT); pinMode(WAY1_PIN,OUTPUT); pinMode(WAY2_PIN,OUTPUT); } void MotorR(int pwm, boolean forward=true) { analogWrite(PWM1_PIN,pwm); digitalWrite(WAY1_PIN,forward?LOW:HIGH); } void MotorL(int pwm, boolean forward=true) { analogWrite(PWM2_PIN,pwm); digitalWrite(WAY2_PIN,forward?LOW:HIGH); } void loop() { if(Serial.available()<3)return; Serial.flush(); val=Serial.read(); LT=val&B01; RT=val&B10; LP=Serial.read(); RP=Serial.read(); MotorL(LP,LT); MotorR(RP,RT); }