Tabla de contenido:

Robot Raspberry Pi Zero impreso en 3D: 12 pasos
Robot Raspberry Pi Zero impreso en 3D: 12 pasos

Video: Robot Raspberry Pi Zero impreso en 3D: 12 pasos

Video: Robot Raspberry Pi Zero impreso en 3D: 12 pasos
Video: Brazo robot con servomotores, diseñado con impresora 3D y controlado con Raspberry Pi 2024, Mes de julio
Anonim
Image
Image
Robot Raspberry Pi Zero impreso en 3D
Robot Raspberry Pi Zero impreso en 3D
Robot Raspberry Pi Zero impreso en 3D
Robot Raspberry Pi Zero impreso en 3D

¿Alguna vez ha querido construir un robot, pero simplemente no tenía todos los materiales para construir uno sin terminar con un chasis innecesariamente voluminoso? ¡Las impresoras 3D están aquí para salvar el día! No solo pueden crear piezas para que sean compatibles con prácticamente cualquier hardware, sino que pueden hacerlo de una manera muy eficiente en cuanto al espacio. Aquí le mostraré cómo crear un robot muy básico que cuenta con piezas impresas en 3D, la Raspberry Pi Zero y la Pi Camera. Le animo a que tome y modifique lo que he hecho para adaptarlo a sus necesidades prácticas o de entretenimiento. Para controlar el robot y ver la transmisión de la cámara, creé una aplicación IOS (la aplicación PiBotRemote) que puede usar y modificar con total libertad. Sin embargo, el poder real en proyectos como este se deriva de la diversidad de posibilidades tanto en hardware como en software. Así que te animo a que seas creativo y añadas a lo que he hecho dependiendo de lo que sepas hacer. Por ejemplo, creo que sería genial hacer que este robot use la visión artificial para reconocer su entorno y navegar de manera similar a un automóvil autónomo.

Paso 1: requisitos

Requisitos
Requisitos
  • Materiales

    • Requerido (Aproximadamente $ 75)

      • Raspberry Pi Zero W ($ 10)
      • Tarjeta Micro SD ($ 8.25)
      • Encabezado de 40 pines ($ 3.25)
      • Cables de puente ($ 6,86)
      • Batería USB ($ 5,00)
      • Micro motorreductor de 900 RPM x 2 ($ 12.95 cada uno)
      • Controlador de motor ($ 4,95)
      • Ruedas ($ 6,95)
      • Rodamiento de bolas de acero de 14 mm ($ 0,62)
      • Tornillos, tuercas y separadores (ver a continuación)
    • Opcional (aproximadamente $ 45)

      • LEDs
      • Cámara Raspberry Pi ($ 29.95)
      • Adaptador de cámara Pi Zero ($ 5.95)
      • Servomotor ($ 8,95)
    • Instrumentos

      • Impresora 3D y filamento
      • Computadora (usaré una Mac, y la necesitará si desea usar la aplicación PiBot Remote)
      • iPhone / iPad / iPod Touch (si va a utilizar la aplicación)
      • Taladro
      • Destornillador con puntas intercambiables

