Arduino Spybot
Componentes y suministros
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 4 | ||||
| × | 4 | ||||
| × | 8 | ||||
| × | 2 | ||||
| × | 8 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Aplicaciones y servicios en línea
|
Acerca de este proyecto
Breve introducción
Este es un simple automóvil de cuatro ruedas que se puede controlar a través de una conexión bluetooth. El coche puede contener cualquier teléfono móvil que se pueda utilizar como cámara IP. Decidí hacer este robot con javascript usando un servidor web de nodo donde puedo monitorear a dónde va el robot.
Puede ver el circuito de las partes principales en la figura 1.
Después de ejecutar el servidor, aparece una pantalla que contiene una introducción sobre el control y una ventana para la vista de la cámara (figura 2).
Y sí, este diseño es receptivo.
El chasis
En esta versión del bot decidí hacer el chasis por mi cuenta. Si no tiene una máquina perforadora o simplemente desea una solución más fácil, puede comprarla en una amplia variedad de carrocerías de plástico.
Seguí el camino de hacer mi propio chasis y no fue tan fácil como parece. La regla más importante es que debe colocar los neumáticos lo más cerca posible entre sí si desea elegir la dirección diferencial para dar la vuelta. Puedes leer los principales errores y reglas básicas de física en el siguiente enlace:
http://www.rakeshmondal.info/4-Wheel-Drive-Robot-Design
Otro desafío fue cómo conectar los motores de CC al chasis. En mi caso no tengo ninguna pieza especial para esto, así que decidí elegir unas bridas (150 / 3,5) para la tarea. Para colocar correctamente los neumáticos, tuve que perforar los orificios con la mayor precisión posible y usar 2 bridas para un motor de CC. Desafortunadamente, existe la posibilidad de que los motores no queden lo suficientemente rectos y que su automóvil se mueva un poco hacia la izquierda o hacia la derecha cuando usted controla hacia adelante y hacia atrás.
Las baterías
Para alimentar las placas y los motores, decidí elegir una sola fuente de alimentación de CC para la tarea. El chasis no tiene espacio para un soporte de batería de 8 x AA, así que tuve que hacer algunas personalizaciones, así que adjunté dos soportes de 4 x AA con 2 tornillos entre sí. Para esto también tuve que perforar el plástico.
Encendido
En mi caso, enciendo la placa Arduino Uno con 8 pilas recargables AA. Ésta es suficiente potencia para servir también al blindaje del motor. Hay un puente en este protector que es extraíble para que el protector de su motor no reciba energía del Arduino. En este caso, puede alimentar su escudo por separado utilizando los pines de alimentación que tiene. Puede leer sobre las diferentes opciones de alimentación en el siguiente enlace:
https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/powering-motors
Conexión inalámbrica
Usé un módulo bluetooth HC-06 para establecer la conexión entre el auto y mi computadora. Quería usar la menor cantidad de cables posible, así que decidí construir un escudo Arduino personalizado colocando el módulo bluetooth y el escudo prototipo vacío, hacer el cableado debajo del escudo y soldar algunos cabezales de clavija para el mecanismo de conexión correcto. Puede tener una vista rápida del resultado en la figura 3 y la figura 4.
Lo bueno es que tiene la capacidad de desacoplar el módulo bluetooth del escudo en cualquier momento porque no está soldado a la placa.
Para configurar el módulo bluetooth, siga las instrucciones de este sitio:
https://github.com/rwaldron/johnny-five/wiki/Getting-Started-with-Johnny-Five-and-JY-MCU-Bluetooth-Serial-Port-Module
Movimiento
El robot puede avanzar, retroceder y girar mediante la dirección diferencial. El soporte de la cámara está conectado a un servo de rotación continua para que pueda mirar a su alrededor con el teléfono sin mover el automóvil. Puede ver una breve demostración en el siguiente video.
Teléfono móvil
Usé un Nokia Lumia 520 para el proyecto y la aplicación Win IP Camera que puedes encontrar en la tienda:
https://www.microsoft.com/en-us/store/p/win-ip-camera/9nblgggz4xb1
Sobre el código
Como desarrollador de javascript, decidí crear un servidor web de nodo para la página de control y usar algunas bibliotecas sofisticadas para mejorar la apariencia y la sintaxis del código. Puedes ver la lista completa en mi página de github y en la siguiente sección.
Decidí elegir la modularización tanto en el frontend como en el backend. Aquí está el punto de entrada de la aplicación:
var boardModule =require ('./ src / boardModule'), servoModule =require ('./ src / servoModule'), motorModule =require ('./ src / motorModule'); boardModule.initBoard (). luego (function () {motorModule.initMotors (); servoModule.initServo ();});
En el lado frontal también utilizo la separación para cada módulo:
importar {moveWheels, stopWheels} de './wheelsControl';import {moveServo, stopServo} from' ./servoControl '; document.onkeydown =checkKeyDown; document.onkeyup =checkKeyUp; función checkKeyDown (e) {moveWheels (e.keyCode); moveServo (e.keyCode);} función checkKeyUp (e) {stopWheels (e.keyCode); stopServo (e.keyCode);}
Para obtener el código base completo, consulte mi repositorio de github arriba.
Bibliotecas de Sortware
- express.js:para mejorar nuestra aplicación Nodejs
- johnny-five - para usar la API de control de Arduino Javascript
- socket.io- para usar sockets web para establecer la comunicación entre el back-end y el front-end
- susy:para crear el diseño y el diseño receptivo
- diseño de materiales de Google:para utilizar elementos materiales
- gulpJS - para la automatización de tareas
- BabelJS:para transpilar EcmaScript 6
- Browserify:para compatibilidad con módulos
Últimas palabras
Soy un principiante en este mundo de IoT y este es mi primer proyecto. No quiero decir que utilicé soluciones óptimas, pero espero que pueda encontrar información útil en esta guía.
Código
Github
https://github.com/dominikfilkus/arduino-spybot-V2Esquemas
arduino-spybot.fzzProceso de manufactura