FORGET EVERYTHING!!
Ok I have 2 motors DC that´ll work at 9V (inputs) controlled from the pins of the Arduino and the integrated circuit LM293D (throughole version).
The Arduino will run this code:
//Motor1
int IN1 = 9;
int IN2 = 8;
int ENA1 = 10;
// Motor 2
int IN4 = 6;
int IN3 = 5;
int ENA2 = 3;
int speedmotor = 127;
//1=Hacia delante, 2=Hacia atrás, 3=Giro izquierdas, 4=Giro derechas
int movimiento = 0;
int movAnterior = -1;
bool estado = true;
//Bluetooth(incluir libreria y softwareserial)
void setup()
{
Serial.begin(9600);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(ENA1, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(ENA2, OUTPUT);
//Se imprime un texto cada vez que se conecte
Serial.println("CONTROL INALAMBRICO CONECTADO ");
}
void loop()
{
if(Serial.available()){ //Digo al Arduino que lea si el valor almacenado es mayor a 0
movimiento = Serial.parseInt(); //devuelve un numero entero y lo soobreescribe en la variable de movimiento
}
if(movimiento != movAnterior){
movAnterior = movimiento;
if(movimiento == 0){
Serial.println("Coche Detenido");
digitalWrite(IN1, 0);
digitalWrite(IN2, 0);
digitalWrite(IN3, 0);
digitalWrite(IN4, 0);
analogWrite(ENA1, 0);
analogWrite(ENA2, 0);
estado = true;
}
if(movimiento == 1){
Serial.println("Ir hacia adelante: "+String(speedmotor));
digitalWrite(IN1, 1);
digitalWrite(IN2, 0);
digitalWrite(IN3, 0);
digitalWrite(IN4, 1);
analogWrite(ENA1, speedmotor);
analogWrite(ENA2, speedmotor);
estado = true;
}
else if(movimiento == 2){
Serial.println("Ir hacia atras: "+String(speedmotor));
digitalWrite(IN1, 0);
digitalWrite(IN2, 1);
digitalWrite(IN3, 1);
digitalWrite(IN4, 0);
analogWrite(ENA1, speedmotor);
analogWrite(ENA2, speedmotor);
estado = true;
}
else if(movimiento == 3){
Serial.println("Girar hacia la derecha: "+String(speedmotor));
digitalWrite(IN1, 1);
digitalWrite(IN2, 0);
digitalWrite(IN3, 1);
digitalWrite(IN4, 0);
analogWrite(ENA1, speedmotor);
analogWrite(ENA2, 0);
estado = true;
}
else if(movimiento == 4){
Serial.println("Girar hacia la izquierda: "+String(speedmotor));
digitalWrite(IN1, 0);
digitalWrite(IN2, 1);
digitalWrite(IN3, 0);
digitalWrite(IN4, 1);
analogWrite(ENA1, 0);
analogWrite(ENA2, speedmotor);
estado = true;
}
Serial.println("movimiento: "+String(movimiento));
if(movimiento == 5 && estado == true){
Serial.println("speedmotor antes de cambiar: "+String(speedmotor));
speedmotor = speedmotor - 50;
speedmotor = constrain(speedmotor, 10, 255);
Serial.println("speedmotor despues de cambiar: "+String(speedmotor));
analogWrite(ENA1, speedmotor);
analogWrite(ENA2, speedmotor);
delay(500);
estado = false;
}
else if(movimiento == 6 && estado == true){
Serial.println("speedmotor antes de cambiar: "+String(speedmotor));
speedmotor = speedmotor + 50;
speedmotor = constrain(speedmotor, 10, 255);
Serial.println("speedmotor despues de cambiar: "+String(speedmotor));
analogWrite(ENA2, speedmotor);
analogWrite(ENA1, speedmotor);
delay(500);
estado = false;
}
delay(1000);
}
}
It is design to run bassed on a 9V 2100mAh battery.
There will also be a bluetooth model (HC-04) that will be connected to a mobile phone that through an APP will send the respective number (1 or 2 or 3... depending on what the user want to do at that moment) put all the respective resistors and capacitors that you consider necessary but everything throughole please