Tabla de contenido:

Sistema de monitoreo de mascotas con Arduino y Raspberry Pi: 19 pasos (con imágenes)
Sistema de monitoreo de mascotas con Arduino y Raspberry Pi: 19 pasos (con imágenes)

Video: Sistema de monitoreo de mascotas con Arduino y Raspberry Pi: 19 pasos (con imágenes)

Video: Sistema de monitoreo de mascotas con Arduino y Raspberry Pi: 19 pasos (con imágenes)
Video: Sensor LIDAR Casero Con Arduino | Rotativo + Sensor Láser Pr#97 2024, Noviembre
Anonim
Image
Image
Sistema de monitoreo de mascotas con Arduino y Raspberry Pi
Sistema de monitoreo de mascotas con Arduino y Raspberry Pi
Sistema de monitoreo de mascotas con Arduino y Raspberry Pi
Sistema de monitoreo de mascotas con Arduino y Raspberry Pi

Recientemente, mientras estábamos de vacaciones, nos dimos cuenta de la falta de conexión con nuestra mascota Beagle. Después de investigar un poco, encontramos productos que presentaban una cámara estática que permitía monitorear y comunicarse con su mascota. Estos sistemas tenían ciertos beneficios pero carecían de versatilidad. Por ejemplo, cada habitación requería una unidad para realizar un seguimiento de su mascota en toda la casa.

Por lo tanto, desarrollamos un robot robusto que puede maniobrar por la casa y puede monitorear a la mascota usando el poder del Internet de las cosas. Se diseñó una aplicación para teléfonos inteligentes para interactuar con su mascota a través de una transmisión de video en vivo. El chasis del robot se fabrica digitalmente, ya que se crearon varias piezas mediante impresión 3D y corte por láser. Finalmente, decidimos agregar una función adicional que ofrecía golosinas para recompensar a su mascota.

Continúe para crear su propio sistema de monitoreo de mascotas y tal vez incluso personalizarlo para sus necesidades. Vea el video vinculado arriba para ver cómo reaccionó nuestra mascota y comprender mejor al robot. Vota en el "Concurso de robótica" si te gustó el proyecto.

Paso 1: descripción general del diseño

Descripción general del diseño
Descripción general del diseño
Descripción general del diseño
Descripción general del diseño

Para conceptualizar el robot de monitoreo de mascotas, primero lo diseñamos en fusion 360. Estas son algunas de sus características:

El robot se puede controlar a través de una aplicación a través de Internet. Esto permite al usuario conectarse al robot desde cualquier lugar

Una cámara a bordo que transmite en vivo una transmisión de video al teléfono inteligente puede ayudar al usuario a maniobrar en la casa e interactuar con la mascota

Un cuenco de golosinas adicional que puede recompensar a su mascota de forma remota

Piezas fabricadas digitalmente que permiten personalizar su robot

Se utilizó una Raspberry Pi para conectarse a Internet, ya que cuenta con un modo wifi integrado

Se usó un Arduino junto con un escudo CNC para dar comandos a los motores paso a paso

Paso 2: Materiales necesarios

Materiales necesitados
Materiales necesitados
Materiales necesitados
Materiales necesitados

Aquí está la lista de todos los componentes necesarios para hacer su propio robot de monitoreo de mascotas con Arduino y Raspberry Pi. Todas las piezas deben estar comúnmente disponibles y ser fáciles de encontrar.

ELECTRÓNICA:

  • Arduino Uno x 1
  • Raspberry Pi (flasheado con el último raspbian) x 1
  • Escudo CNC x 1
  • Controlador de motor paso a paso A4988 x 2
  • Picamera x 1
  • Sensor de distancia ultrasónico x 1
  • Batería Lipo de 11,1 V x 1
  • Motor paso a paso NEMA 17 x 2
  • 5 V UBEC x 1

HARDWARE:

  • Ruedas x 2 (las ruedas que usamos tenían 7 cm de diámetro)
  • Ruedas giratorias x 2
  • Tuercas y tornillos M4 y M3

El costo total de este proyecto excluyendo Arduino y Raspberry Pi es de alrededor de 50 $.

Paso 3: Piezas fabricadas digitalmente

Piezas fabricadas digitalmente
Piezas fabricadas digitalmente
Piezas fabricadas digitalmente
Piezas fabricadas digitalmente

Algunas de las piezas que usamos en este proyecto tuvieron que ser hechas a medida. Estos se modelaron primero en Fusion 360 y luego se hicieron usando una impresora 3D y un cortador láser. Las piezas impresas en 3D no soportan mucha carga, por lo que el PLA estándar con un 20% de relleno funciona muy bien. A continuación se muestra una lista de todas las piezas impresas en 3D y cortadas con láser:

Piezas impresas en 3D:

  • Soporte paso a paso x 2
  • Montaje del sistema de visión x 1
  • Separador de electrónica x 4
  • Espaciador vertical x 4
  • Refuerzo de chasis x 2
  • Tratar la tapa del cuenco x 1
  • Tratar cuenco x 1
  • Montaje paso a paso trasero x 1
  • Disco de bobinado x 1

Piezas cortadas con láser:

  • Panel inferior x 1
  • Panel superior x 1

Una carpeta comprimida que contiene todos los archivos STL y de corte por láser se puede encontrar adjunta a continuación.

Paso 4: Colocación del motor paso a paso

Colocación del motor paso a paso
Colocación del motor paso a paso
Colocación del motor paso a paso
Colocación del motor paso a paso
Colocación del motor paso a paso
Colocación del motor paso a paso

Una vez que todas las piezas estén impresas en 3D, comience el ensamblaje montando el motor paso a paso en el soporte paso a paso. El soporte del motor paso a paso que diseñamos está diseñado para el modelo NEMA 17 (si uno usa diferentes pasos, requerirá un montaje diferente). Pase el eje del motor a través del orificio y asegure el motor en su lugar con los tornillos de montaje. Una vez hecho esto, ambos motores deben sujetarse firmemente a los soportes.

Paso 5: Montaje de los motores paso a paso en el panel inferior

Montaje de los motores paso a paso en el panel inferior
Montaje de los motores paso a paso en el panel inferior
Montaje de los motores paso a paso en el panel inferior
Montaje de los motores paso a paso en el panel inferior
Montaje de los motores paso a paso en el panel inferior
Montaje de los motores paso a paso en el panel inferior

Para montar los soportes en el panel inferior cortado con láser utilizamos pernos M4. Antes de asegurarlos con las tuercas, agregue las tiras de refuerzo del chasis impresas en 3D y luego apriete las tuercas. Las tiras se utilizan para distribuir la carga de manera uniforme sobre el panel acrílico.

Finalmente, pase los cables a través de las respectivas ranuras provistas en el panel. Asegúrese de tirar de ellos hasta el final para evitar que se enreden en las ruedas.

Paso 6: Montaje de las ruedas

Montaje de las ruedas
Montaje de las ruedas
Montaje de las ruedas
Montaje de las ruedas
Montaje de las ruedas
Montaje de las ruedas

El panel acrílico tiene dos secciones recortadas para adaptarse a las ruedas. Las ruedas que usamos tenían 7 cm de diámetro y venían con tornillos de fijación que se unían a los ejes paso a paso de 5 mm. Asegúrese de que la rueda esté asegurada correctamente y de que no se resbale en el eje.

Paso 7: Ruedas giratorias delanteras y traseras

Ruedas giratorias delanteras y traseras
Ruedas giratorias delanteras y traseras
Ruedas giratorias delanteras y traseras
Ruedas giratorias delanteras y traseras
Ruedas giratorias delanteras y traseras
Ruedas giratorias delanteras y traseras
Ruedas giratorias delanteras y traseras
Ruedas giratorias delanteras y traseras

Para permitir que el chasis se mueva sin problemas, decidimos colocar ruedas giratorias en la parte delantera y trasera del robot. Esto no solo evita que el robot se vuelque, sino que también permite que el chasis gire libremente en cualquier dirección. Las ruedas giratorias vienen en todos los tamaños, la nuestra en particular vino con un solo tornillo pivotante que montamos en la base y usamos espaciadores impresos en 3D para ajustar la altura de modo que el robot estuviera perfectamente horizontal. Con esto la base del chasis está completa y tiene una buena estabilidad.

Paso 8: Electrónica

