Skip to content

A robot that connects a couple through a Telegram bot.

Notifications You must be signed in to change notification settings

jm-real-99/Arduino-dog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Arduino DogBot (ES)

Explicación del proyecto

La idea de este proyecto es conectar a dos personas mediante un robot programado en arduino. El principal propósito está en profundizar sobre la comunicación serial entre dos procesadores arduino siguiendo el modelo maestro-esclavo, además de entrar en el mundo de la conectividad wifi y los bots de telegram usando arduino y sus librerias.

Materiales necesarios

  • Placa NoceMCU (1u)
  • Placa Arduino Nano (1u)
  • Módulo matriz led 8x8 MAX7219 (2u)
  • Teclado botón 3x4 (1u)
  • Reloj en tiempo real DS1307 I2C (RTC) (1u)
  • Zumbador (1u)
  • Cable USB hembra a Micro usb y Mini usb (1u)
  • Resistencia 1kΩ (3u)
  • Placa pcb (1u)
  • Cables alambre (17u)

Esquema conexiones

Esquema de conexinoes

Explicación funcionamiento

Módulo esclavo (NodeMCU)

Su principal función es conectarse a la red wifi para comunicarse con el bot de telegram. Para ello utilizaremos las librerias SoftwareSerial, CTBot y utilities. Para configurar nuestras conexiones tendremos que introducir los datos del router a conectar en los parámetros indicados. Además tendremos que crear un bot para añadirlo a nuestras conexiones. Esto lo prodremos hacer siguiendo el tutorial incluido en referencias. El código se basa en dos funciones: comunicarMensaje : En el caso de que recibamos un mensaje del bot de ayuda devolvemos al bot un mensaje con los comandos necesarios para usar el bot; o en el caso de que sea otro mensaje, se lo comunicamos a la placa de arduino nano mediante la comunicación serial. recibirSeñal : Se encarga de comprobar si hemos recibido un mensaje por la comunicación serial, y en caso de hacerlo lo reenviamos al bot.

Módulo maestro (Arduino nano)

Este módulo tiene un código más complejo y extenso. Su función es tratar las acciones recibidas por el módulo esclavo o por la entrada de teclado y luego comunicarlas de nuevo por la comunicación serial. Para ello utilizaremos las bibliotecas SoftwareSerial, MD_MAX72xx , RTClib , Wire , Time y TimeLib. El funcionamiento principal se representa en los módulos led que hacen de ojos, que mostrarán expresiones o mensajes según se reciban las señales asociadas, ya sea por teclado o mensaje. También tenemos la oportunidad de ver la hora actual o programar una alarma que hará sonar al zumbador (en este caso se ha programado una melodía similar a la canción My Chemical Romance - Na Na Na .

Video funcionamiento

Alt text

Códigos de animaciones matriz led

Bot telegram

  • /love: Enviar un corazón
  • /happy: El perrito se pone contento
  • /sad:El perrito se pone triste
  • /sleep: El perrito se pone a dormir
  • /gm: Imprime un mensaje de buenos días
  • /gn: Imprime un mensaje de buenas noches
  • /my: Imprime el mensaje miss you
  • /lv: Imprime un te quiero
  • /time: Imprime la hora
  • /ok: Simula la pulsación del botón ok del perrito
  • /back: Simula la pulsación del botón back del perrito
  • /setAlarm: Simula la pulsación del botón setAlarm del perrito
  • Cualquier otro texto, lo imprime en el perrito

Códigos arduino Animaciones estáticas Animaciones dinámicas1 Animaciones dinámicas2 Animaciones dinámicas3 Animaciones dinámicas4

Medidas carcasa robot

Medidas generales Medidas generales Estas medidas son en caso de que se quiera hacer la carcasa en madera contrachapada (como yo la hice), en caso de quererla imprimir en 3d, he aportado un modelo para poder imprimirlo, además para estructurar las piezas.

Referencias

Arduino DogBot (EN)