Tabla de contenido:

Banana / Raspberry Pi + Arduino Rover con cámara web: 9 pasos
Banana / Raspberry Pi + Arduino Rover con cámara web: 9 pasos

Video: Banana / Raspberry Pi + Arduino Rover con cámara web: 9 pasos

Video: Banana / Raspberry Pi + Arduino Rover con cámara web: 9 pasos
Video: Arduino vs. Wires! And the winner is? 2024, Noviembre
Anonim
Banana / Raspberry Pi + Arduino Rover con cámara web
Banana / Raspberry Pi + Arduino Rover con cámara web

Un proyecto que he realizado en mi tiempo libre. Es un robot de 4 ruedas de tracción total controlado a través de una interfaz web. Si tiene algún comentario o pregunta, no dude en ponerse en contacto conmigo. Este proyecto en sí utiliza partes impresas en 3D y ciertos fragmentos de código que fueron creados por otras personas. Puedes encontrar créditos y echar un vistazo a las piezas originales al final de Instructuble.

¿Deberíamos empezar?

Paso 1: Componentes que necesita

Componentes que necesita
Componentes que necesita
Componentes que necesita
Componentes que necesita
Componentes que necesita
Componentes que necesita

Aquí está la lista de componentes que utilicé con los enlaces y las alternativas. Vivo en Shenzhen, China y compré las piezas directamente en Taobao.

Chasis de robot de 4 motores Alternativa: Cualquier chasis suficientemente grande servirá. Este tiene 4 motores para un par adicional. Los motores son motores amarillos baratos regulares, evaluados por

L293D Arduino Motor Shield rev.1 clon Alternativa: Mejor protector de motor clasificado para más corriente

Alternativa de clonación de Arduino Uno: puede usar cualquier otra placa Arduino sin cambios significativos en el código.

Batería de 6V 4.5Ah Pb Alternativa: Es posible experimentar con baterías LiPo más pequeñas si desea un robot más liviano / use solo dos motores.

Alternativa de Banana Pi: se puede cambiar por Raspberry Pi 1/2/3 o Orange Pi sin cambios de código significativos. Usé Banana Pi solo porque tenía uno por ahí.

Alternativa de cámara web: use la cámara CSI para Raspberry Pi / Banana Pi / Orange Pi

Cámara Pan / tilt Mount con servos SG60 Alternativa: 3D Print Tilt / Pan Mount, por ejemplo, puede usar este.

Piezas impresas en 3D Alternativa: ¡Deje que su imaginación y sus talentos de diseño 3D lo guíen! También Thingverse:)

Paso 2: conecte los motores con el blindaje del motor L293D

Conecte los motores con el blindaje del motor L293D
Conecte los motores con el blindaje del motor L293D
Conecte los motores con el blindaje del motor L293D
Conecte los motores con el blindaje del motor L293D

Conecte cada motor con terminales de tornillo de blindaje del motor. Aquí está el diagrama de cableado. Si solo tiene dos motores y no desea cambiar el código, adjúntelos al MOTOR 1 y al MOTOR 3.

NOTA: Para aquellos que usan diferentes motores con una clasificación de corriente más alta, es posible que necesite otro controlador de motor. Alternativamente, un pequeño truco que aprendí recientemente es que puedes incorporar dos controladores L293D más sobre el existente (¡es el chip del medio en la placa)!

Paso 3: Arduino Uno, ensamblaje del escudo del motor

Arduino Uno, Ensamblaje del escudo del motor
Arduino Uno, Ensamblaje del escudo del motor

Coloque Arduino Uno en la carcasa e instale Motor Shield encima. Solo hay una forma de hacerlo, si no encaja, ¡estás haciendo algo mal!

Estuche Arduino Uno Snug

Este es el caso que usé, modelo creado por Esquilo.

Paso 4: conecte la alimentación a Banana Pi y Arduino

Conecte la energía a Banana Pi y Arduino
Conecte la energía a Banana Pi y Arduino

Usé la interfaz SATA para proporcionar energía a Banana Pi (6v). Si tiene la misma placa, también puede hacer eso, solo asegúrese de que el voltaje sea de 5v-6v. Es una fuente de alimentación no regulada, por lo que supongo que hay un circuito de protección para la alimentación SATA en Banana Pi M1.

ATENCIÓN: Para Raspberry Pi tiene algunas opciones: una segura (usando un conector USB para proporcionar 5v) y una no tan segura (usando pines GPIO). Aquí está el enlace para leer sobre la conexión de energía a los pines GPIO de Raspberry Pi. Asegúrese

1) Utilice una fuente de alimentación regulada

2) Establezca el voltaje en 5v

¡No hay circuito de protección para pines GPIO! Si hace algo mal, existe una gran posibilidad de dañar los componentes electrónicos de la placa.