Electrónica
Electrónica
Electrónica
Electrónica
Electrónica
Electrónica

Una vez que la base del chasis está completamente ensamblada, es hora de montar la electrónica en el panel acrílico. Hemos hecho agujeros en el panel acrílico que se alinean con los agujeros de montaje de Arduino y Raspberry Pi. Utilizando separadores impresos en 3D, elevamos la electrónica ligeramente por encima de los paneles acrílicos para que todo el cableado sobrante se pueda guardar cuidadosamente debajo. Monte el Arduino y el Raspberry Pi en sus ubicaciones de montaje correspondientes usando tuercas y pernos M3. Una vez que el Arduino esté fijo, conecte el escudo CNC al Arduino y conecte los cables paso a paso en la siguiente configuración.

  • Paso a paso izquierdo al puerto del eje X del escudo CNC
  • Paso a paso derecho al puerto del eje Y del escudo del CNC

Con los motores paso a paso conectados, conecte el Arduino a la Raspberry Pi utilizando el cable USB de Arduino. Eventualmente, Raspberry Pi y Arduino se comunicarán a través de este cable.

Nota: la parte frontal del robot es el lado con la Raspberry Pi

Paso 9: sistema de visión

Sistema de visión
Sistema de visión
Sistema de visión
Sistema de visión
Sistema de visión
Sistema de visión

La entrada principal del entorno para nuestro robot de monitoreo de mascotas es la visión. Decidimos usar la Picamera que es compatible con Raspberry Pi para transmitir una transmisión en vivo al usuario a través de Internet. También utilizamos un sensor de distancia ultrasónico para evitar obstáculos cuando el robot está funcionando de forma autónoma. Ambos sensores se acoplan a un soporte con la ayuda de tornillos.

La Picamera se inserta en su puerto designado en la Raspberry Pi y conecta el sensor ultrasónico de la siguiente manera:

  • Sensor ultrasónico VCC a riel de 5v en blindaje CNC
  • Sensor ultrasónico GND a GND riel en escudo CNC
  • Sensor ultrasónico TRIG a X + pin de tope en el escudo CNC
  • Sensor ultrasónico ECHO a Y + pin de tope en el escudo CNC

Paso 10: Ensamblaje del panel superior

Ensamblaje del panel superior
Ensamblaje del panel superior
Ensamblaje del panel superior
Ensamblaje del panel superior
Ensamblaje del panel superior
Ensamblaje del panel superior

En la parte trasera del robot está montado el sistema de apertura de la tapa del recipiente de tratamiento. Conecte el mini motor paso a paso al componente del soporte trasero y monte el sistema de visión y el sistema de bobinado con pernos M3 en el panel superior. Como se mencionó, asegúrese de montar el sistema de visión en la parte delantera y el sistema de cuerda en la parte posterior con los dos orificios provistos.

Paso 11: Ensamblaje del panel superior

Ensamblaje del panel superior
Ensamblaje del panel superior
Ensamblaje del panel superior
Ensamblaje del panel superior
Ensamblaje del panel superior
Ensamblaje del panel superior

Imprimimos en 3D espaciadores verticales para apoyar el panel superior a la altura correcta. Comience colocando los cuatro espaciadores en el panel inferior para formar una "X". Luego, coloque el panel superior con el recipiente para golosinas asegurándose de que sus orificios estén alineados y finalmente asegúrelo también a los espaciadores.

Paso 12: Mecanismo de apertura de la tapa

Mecanismo de apertura de la tapa
Mecanismo de apertura de la tapa
Mecanismo de apertura de la tapa
Mecanismo de apertura de la tapa
Mecanismo de apertura de la tapa
Mecanismo de apertura de la tapa

Para controlar la tapa del recipiente de golosinas, usamos un motor paso a paso más pequeño para enrollar una cuerda de nailon unida a la tapa, tirando de ella para abrirla. Antes de colocar la tapa, pase la cuerda por el orificio de 2 mm de la tapa y haga un nudo en el lado interior. Luego corte el otro extremo de la cuerda y deslícelo a través de los orificios provistos en el disco de enrollamiento. Empuje el disco en el paso a paso y luego tire de la cuerda hasta que esté tensa. Una vez hecho esto, corta el exceso y haz un nudo. Finalmente, con un perno y una tuerca, fije la tapa al recipiente y asegúrese de que gire. Ahora, a medida que el paso a paso gira, la cuerda debe enrollarse en el disco y la tapa debe abrirse gradualmente.

Paso 13: Configuración de la base de datos en la nube

Configuración de la base de datos en la nube
Configuración de la base de datos en la nube
Configuración de la base de datos en la nube
Configuración de la base de datos en la nube
Configuración de la base de datos en la nube
Configuración de la base de datos en la nube
Configuración de la base de datos en la nube
Configuración de la base de datos en la nube

El primer paso es crear una base de datos para el sistema para que pueda comunicarse con el robot desde su aplicación móvil desde cualquier parte del mundo. Haga clic en el siguiente enlace (Google firebase), que lo llevará al sitio web de Firebase (deberá iniciar sesión con su cuenta de Google). Haga clic en el botón "Comenzar" que lo llevará a la consola de base de fuego. Luego cree un nuevo proyecto haciendo clic en el botón "Agregar proyecto", complete los requisitos (nombre, detalles, etc.) y complete haciendo clic en el botón "Crear proyecto".

Solo necesitamos las herramientas de base de datos de Firebase, así que seleccione "base de datos" en el menú del lado izquierdo. A continuación, haga clic en el botón "Crear base de datos", seleccione la opción "modo de prueba". A continuación, establezca la base de datos en una "base de datos en tiempo real" en lugar de "Cloud Firestore" haciendo clic en el menú desplegable en la parte superior. Seleccione la pestaña "reglas" y cambie las dos "falsas" a "verdaderas", finalmente haga clic en la pestaña "datos" y copie la URL de la base de datos, esto será necesario más adelante.

Lo último que deberá hacer es hacer clic en el ícono de ajustes al lado de la descripción general del proyecto, luego en "configuración del proyecto", luego seleccionar la pestaña "cuentas de servicio", finalmente hacer clic en "Secretos de la base de datos" y anotar la seguridad código de su base de datos. Con este paso completo, habrá creado con éxito su base de datos en la nube a la que se puede acceder desde su teléfono inteligente y desde la Raspberry Pi. (Use las imágenes adjuntas arriba en caso de dudas, o simplemente envíe una pregunta en la sección de comentarios)

Paso 14: Creación de la aplicación móvil

Creación de la aplicación móvil
Creación de la aplicación móvil
Creación de la aplicación móvil
Creación de la aplicación móvil
Creación de la aplicación móvil
Creación de la aplicación móvil
Creación de la aplicación móvil
Creación de la aplicación móvil

La siguiente parte del sistema IoT es la aplicación para teléfonos inteligentes. Decidimos utilizar MIT App Inventor para crear nuestra propia aplicación personalizada. Para usar la aplicación que creamos, primero abra el siguiente enlace (MIT App Inventor), que lo llevará a su página web. A continuación, haga clic en "crear aplicaciones" hacia la parte superior de la pantalla, luego inicie sesión con su cuenta de Google.

Descargue el archivo.aia que está vinculado a continuación. Abra la pestaña "proyectos" y haga clic en "Importar proyecto (.aia) desde mi computadora", luego seleccione el archivo que acaba de descargar y haga clic en "Aceptar". En la ventana de componentes, desplácese hacia abajo hasta que vea "FirebaseDB1", haga clic en él y modifique "FirebaseToken", "FirebaseURL" a los valores de los que había anotado en el paso anterior. Una vez que haya completado estos pasos, estará listo para descargar e instalar la aplicación. Puede descargar la aplicación directamente en su teléfono haciendo clic en la pestaña "Construir" y haciendo clic en "Aplicación (proporcione el código QR para.apk)" y luego escaneando el código QR con su teléfono inteligente o haciendo clic en "Aplicación (guardar.apk en mi computadora) "descargará el archivo apk en su computadora, que luego podrá cambiar a su teléfono inteligente.

Paso 15: Programando la Raspberry Pi

Programando la Raspberry Pi
Programando la Raspberry Pi

