Paso 6: Programación de Arduino
A continuación es el código que es auto explicativo!!!!
/ * Este es el código para controlar cualquier coche R/C con un transmisor de aeroplano, escrito por Vishnu Chaitanya Karpuram. ¡ Disfrute! */
int motor1Left = 5; / / define el pin 5 conectado al motor
int motor1Right = 6; / / define el pin 6 como conectado al motor
int motor2Left = 7; / / define el pin 7 como conectado al motor
int motor2Right = 8; / / define el pin 8 como conectado al motor
CANAL1 int = 9; define los canales conectados
CANAL2 int = 10; / / a los pines 9 y 10 de arduino respectivamente
int CANAL1; Utilizado más adelante para
int CANAL2; almacenar valores
void setup)
{
pinMode (motor1Left, salida); / / inicializa los pernos motor
pinMode (motor1Right, salida);
pinMode (motor2Left, salida);
pinMode (motor2Right, salida); / / como salidas
pinMode (CANAL1, entrada); / / inicializa los canales
pinMode (CANAL2, entrada); / / como entradas
Serial.Begin (9600); Establece la velocidad en baudios de 9600 bps
}
void loop)
{
CANAL1 = (pulseIn (CANAL1, HIGH)); Comprueba el valor de CANAL1
Serial.println (CANAL1); Imprime el valor de los canales en el monitor serial
Si (CANAL1 > 1300 & & CANAL1 < 1500) / * si se cumplen estas condiciones, haga lo siguiente. Estos son los valores que recibí de mi transmisor, que se puede personalizar según los valores del emisor * /
{
digitalWrite (motor1Left, bajo); Establece tanto la
digitalWrite (motor1Right, LOW); / / motores de baja
}
Si (CANAL1 < 1300) / / comprueba si CANAL1 es menor de 1300
{
digitalWrite (motor1Left, HIGH); / / da vuelta a la izquierda
digitalWrite (motor1Right, bajo); motor hacia delante
}
Si (CANAL1 > 1500) / / comprueba si CANAL1 es mayor que 1500
{
digitalWrite (motor1Left, LOW); / / enciende el derecho
digitalWrite (motor1Right, HIGH); / / motor hacia adelante
}
CANAL2 = (pulseIn (CANAL2, alto)); Comprueba el valor de CANAL1
Serial.println (CANAL2); Impresiones de los canales de valoran en el monitor serial
Si (CANAL2 > 1300 & & CANAL1 < 1500) / / si se cumplen estas condiciones, haga lo siguiente
{
digitalWrite (motor2Left, LOW); / / juegos de ambos el
digitalWrite (motor2Right, LOW); / / motores de baja
}
Si (CANAL2 < 1300) / / comprueba si el CANAL2 es menor de 1300
{
digitalWrite (motor2Left, LOW); / / da vuelta a la izquierda
digitalWrite (motor2Right, HIGH); / / motor hacia atrás
}
Si (CANAL2 > 1500) / / comprueba si el CANAL2 es mayor que 1500
{
digitalWrite (motor2Left, HIGH); / / enciende el derecho
digitalWrite (motor2Right, LOW); / / motor hacia atrás
}
/ * Nota - comprobar los valores de los canales que se obtienen en el monitor serial
y ajuste los valores en el if declaraciones por consiguiente. En mi caso cuando el palo
estaba centrado, mis lecturas eran 1400 a 1470. Cuando el palo se planteó, las lecturas fueron
por encima de 1470 y cuando se bajó, las lecturas estuvieron por debajo de 1300.
*/