Você está na página 1de 2

//Basic Arduino and Ardumoto example int pwm_a = 10; //PWM control for motor outputs 1 and int

pwm_b = 11; //PWM control for motor outputs 3 and int dir_a = 12; //direction control for motor outputs 12 int dir_b = 13; //direction control for motor outputs 13 int incomingByte = 0; // for incoming serial data int encoderCount=0; int encoderOld=0; int encoderState=0; int sensorState=0; const int encoderPin = 2; const int sensorPin = 3; void setup() { pinMode(pwm_a, pinMode(pwm_b, pinMode(dir_a, pinMode(dir_b, 2 is on digital pin 10 4 is on digital pin 11 1 and 2 is on digital pin 3 and 4 is on digital pin

OUTPUT); //Set control pins to be outputs OUTPUT); OUTPUT); OUTPUT);

analogWrite(pwm_a, 0); //set both motors to run at (100/255 = 39)% duty cycle (slow) analogWrite(pwm_b, 0);

Serial.begin(9600); Serial.print("Version 9/11/2010 C\n "); } void loop() {

if (Serial.available() > 0) { // read the incoming byte: incomingByte = Serial.read(); }

switch(incomingByte) { case 's': digitalWrite(dir_a, LOW); //Set motor direction, 1 low, 2 high analogWrite(pwm_a, 0); digitalWrite(dir_b, LOW); analogWrite(pwm_b, 0);

Serial.println("Stop\n"); break; case 'f': digitalWrite(dir_a, LOW); //Set motor direction, 1 low, 2 high analogWrite(pwm_a, 100); digitalWrite(dir_b, LOW); analogWrite(pwm_b, 100); Serial.println("Forward\n"); break; case 'b': digitalWrite(dir_a, HIGH); //Set motor direction, 1 low, 2 high analogWrite(pwm_a, 100); digitalWrite(dir_b, HIGH); analogWrite(pwm_b, 100); Serial.println("Backward\n"); break; case 'l': digitalWrite(dir_a, HIGH); //Set motor direction, 1 low, 2 high analogWrite(pwm_a, 100); digitalWrite(dir_b, LOW); analogWrite(pwm_b, 100); Serial.println("Rotate Left\n"); break; case 'r': digitalWrite(dir_a, LOW); //Set motor direction, 1 low, 2 high analogWrite(pwm_a, 100); digitalWrite(dir_b, HIGH); analogWrite(pwm_b, 100); Serial.println("Rotate Left\n"); break;

} // end loop

Você também pode gostar