La Raspberry Pi se usa por dos razones principales.

  1. Transmite una transmisión de video en vivo desde el robot a un servidor web. El usuario puede ver esta transmisión mediante la aplicación móvil.
  2. Lee los comandos actualizados en la base de datos de la base de fuego e indica al Arduino que realice las tareas necesarias.

Para configurar la Raspberry Pi para transmisión en vivo, ya existe un tutorial detallado y se puede encontrar aquí. Las instrucciones se reducen a tres comandos simples. Encienda la Raspberry Pi y abra la terminal e ingrese los siguientes comandos.

  • clon de git
  • cd RPi_Cam_Web_Interface
  • ./install.sh

Una vez que se complete la instalación, reinicie la Pi y debería poder acceder a la transmisión buscando https:// la dirección IP de su Pi en cualquier navegador web.

Con la configuración de transmisión en vivo, deberá descargar e instalar ciertas bibliotecas para poder usar la base de datos en la nube. Abra una terminal en su Pi e ingrese los siguientes comandos:

  • solicitudes de instalación de sudo pip == 1.1.0
  • sudo pip instalar python-firebase

Finalmente, descargue el archivo de Python adjunto a continuación y guárdelo en su Raspberry Pi. En la cuarta línea del código, cambie el puerto COM al puerto al que está conectado Arduino. A continuación, cambie la URL en la línea 8 a la URL de base de fuego de la que había anotado anteriormente. Finalmente, ejecute el programa a través de la terminal. Este programa obtiene los comandos de la base de datos en la nube y los transmite al Arduino a través de la conexión en serie.

Paso 16: Programando el Arduino

Programando el Arduino
Programando el Arduino
Programando el Arduino
Programando el Arduino

El Arduino se utiliza para interpretar los comandos del Pi e instruye a los actuadores del robot para que realicen las tareas necesarias. Descargue el código de Arduino adjunto a continuación y cárguelo en Arduino. Una vez que el Arduino esté programado, conéctelo a uno de los puertos USB del Pi usando el cable USB dedicado.

Paso 17: Encendido del sistema

Encendido del sistema
Encendido del sistema

El robot se alimentará con una batería lipo de 3 celdas. Los terminales de la batería deben dividirse en dos, donde uno va directamente al escudo del CNC para alimentar los motores, mientras que el otro se conecta al UBEC de 5v, lo que crea una línea de alimentación constante de 5v que se utilizará para alimentar la Raspberry Pi. los pines GPIO. El 5v del UBEC está conectado al pin 5v del Raspberry Pi y el GND del UBEC está conectado al pin GND del Pi.

Paso 18: uso de la aplicación

Usando la aplicación
Usando la aplicación
Usando la aplicación
Usando la aplicación
Usando la aplicación
Usando la aplicación

La interfaz de la aplicación permite controlar el robot de monitoreo, así como transmitir una transmisión en vivo desde la cámara a bordo. Para conectarse a su robot, asegúrese de tener una conexión a Internet estable y luego simplemente escriba la dirección IP de la Raspberry Pi en el cuadro de texto provisto y haga clic en el botón Actualizar. Una vez hecho esto, la transmisión en vivo aparecerá en su pantalla y debería poder controlar las diversas funciones del robot.

Paso 19: Listo para probar

Listo para probar
Listo para probar
Listo para probar
Listo para probar

Ahora que su robot de monitoreo de mascotas está completamente ensamblado, puede llenar el recipiente con algunas golosinas para perros. ¡Abre la aplicación, conecta la cámara y diviértete! Actualmente hemos estado jugando con el rover y nuestro Beagle y hemos capturado momentos bastante divertidos.

Una vez que el perro superó el miedo inicial a este objeto en movimiento, estaba persiguiendo al robot por la casa en busca de golosinas. La cámara a bordo proporciona una buena vista de gran angular de los alrededores, lo que hace que sea bastante fácil de maniobrar.

Hay margen de mejora para que funcione mejor en el mundo real. Dicho esto, hemos creado un sistema robusto, en el que uno puede construir y expandir aún más. Si te gustó este proyecto, vota por nosotros en el "Concurso de Robótica"

¡Haciendo feliz!

Concurso de robótica
Concurso de robótica
Concurso de robótica
Concurso de robótica

Segundo premio en el concurso de robótica

Recomendado: