Paso 3: Subir el sketch
/ * Conexión DTR es en lado izquierdo de aspecto posterior. 3.3 V pin es libre (no conectado)
Habilitar 1 A0 y habilitar 2 A1 en
Motor A, motor trasero (patillas 2 y 4) motor B motor delantero (pin 6 y pin 8)
*/
const int pinMA1 = 2;
const int pinMA2 = 4;
const int pinMB1 = 6;
const int pinMB2 = 8;
const int Enable1 = A0;
const int Enable2 = A1;
int Byteout = 0;
int espacio = 32;
flotador val = 255;
void setup() {}
Serial.Begin(9600);
pinMode(pinMA1,OUTPUT);
pinMode(pinMA2,OUTPUT);
pinMode(pinMB1,OUTPUT);
pinMode(pinMB2,OUTPUT);
pinMode(Enable1,OUTPUT);
pinMode(Enable2,OUTPUT);
}
void loop() {}
if(serial.Available() > = 0) {}
char Byteout=Serial.read();
Serial.Write(Space);
Serial.Print("Enable1=");
Serial.Print(Enable1);
digitalWrite(Enable1,LOW);
Serial.Write(Space);
Serial.Print("Enable2=");
Serial.Print(Enable2);
digitalWrite(Enable2,LOW);
if(Byteout=='w') {//Move adelante
Serial.Print ("A delante");
Serial.Write(Space);
digitalWrite (pinMA1, HIGH);
digitalWrite (pinMA2, bajo);
char Byteout=Serial.read();
analogWrite (Enable1, val);
}
if(Byteout=='q') {//Turn izquierda y mover hacia adelante
Serial.Print ("izquierda & & adelante");
Serial.Write(Space);
digitalWrite (pinMA1, HIGH);
digitalWrite (pinMA2, bajo);
digitalWrite (pinMB1, bajo);
digitalWrite (pinMB2, HIGH);
char Byteout=Serial.read();
analogWrite (Enable1, val);
analogWrite (Enable2, val);
}
if(Byteout=='e') {//Turn derecho y mover hacia adelante
Serial.Print ("derecho & & adelante");
Serial.Write(Space);
digitalWrite (pinMA1, HIGH);
digitalWrite (pinMA2, bajo);
digitalWrite (pinMB1, HIGH);
digitalWrite (pinMB2, bajo);
char Byteout=Serial.read();
analogWrite (Enable1, val);
analogWrite (Enable2, val);
}
if(Byteout=='s') {//Move hacia atrás
Serial.Print ("posterior A");
Serial.Write(Space);
digitalWrite (pinMA1, bajo);
digitalWrite (pinMA2, HIGH);
char Byteout=Serial.read();
analogWrite (Enable1, val);
}
if(Byteout=='a') {//Move hacia atrás
Serial.Print ("posterior A");
Serial.Write(Space);
digitalWrite (pinMA1, bajo);
digitalWrite (pinMA2, HIGH);
digitalWrite (pinMB1, HIGH);
digitalWrite (pinMB2, bajo);
char Byteout=Serial.read();
analogWrite (Enable1, val);
analogWrite (Enable2, val);
}
if(Byteout=='d') {//Move hacia atrás
Serial.Print ("posterior A");
Serial.Write(Space);
digitalWrite (pinMA1, bajo);
digitalWrite (pinMA2, HIGH);
digitalWrite (pinMB1, bajo);
digitalWrite (pinMB2, HIGH);
char Byteout=Serial.read();
analogWrite (Enable1, val);
analogWrite (Enable2, val);
}
if(Byteout=='x') {//Turn derecho
Serial.Print ("B hacia delante");
Serial.Write(Space);
digitalWrite (pinMB1, HIGH);
digitalWrite (pinMB2, bajo);
char Byteout=Serial.read();
analogWrite (Enable2, val);
}
if(Byteout=='z') {//Turn izquierda
Serial.Print "(B al revés del);
Serial.Write(Space);
digitalWrite (pinMB1, bajo);
digitalWrite (pinMB2, HIGH);
char Byteout=Serial.read();
analogWrite (Enable2, val);
}
if(Byteout=='h') {//Breaking todos los motores de alta
Serial.Print ("alta A & & B");
Serial.Write(Space);
digitalWrite (pinMA1, HIGH);
digitalWrite (pinMA2, HIGH);
digitalWrite (pinMB1, HIGH);
digitalWrite (pinMB2, HIGH);
char Byteout=Serial.read();
analogWrite (Enable1, val);
analogWrite (Enable2, val);
}
if(Byteout=='l') {//Breaking todos los motores de baja
Serial.Print ("baja A & & B");
Serial.Write(Space);
digitalWrite (pinMA1, bajo);
digitalWrite (pinMA2, bajo);
digitalWrite (pinMB1, bajo);
digitalWrite (pinMB2, bajo);
char Byteout=Serial.read();
analogWrite (Enable1, val);
analogWrite (Enable2, val);
}
}
Delay(500);
}