Paso 6: paso 4 - Video y pruebas
Esta es mi primera prueba del "doble H-puente" casero, con el IC-L298N en un tablero de arranque.
El carro fue controlado por bluetooth (mediante la aplicación de "Control de azul" de la Android market).
Se ejecutará cada vez que golpeó en los controles (hacia adelante o hacia atrás) el motor de la C.C. para 1s, de esta manera, si golpea dos veces los motores de 2s y así sucesivamente.
Para la izquierda y derecha, cada vez que golpee el control, los motores se ejecutan por 500ms. Esta temporización puede modificarse en el programa a continuación.
Ver el video entero para obtener más información; Ahh lo siento por mi inglés pero estoy estudiando...
/* definição de variáveis, constantes e valores inA1 int = 10; Pins para el PONTE-H Inicialización de Arduino principal lazo programa motores de corrientes
#####################################################################################
# De archivos: BlueTooth_Bot_R1.pde
# Micro controlador: Arduino UNO ou Teensy++ 2.0
# Idioma: Cableado / C /Processing /Fritzing / IDE de Arduino
#
# Objetivos: Un carro controlado de bluetooth
#
# Funcionamento: Sólo una prueba sencilla de la página L298N breakout Board
#
#
# Autor: Marcelo Moraes
# Fecha: 13/02/13
# Lugar: Sorocaba - SP - Brasil
#
#####################################################################################Este proyecto contiene código para el dominio público.
Se permite la modificación sin previo aviso.
*/
inA2 int = 11;
int inB1 = 5;
inB2 int = 6;
void setup() {}
Inicialización de la comunicación serial
Serial.Begin(9600);
set_motors(0,0);
}
void loop() {}
Si (Serial.available() > 0) {/ / si se dispone de datos en serie
char a varC = Serial.read(); lectura de los datos de puerto serie
Si (varC == 'U') {/ / avanzar
set_motors(80,75);
Delay(1000);
set_motors(0,0);
}
Si (varC == había ') {/ / moverse hacia atrás
set_motors(-80,-75);
Delay(1000);
set_motors(0,0);
}
Si (varC == 'C') {/ / parado
set_motors(0,0);
}
Si (varC == 'R') {/ / girar a la derecha
set_motors(80,-80);
Delay(500);
set_motors(0,0);
}
Si (varC == 'L') {/ / girar a la izquierda
set_motors(-80,80);
Delay(500);
set_motors(0,0);
}
}
}
FIM DA COMPILAÇÃO
{} void set_motors (int left_speed, int right_speed)
Si (right_speed > = 0 & & left_speed > = 0) {}
analogWrite (inA1, 0);
analogWrite (inA2, right_speed);
analogWrite (inB1, 0);
analogWrite (inB2, left_speed);
}
Si (right_speed > = 0 & & left_speed < 0) {}
left_speed = - left_speed;
analogWrite (inA1, 0);
analogWrite (inA2, right_speed);
analogWrite (inB1, left_speed);
analogWrite (inB2, 0);
}
Si (right_speed < 0 & & left_speed > = 0) {}
right_speed = - right_speed;
analogWrite (inA1, right_speed);
analogWrite (inA2, 0);
analogWrite (inB1, 0);
analogWrite (inB2, left_speed);
}
Si (right_speed < 0 & & left_speed < 0) {}
right_speed = - right_speed;
left_speed = - left_speed;
analogWrite (inA1, right_speed);
analogWrite (inA2, 0);
analogWrite (inB1, left_speed);
analogWrite (inB2, 0);
}
}