Nuestro proyecto Drive consiste en un carrito a escala que se mueve controlado por un dispositivo móvil.
Software:
- Arduino Software
- Amarino
- Librería MeetAndroid para arduino
Hardware:
- Teléfono LG Optimus E510F con Android 2.3
- Carrito Magician chassis
- Batería de 9 Volts (Las 4 baterías AA no fueron suficientes)
- Arduino Uno
- Modulo Bluetooth para arduino
- Puente H (Chip SN754410NE)
- Cables Interconectores (macho-macho)
Pasos a Seguir
Primeramente armamos el carrito:
Después hicimos un circuito con el puente H para hacer que los motores se movieran. Para hacer esto debemos seguir los siguientes pasos:
Tenemos que colocar el puente H en nuestro protoboard de manera que se pueda ver la pequeña forma de U hacia arriba. Tenemos que identificar los pines de nuestro chip. El pin de lado izquierdo de la U sería el pin 1, debajo de ese sería el 2 y así sucesivamente. El de lado derecho de la Usería el pin 16.
Los pines 1, 9 y 15 van a la parte positiva del protoboard donde habrá 5V.
El pin 8 va a el pin VIN donde habrá 12 V y con este correrán los dos motores dc.
Los pines 4, 5, 12 y 13 van a la parte negativa del protoboard.
El motor izquierdo va en los pines 3 y 6.
El motor derecho va en los pines 11 y 14.
El pin 2 del puente H va a el pin digital 2 del Arduino.
El pin 7 del puente H va a el pin digital 3 del Arduino.
El pin 10 del puente H va al pin digital 8 del Arduino.
El pin 15 del puente H va al pin digital 7 del Arduino.
Los pines 4, 5, 12 y 13 van a la parte negativa del protoboard.
El motor izquierdo va en los pines 3 y 6.
El motor derecho va en los pines 11 y 14.
El pin 2 del puente H va a el pin digital 2 del Arduino.
El pin 7 del puente H va a el pin digital 3 del Arduino.
El pin 10 del puente H va al pin digital 8 del Arduino.
El pin 15 del puente H va al pin digital 7 del Arduino.
Ahora tenemos que conectar el módulo bluetooth a nuestro arduino para que se pueda comunicar con el dispositivo móvil.
El bluetooth se conecto de la siguente manera:
Nota: Si ya estamos utilizando la entrada de 5V podemos usar la de 3 que viene en nuestro arduino.
El carrito armado quedó de la siguiente manera:
Ahora tenemos que descargar el software Amarino para probar si la conexión fue realizada exitosamente
Aqui estan los pasos a seguir para realizar las pruebas
Ahora que ya establecimos comunicación entre el celular y el arduino, tenemos que programar el arduino para que capte dicha señal y podamos manejar el carrito a nuestro antojo
El código que utilizamos en nuestro arduino fue el siguiente:
#includeAhora nos conectamos a Amarino con el código ya programado y en Monitor podemos enviarle mensajes para que se mueva. En este caso, el carrito se moverá con los números 1, 2, 3 y 4.#define baudrate 115200 MeetAndroid phone; // Motores int motor_left[] = {2, 3}; //se definen los pines del motor izquierdo int motor_right[] = {7, 8};//se definen los pines del motor derecho int i; int ledPin = 13; // LED // ————————————————————————— Setup void setup() { // Configurar motores int i; for(i = 0; i < 2; i++){ pinMode(motor_left[i], OUTPUT); pinMode(motor_right[i], OUTPUT); pinMode(ledPin, OUTPUT); } Serial.begin(baudrate); // se define la tasa de baudios número de unidades de señal por segundo } void loop() { phone.receive(); while (Serial.available() < 1) {} char value = Serial.read(); //lee el valor if (value == '1'){ turn_left(); Serial.println("1"); } if (value == '2'){ turn_right(); Serial.println("2"); } if (value == '3'){ drive_backward(); Serial.println("3"); } if (value == '4'){ drive_forward(); Serial.println("4"); } if (value == '0'){ motor_stop(); Serial.println("0"); } } } // Funciones void motor_stop(){ digitalWrite(motor_left[0], LOW); digitalWrite(motor_left[1], LOW); digitalWrite(motor_right[0], LOW); digitalWrite(motor_right[1], LOW); } void turn_left(){ digitalWrite(motor_left[0], HIGH); digitalWrite(motor_left[1], LOW); digitalWrite(motor_right[0], HIGH); digitalWrite(motor_right[1], LOW); } void turn_right(){ digitalWrite(motor_left[0], LOW); digitalWrite(motor_left[1], HIGH); digitalWrite(motor_right[0], LOW); digitalWrite(motor_right[1], HIGH); } void drive_backward(){ digitalWrite(motor_left[0], LOW); digitalWrite(motor_left[1], HIGH); digitalWrite(motor_right[0], HIGH); digitalWrite(motor_right[1], LOW); } void drive_forward(){ digitalWrite(motor_left[0], HIGH); digitalWrite(motor_left[1], LOW); digitalWrite(motor_right[0], LOW); digitalWrite(motor_right[1], HIGH); }
Aquí está un ejemplo de nuestro carrito ya funcionando
Disculpa una pregunta el codigo en mi programa de arduino no me lo corrio pero le quite el que esta al final y si me lo corrio ahora te pregunto en que me afecta quitarle esa variable ?
ResponderEliminarcual es el voltaje de los motores ?
ResponderEliminarEmmm yo hare este carro y solo tengo un dia xD y pues creo que uso motores de 6V - 9V porque sino no le serviria la bateria de 9V que usaron.
Eliminara ti te funciono el codigo?, ami me manda varios errores
Eliminarla ultima es una libreria descargala y se la cargas a el programa de arduino
ResponderEliminarla ultima es una libreria descargala y se la cargas a el programa de arduino
ResponderEliminar