Paso 3: Codigo Arduino
const int enPin = 3; inestable del Puente H
const int in1Pin = 4; 1.-entradas del Puente H
const int in2Pin = 5;//2.-entradas del Puente H
const int enPin2 = 6; inestable del Puente H
const int in1Pin2 = 7; 1.-entradas del Puente H
const int in2Pin2 = 9;//2.-entradas del Puente H
char incomingByte = 1; para los datos entrantes en serie
void setup() //modo serie con el arduino
{Serial.begin(115200);
pinMode (in1Pin, salida); salidas de declara
pinMode (in2Pin, salida);
pinMode (in1Pin2, salida);
pinMode (in2Pin2, salida);
}
void loop() //void main() {}
Si (Serial.available()) {}
leer el byte entrante:
incomingByte = Serial.read(); }
Si (incomingByte > = '0' & & incomingByte < = '9') / /
{
int velocidad = mapa (incomingByte, '0', '9', 0, 254);
analogWrite (enPin, velocidad); / / escribe el valor que
analogWrite (enPin2, velocidad);
}
{Switch(incomingByte)}
de caso ':
digitalWrite (in1Pin, LOW); //bajo
digitalWrite (in2Pin, LOW); //bajo
digitalWrite (in1Pin2, LOW); //bajo
digitalWrite (in2Pin2, LOW); //bajo
Serial.println("Stop\n");
incomingByte ='* ';
rotura;
caso sería ':
digitalWrite (in1Pin, HIGH); //alto
digitalWrite (in2Pin, LOW); //bajo
digitalWrite (in1Pin2, HIGH); //alto
digitalWrite (in2Pin2, LOW); //bajo
Serial.println ("gire de\n");
incomingByte ='* ';
rotura;
caso 'i':
digitalWrite (in1Pin, LOW); //bajo
digitalWrite (in2Pin, HIGH); //alto
digitalWrite (in1Pin2, LOW); //bajo
digitalWrite (in2Pin2, HIGH); //alto
Serial.println ("gira Left\n");
incomingByte ='* ';
rotura;
caso 'a':
digitalWrite (in1Pin, HIGH); //alto
digitalWrite (in2Pin, LOW); //bajo
digitalWrite (in1Pin2, LOW); //alto
digitalWrite (in2Pin2, HIGH); //bajo
Serial.println("Forward\n");
incomingByte ='* ';
rotura;
caso 'r':
digitalWrite (in1Pin, LOW); //alto
digitalWrite (in2Pin, HIGH); //bajo
digitalWrite (in1Pin2, HIGH); //alto
digitalWrite (in2Pin2, LOW); //bajo
Serial.println("Backward\n");
incomingByte ='* ';
rotura;
caso 'v':
Serial.Print ("Guem07 07/07/1992");
Serial.println();
Serial.Print ("Mauricio Guillen, Inc.");
incomingByte ='* ';
rotura;
Delay (500); }
}