Para Arduino, simplemente conecte la alimentación a los terminales de tornillo de entrada en el escudo del motor. Puede tardar hasta 12v.

Paso 5: coloque Banana Pi en la carcasa impresa en 3D, monte el resto del Rover

Coloque Banana Pi en la carcasa impresa en 3D, monte el resto del Rover
Coloque Banana Pi en la carcasa impresa en 3D, monte el resto del Rover
Coloque Banana Pi en la carcasa impresa en 3D, monte el resto del Rover
Coloque Banana Pi en la carcasa impresa en 3D, monte el resto del Rover

Usé este estuche para Banana Pi de thingverse, creado por GermanRobotics. La portada la hice yo mismo.

Coloque Banana Pi en el estuche, cúbralo con la tapa, use una pistola de pegamento para colocar Arduino Uno en la parte superior del estuche de Banana Pi.

Cubra la batería con esta cubierta y coloque el soporte de giro / inclinación de la cámara web en la parte superior.

Si está utilizando Banana Pi, necesitará un concentrador USB, ya que solo tiene dos ranuras USB (Raspberry 2, 3 tiene cuatro). Puramente por preocupaciones estéticas, decidí usar un concentrador USB OTG 1-2 y ocultar los cables dentro de la carcasa del Banana Pi.

Paso 6: ¡Montaje del hardware listo

¡Montaje de hardware hecho!
¡Montaje de hardware hecho!

Resumamos rápidamente lo que hemos hecho hasta ahora.

Hemos ensamblado la plataforma del robot, conectado la energía a Banana Pi, Arduino Uno, motores y servos conectados al controlador del motor y usamos un concentrador USB para conectar la cámara USB y Arduino Uno al Banana Pi. Ahora puede probar y solucionar problemas del hardware. El diagrama de cableado que muestra todas las conexiones se muestra en la imagen para este paso.

Paso 7: configuración del sistema

Configuración del sistema
Configuración del sistema

Usé la imagen de Raspbian Lite para el sistema en mi pi. La versión Lite no tiene GUI y solo viene con paquetes básicos instalados. Pero ocupa mucho menos espacio, lo que significa que podemos usar una tarjeta SD más pequeña. Si no se siente cómodo sin GUI, también puede instalar la imagen completa.

Conecte su pi a Internet con el cable Ethernet. Después de que se inicie, el primer paso sería conectarlo a Wi-Fi.

Ejecute el siguiente comando en la terminal

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Edite el archivo de configuración con sus credenciales de WiFi

network = {ssid = "testing" psk = "testingPassword"}

Reinicie el pi. ¡Voila! Ahora estás conectado a Wi-Fi.

A continuación, necesitaremos instalar pip (Administrador de paquetes de Python)

sudo apt-get install python-setuptools

sudo easy_install pip

Ahora usamos pip para instalar Flask para ejecutar un servidor web y pyserial para que pi se comunique con Arduino a través de una conexión en serie.

sudo pip instalar matraz

sudo pip instalar pyserial

Lo último será instalar y configurar el paquete de movimiento, que usamos para transmitir video desde nuestra cámara web.

Siga este gran instructivo para hacer esto.

¡Ahora estamos listos para retumbar!

Paso 8: Iniciar el software

Iniciar el software
Iniciar el software
Iniciar el software
Iniciar el software

¿Recuerdas cómo dije que estamos listos para la pelea?

Está bien, un poco más de molienda y luego podemos empezar a retumbar:)

Descarguemos todos los archivos necesarios de mi repositorio de github.

clon de git

Sube rover.ino a Arduino Uno. Si realizó cambios de hardware (utilizando un protector de motor diferente, por ejemplo), debe cambiar el boceto.

Si está utilizando una cámara web, modifique la línea cerca de la parte inferior del archivo index.html en la carpeta de la plantilla. Cambie la URL en la línea IFRAME para que coincida con la URL src de su transmisión de video.

Ahora puede iniciar el servidor web. Ejecute el siguiente comando

sudo python pi_rover.py

Si siguió mi construcción muy de cerca y tiene Arduino conectado, verá lo siguiente (primera imagen) en la terminal.

Escriba la dirección IP de su robot en el navegador web (por ejemplo, en mi caso fue 192.168.1.104), puede verificar la dirección IP con el comando $ ifconfig en Linux.

/ ¡haz el baile de celebración aquí! /

Si tiene alguna pregunta, no dude en consultarme en los comentarios. Este tutorial está dirigido a un nivel principiante, pero no a un principiante cero, por eso fui bastante breve sobre las cosas que puede buscar en Google (por ejemplo, grabar la imagen del sistema en la tarjeta SD, cargar un boceto de Arduino, etc.).

Paso 9: Créditos

La idea y el código del servidor web provienen de este gran instructable de jscottb. Lo modifiqué para usar hardware más común, como Arduino Uno.

Las piezas impresas en 3D de Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Recomendado: