Para eso hemos tenido que informarnos sobre la placa Dual Dc motor shield.
En ese enlace hemos encontrado que al poner el pin 9 o el 10 en HIGH, uno de los motores iría hacia adelante, y si ponemos los 2 a la vez en HIGH o en LOW, se pararía. El otro motor funciona igual pero con los pines 2 y 6. Para ponerles la velocidad en RPM hemos usado el comando analogWrite como veréis después y hemos usado los pines 3 y 5 para ello.
Para probar que esto era así hemos diseñado un programa bastante sencillo en el que el una rueda va hacia adelante, hacia atrás, y luego la otra hace lo mismo. Este es el programa:
Prueba de motores
Al acabarlo lo hemos metido en la placa de arduino, y el resultado ha sido el esperado:
Para seguir haciendo pruebas hemos programado el robot para que haga una especie de baile.
Este ha sido el programa:baile
Y este el resultado:
Una vez echo esto hemos diseñado un nuevo programa para que el robot vaya recto, y el resultado no ha sido del todo bueno por falta de pilas:
Después le hemos incorporado ya el Sensor, para eso hemos buscado información sobre el.
En el anterior enlace hemos comprendido como funciona el sensor y hemos utilizado el programa de allí como base para cumplir nuestro propósito. Hemos usado otros dos pin-es, el 7 y el 8. Uno como salida y otro como entrada. Uno se encarga de mandar la señal y hemos usado un comando para que lo haga cada 2ms y una función para que calcule la distancia que hay entre el sensor y el objeto segun el tiempo que tarde en recibir la señal de vuelta. El otro se encarga de calcular el tiempo de vuelta de la señal. Antes de conectarlo todo hemos comprobado que todo esta bien, utilizando un metro y comprobando si la distancia real coincide con la distancia del sensor. Para que la distancia nos aparezca en pantalla hemos usado serial.Println. Este ha sido el resultado:
El programa ha sido este:recto y sensor
Este ha sido el resultado:
No hay comentarios:
Publicar un comentario