Más información sobre piezas

  • Pi Zero: si quieres usar el Pi Zero solo para este proyecto, no tendrás problemas para correr sin cabeza todo el tiempo. De lo contrario, si alguna vez desea conectar una salida HDMI o un periférico USB, deberá comprar adaptadores adicionales. En este caso, lo más probable es que sea la opción más rentable comprar un kit Pi Zero, como este ($ 24) que compré en Amazon. Aunque todavía tenía que comprar una tarjeta micro SD, este kit venía con el Pi Zero, los dos adaptadores necesarios y muchos encabezados diferentes. Todo lo cual puede resultar útil.
  • Tarjeta Micro SD: puede utilizar cualquier tarjeta Micro SD siempre que tenga un mínimo de 8 GB de almacenamiento.
  • Jumper Wires: Me gustan los jumpers como estos porque vienen como un paquete conectado. Esto me permite separar, digamos, una sección de 9 cables y conectar perfectamente el Pi y el controlador del motor.
  • Batería USB: la batería que le compré a Sparkfun ya se ha descontinuado. Como resultado, deberá encontrar uno en otro lugar. El que vinculé se parecía al mío, pero no lo compré, y es posible que deba modificar los archivos de impresión para que se ajusten a su batería. Asegúrese de encontrar una batería con un cable micro USB adjunto, ya que esto le permite conectarlo directamente al pi sin exceso de cable.
  • Motor Driver: recomendaría usar el buzo al que me vinculé, ya que es bastante barato y la impresión está diseñada para adaptarse exactamente a esa placa. Además, otras placas pueden funcionar de manera diferente y es posible que obtenga resultados diferentes.
  • Bola de acero de 14 mm: utilicé esta bola simplemente porque tenía una por ahí. Siéntase libre de usar otros tamaños, pero es posible que deba cambiar el tamaño del enchufe. La bola servirá como la tercera rueda de nuestro robot. Esta es una de las áreas de diseño de mi robot que es la más problemática en este momento y podría mejorar más. Si bien funciona bien en superficies lisas y duras, tiene problemas en alfombras y superficies más rugosas. Siéntase libre de cambiar esta área de su diseño.
  • Tornillos, tuercas, separadores: es posible que deba trabajar un poco para encontrar tornillos que funcionen para usted. Simplemente encontré los tornillos que montan el Pi, así como los tornillos que mantienen unido el soporte de la cámara Pi en la colección de tornillos de mi padre. Para los soportes y enchufes del motor, utilicé estos tornillos ($ 2.95) y estas tuercas ($ 1.50), que están disponibles en Sparkfun. Los separadores y los 8 tornillos (accidentalmente solo incluí 4 en la imagen) que mantienen unido al robot los tomé de los kits VEX sin usar de mi escuela.
  • LED: estoy seguro de que sabe dónde puede encontrar fácilmente algunos LED. Elija los colores que desee para representar las funciones: alimentación, conexión, ruta de reproducción del robot e instrucción de recepción del robot.
  • Cámara y Servo: Dependiendo de lo que desee hacer con su robot, puede optar por no incluir la Cámara y el Servo, ya que no son necesarios para el movimiento básico, y agregar $ 45 al costo del robot.

Paso 2: Configuración de Pi Zero

Configuración de Pi Zero
Configuración de Pi Zero

Siga este enlace para configurar una instalación sin cabeza en su Raspberry Pi Zero W

  • No olvide que el Pi Zero no se puede conectar a una red Wi-Fi de 5 GHz
  • Asegúrese de seguir las instrucciones para Raspbian Stretch o posterior

Una vez que se haya conectado con éxito a través de SSH a su pi, ejecute

sudo raspi-config

y cambie las siguientes configuraciones:

  • Cambia tu contraseña. Es muy peligroso dejar la contraseña predeterminada frambuesa. Asegúrese de recordar esta contraseña.
  • En las opciones de red, cambie el nombre de host de raspberrypi a algo más corto como pizero o pibot. Usaré pibot para el resto de este tutorial. Asegúrese de recordar lo que puso aquí.
  • En Opciones de arranque -> Escritorio / CLI, seleccione Inicio de sesión automático de consola
  • Vaya a las opciones de interfaz y habilite la cámara

Seleccione Finalizar y reinicie el dispositivo.

Paso 3: configurar la red ad hoc

Al configurar una red AdHoc, podremos conectar nuestro dispositivo de control directamente al robot sin intermediarios. Esto permitirá una transmisión de video más rápida y una menor latencia de control. Sin embargo, este paso no es necesario ya que todo seguirá funcionando a través de una red wifi normal.

Primero, deberá descargar y descomprimir todos los archivos necesarios de GitHub. En la terminal, navegue hasta la carpeta descargada y envíe la carpeta PiBotRemoteFiles al pi con el comando:

scp -r PiBotRemoteFiles / [email protected]: Escritorio /

Esto envía todos los archivos necesarios al robot que lo controlará y configurará la red AdHoc. Asegúrese de que los archivos estén en una carpeta llamada "PiBotRemoteFiles" que se encuentra en el escritorio; de lo contrario, muchas cosas no funcionarán en el futuro. Si va a utilizar la aplicación PiBot Remote, puede cambiar entre una red Wi-Fi normal y una red AdHoc en la configuración de la aplicación. De lo contrario, puede cambiarlo manualmente a través de SSH con uno de los siguientes comandos:

sudo bash adhoc.sh

sudo bash wifi.sh

Por supuesto, asegúrese de haber navegado a la carpeta PiBotRemoteFiles antes de ejecutar los comandos anteriores. Cualquier cambio entre AdHoc y Wi-Fi solo tendrá efecto después del próximo reinicio. Si se configura un AdHoc, entonces debería ver aparecer una red PiBot cuando se inicia Pi Zero.

Paso 4: agregue un LED de encendido

Agregar un LED de encendido
Agregar un LED de encendido

Aunque ciertamente es innecesario, puede ser útil tener una luz de encendido. Para activar esto, SSH en el Pi Zero y ejecute el comando:

sudo nano /etc/bash.bashrc

Y agregue la siguiente línea al final del archivo:

python /home/pi/Desktop/PiBotRemoteFiles/startup.py

Luego cambiaremos el pin GPIO asociado con el LED de encendido.

Paso 5: Configuración de la interfaz web de la RPi Cam

Configuración de la interfaz web de RPi Cam
Configuración de la interfaz web de RPi Cam
Configuración de la interfaz web de RPi Cam
Configuración de la interfaz web de RPi Cam

Para acceder a la transmisión de video de las cámaras Raspberry Pi, usaremos la interfaz web RPi-Cam. La información sobre este módulo se puede encontrar aquí y su código está en GitHub. Para instalar el módulo primero necesitamos actualizar nuestro Pi. Esto puede tardar unos 10 minutos.

sudo apt-get update

sudo apt-get dist-upgrade

Luego necesitamos instalar git:

sudo apt-get install git

Y finalmente podemos instalar el módulo:

clon de git

RPi_Cam_Web_Interface / install.sh

Una vez instalado el módulo, aparecerá una ventana de configuración. Si desea agregar un nombre de usuario y contraseña, asegúrese de usar el mismo nombre de usuario y contraseña que su cuenta pi. De lo contrario, la aplicación PiBot Remote no podrá recibir la transmisión de la cámara.

Ahora, si va a un navegador en un dispositivo en la misma red que el Pi y si la cámara está conectada al pi, puede recibir la transmisión yendo a https://pibot.local/html/#. La interfaz RPi permite un fácil control de la cámara y, al tocar o hacer clic en el video, puede convertirse en pantalla completa. Usaremos esto más adelante con la aplicación remota PiBot.

Ahora hemos terminado de configurar el Pi Zero, ¡vamos a las cosas divertidas!

Paso 6: Imprima todo

Imprime todo
Imprime todo
Imprime todo
Imprime todo

Aunque utilicé una impresora 3D Dremel con filamento PLA, no dude en utilizar sus propias impresoras y materiales. Todos los archivos STL están en la carpeta que descargó de GitHub. Pude imprimir todo en cuatro lotes: la placa superior, la placa inferior, todos los soportes y enchufes, y el anillo. Sea creativo en su elección de color y aproveche al máximo las capacidades de las impresoras 3D. Mi impresora no tenía extrusión dual ni ninguna característica tan sofisticada, pero si tengo acceso a una impresora de este tipo, recomendaría imprimir las decoraciones en la parte superior de la placa superior en un color que contraste. Es probable que necesite limar y perforar para que encajen algunas piezas.

Siéntase libre de pintar la placa superior para hacer visibles los símbolos y decoraciones LED.

Es posible que haya notado dos soportes en los extremos de la placa inferior que se asemejan al sistema de montaje GoPro. Siéntase libre de usarlos para colocar lo que quiera en la parte delantera o trasera del robot. En el archivo de Blender, puede encontrar un soporte de marcador de borrado en seco que utilicé, así como un objeto de plantilla que puede modificar para sostener su objeto.

Además, siéntase libre de definir cualquier dirección como hacia adelante; He cambiado al menos tres veces hasta ahora.

Paso 7: soldar en los encabezados

Soldar en los encabezados
Soldar en los encabezados
Soldar en los encabezados
Soldar en los encabezados
Soldar en los encabezados
Soldar en los encabezados

Aunque elegí soldar los encabezados al PiZero, puedes soldar los cables directamente al pi. Si elige soldar encabezados como lo hice yo, recomendaría usar uno con un ángulo recto como el mío. Mantiene los cables mucho más ocultos y hace que todo se vea mucho más ordenado.

Ahora es el momento de soldar el controlador del motor. La placa inferior está diseñada especialmente para este controlador de motor Sparkfun y deja espacio para que el cabezal de clavija sobresalga por la parte inferior. Esto permite cambiar fácilmente los pines del motor para que pueda cambiar a la izquierda y a la derecha, y hacia adelante y hacia atrás. Aunque incluyo el siguiente paso ahora, recomendaría encarecidamente esperar algunos pasos hasta que sepa exactamente cuánto deben ser los cables. Corta una sección de 9 cables de pines de puente que sean compatibles con los pines del cabezal que acabas de soldar en el pi. Suelde con cuidado cada cable para que el grupo pueda quedar plano y envolver la batería. Mide la longitud del cable de antemano para no terminar con demasiado o muy poco.

Finalmente, es hora de soldar los LED. Colóquelos en sus respectivas ubicaciones en la placa superior y doble todos los pines de tierra uno encima del otro. Suelde un cable al suelo y un cable a cada LED. De izquierda a derecha, las funciones de los LED son: potencia del robot, conectividad de la aplicación al robot, el robot está reproduciendo una ruta guardada y el robot recibe instrucciones.

También suelde los cables a cada motor para que puedan conectarse a los cabezales que vienen del controlador del motor.

Paso 8: atornille el motor y el enchufe

Atornille el motor y el zócalo
Atornille el motor y el zócalo
Atornille el motor y el zócalo
Atornille el motor y el zócalo
Atornille el motor y el zócalo
Atornille el motor y el zócalo
Atornille el motor y el zócalo
Atornille el motor y el zócalo

Primero, inserte cada motor en un soporte de motor. Luego inserte cada tornillo en parte, solo hasta que la punta llegue a la superficie del soporte o zócalo. Luego, para cada tornillo, sostenga una tuerca en el otro lado de la placa mientras aprieta cada tornillo. Recuerde colocar el rodamiento entre los dos enchufes mientras atornilla el segundo. Coloque el controlador del motor en su posición y conecte los motores. No importa qué motor esté enchufado en cada salida, ya que puede cambiarlo fácilmente una vez que el robot esté en funcionamiento.

Paso 9: Prepare la cámara y el servo

Prepara la cámara y el servo
Prepara la cámara y el servo
Prepara la cámara y el servo
Prepara la cámara y el servo
Prepara la cámara y el servo
Prepara la cámara y el servo
Prepara la cámara y el servo
Prepara la cámara y el servo

Conecte la cinta del adaptador Pi Zero a la cámara y atornille la carcasa de la cámara. Coloque el servo en su posición. Puede perforar los orificios de los tornillos para el servo, pero está lo suficientemente ajustado. Conecte la cámara al servo de la forma que mejor le parezca. Actualmente, tengo dos orificios en el soporte, con una grapa que pasa por la bocina del servo y la carcasa de la cámara. Sin embargo, eso deja mucho margen de maniobra, por lo que es posible que desee utilizar superpegamento. Apunte la cámara en la dirección que desee y atornille la bocina del servo en su lugar. Coloque la cinta de la cámara a través de la hendidura de la frambuesa y conéctela al pi. Finalmente, doble la cinta para mantenerla plana contra la batería.

Paso 10: Poner todo junto

Poniendo todo junto
Poniendo todo junto
Poniendo todo junto
Poniendo todo junto
Poniendo todo junto
Poniendo todo junto
Poniendo todo junto
Poniendo todo junto

Finalmente es hora de que todo se convierta en una sola pieza. Conecte los cables de los LED, el controlador del motor y el servo al Pi de tal manera que use solo pines válidos, pero manténgalos cerca de su salida. Luego, coloque los cables a través de sus ranuras y atornille el pi en su lugar. Esto está diseñado para ser ajustado para mantener las cosas ordenadas, así que no se rinda cuando parezca que no hay suficiente espacio para esos grandes pines de puente.

Atornille cada separador en la placa inferior para que estén seguros. Inserte la batería y asegúrese de que el cable de alimentación quepa a través de la ranura y en el puerto de alimentación del Pi Zero. Envuelva los cables del controlador del motor a su alrededor y coloque la pieza de anillo alrededor de todo. Una vez que haya apretado todos los cables en el espacio entre la batería y la placa superior, una pequeña cresta en la placa inferior en el anillo y los dos puntos altos del anillo en la placa superior. ¡Ahora puede atornillar firmemente la placa superior y ha construido su robot!

Paso 11: Abra el proyecto Xcode

Abra el proyecto Xcode
Abra el proyecto Xcode
Abra el proyecto Xcode
Abra el proyecto Xcode
Abra el proyecto Xcode
Abra el proyecto Xcode

Los siguientes pasos solo se aplican si va a utilizar la aplicación PiBot Remote, que requiere una Mac y un dispositivo IOS.

Como soy tacaño y no tengo una cuenta de desarrollador de Apple de pago, solo puedo compartir el proyecto Xcode, no la aplicación en sí. Luego, puede abrir el proyecto usted mismo, cambiar la firma e iniciarlo en su propio dispositivo.

Si aún no tiene Xcode, descárguelo de la tienda de aplicaciones en su Mac. Una vez que se cargue Xcode, elija "Abrir otro proyecto" en la esquina inferior derecha y navegue hasta la carpeta "PiBot Remote" en la descarga de GitHub.

Una vez que se abre el proyecto, haga clic en el archivo raíz en la vista del extremo izquierdo llamado "PiBot Remote".

Cambie el "Identificador de paquete" por algo único. Podrías reemplazar mi nombre con el tuyo o agregar algo al final.

Cambie el equipo a su propia cuenta personal. Si no tiene una, seleccione "Agregar una cuenta".

Pulsa el comando-B para construir y espera que todo funcione correctamente. Una vez que haya construido con éxito el proyecto, conecte su dispositivo a su computadora. Haga clic en el botón a la derecha de los botones de reproducción y parada en la esquina superior izquierda y seleccione su dispositivo.

Presione command-R y la aplicación debería iniciarse en su dispositivo. Es posible que su dispositivo deba verificar las identidades antes de que se ejecute y solo necesitará acceso a Internet en este momento.

Paso 12: Ajustes finales

Ajustes finales
Ajustes finales

Puede ajustar los números de pin para todo excepto para el LED de encendido en la aplicación PiBot Remote. Para cambiar el pin del LED de encendido, SSH en el PI y ejecute el comando:

/home/pi/Desktop/PiBotRemoteFiles/startup.py

Cambie las dos instancias de 36 a cualquier pin GPIO que haya utilizado. Luego presiona control-X, y, enter.

Tanto la aplicación como el servidor son propensos a errores. Utilice la consola en modo de depuración para averiguar qué está pasando. En caso de duda, intente reiniciar el Pi y / o reiniciar la aplicación. A veces, después de una falla en el código, la aplicación no puede volver a conectarse porque la dirección ya está en uso. En este caso, simplemente cambie el puerto y la aplicación debería conectarse.

Además, al conducir el robot con el acelerador de su dispositivo, debe utilizar algunos gestos inconvenientes para calibrar, detener / iniciar, ajustar la cámara y mostrar / ocultar la barra de pestañas.

  • Calibrar: mantenga pulsado con dos dedos durante 0,5 segundos (si su dispositivo lo admite, sentirá una respuesta háptica una vez que el dispositivo se haya calibrado
  • Ajuste de la cámara: el gesto más complicado, haga lo que se describió anteriormente para calibrar, luego arrastre los dedos hacia arriba para mover la cámara hacia arriba y hacia abajo para mover la cámara hacia abajo. El ajuste se realizará una vez que levante los dedos.
  • Alternar parada / inicio: cuando va a la vista del acelerómetro, el robot está configurado inicialmente para ignorar los comandos de movimiento. Para alternar esta configuración, toque dos veces con dos dedos.
  • Mostrar / Ocultar barra de pestañas: para habilitar la visualización en pantalla completa mientras conduce con acelerómetro, la barra de pestañas se ocultará automáticamente después de unos segundos. Para volver a mostrarlo, desliza el dedo hacia arriba. Para ocultarlo, desliza hacia abajo.

Si se siente frustrado con los problemas e inconvenientes asociados con mi aplicación, recuerde que no he tenido ninguna educación formal en programación de ningún tipo. Así que agradezco los consejos y sugerencias. Siéntase libre de bifurcar mis archivos de GitHub.

Si hago algún ajuste en GitHub, aplíquelo al robot descargando los archivos y enviándolos a través de SCP recursivo al Pi en la ubicación apropiada. Si clonó el proyecto Xcode, simplemente haga el cambio. De lo contrario, puede descargar el proyecto y seguir el paso 11 para abrir la aplicación en su dispositivo.

Si hace algo interesante con este tutorial, hágamelo saber en los comentarios, estoy interesado en ver cómo se puede utilizar como plantilla para todo tipo de proyectos fascinantes.

Recomendado: