Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/99danirmoya/turtle-bot-neo-evo
Mini rover basado en ESP32 S3 impulsado por dos servos de rotación continua que envía los datos de un BME280 y recibe órdenes de control por MQTT desde NodeRED Dashboard. Cuenta, además, con panel OLED, bocina y un LED.
https://github.com/99danirmoya/turtle-bot-neo-evo
bme280 esp32-arduino mqtt rover sensor servo-motor
Last synced: 4 days ago
JSON representation
Mini rover basado en ESP32 S3 impulsado por dos servos de rotación continua que envía los datos de un BME280 y recibe órdenes de control por MQTT desde NodeRED Dashboard. Cuenta, además, con panel OLED, bocina y un LED.
- Host: GitHub
- URL: https://github.com/99danirmoya/turtle-bot-neo-evo
- Owner: 99danirmoya
- License: gpl-3.0
- Created: 2024-07-17T14:28:45.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-18T09:53:07.000Z (about 2 months ago)
- Last Synced: 2024-11-04T11:03:32.434Z (4 days ago)
- Topics: bme280, esp32-arduino, mqtt, rover, sensor, servo-motor
- Language: C++
- Homepage:
- Size: 2.72 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![Static Badge](https://img.shields.io/badge/stability-v3.0-3314333)
#
Turtle-Bot NEO EVO
_Programado en_
[![made-in-ArduinoIDE](https://img.shields.io/badge/Arduino_IDE-00979D?style=for-the-badge&logo=arduino&logoColor=white)](https://www.arduino.cc/)
_Servicios en la nube ofrecidos por_
## Mini rover WiFi con sensor climático y de material particulado, GPS, panel OLED, luces LED y bocina controlado desde Telegram y NodeRED Dashboard a los que se envían los datos recogidos en tiempo real
___
## Modo de funcionamiento
1. Se conecta el robot a una WiFi accediendo a su hotspot desde otro dispositivo (PC o smartphone)
2. En caso de querer usarse el I/O desde Telegram, se deberá crear un bot desde BotFather para acceder a su token y deshabilitar la privacidad en grupos para poder explotar el máximo potencial con el comando `/setprivacy`
3. Se accede al panel de control en la nube para su pilotaje de forma remota
- ALTERNATIVAMENTE: Si no se ha accedido aún a NodeRED, se debe importar el flujo (más info a continuación) y configurar los nodos relacionados con MQTT, bots de Telegram e InfluxDB.___
##
Lista de componentes
| Componente | Unidades |
| ------------- | ------------- |
| LilyGO T3 S3 | 1 |
| Protoboard | 1 |
| Chasis | 1 |
| LED | 1 |
| Resistencia 220ohm | 1 |
| Zumbador | 1 |
| BME280 | 1 |
| GPS NEO-6M | 1 |
| SDS011 | 1 |
| Servo de rotación continua | 2 |
| Ruedas | 2 |
| Jumpers | Los que hagan falta |___
## Diagrama de conexiones
A continuación, se muestra el diagrama de conexiones del robot.
Circuito del Turtle-Bot NEO EVO
La tarjeta de prototipado específica empleada para el desarrollo ha sido la LilyGO T3-S3 v1.2:
Pinout de la tarjeta de prototipado LilyGO T3-S3 v1.2
> [!CAUTION]
> **OJO**, el microcontrolador usado en el dibujo es el TTGO LoRa32 OLED, antecesor del LilyGO T3-S3 v1.2 que se emplea en este ejemplo. Por ello, el pinout del esquema es distinto, **sólo se debe seguir la ubicación de los pines**.___
## Modo de implementación
Toda la explicación del código de Arduino viene dada en el propio código, [`99danirmoya/Turtle-Bot-NEO-EVO/blob/main/tbne/tbne.ino`](https://github.com/99danirmoya/Turtle-Bot-NEO-EVO/blob/main/tbne/tbne.ino), en formato de comentarios al lado de cada línea.
Por otra parte, se debe importar el flujo que se muestra a continuación desde el archivo [`flow_tbne.json`](https://github.com/99danirmoya/Turtle-Bot-NEO-EVO/blob/main/nodered_flow/flow_tbne.json):
Flujo de NodeRED para el control de Turtle-Bot NEO EVO
Con el flujo importado y habiéndose configurado los nodos de MQTT, Telegram, función e InfluxDB, se puede acceder al siguiente panel de control y monitoreo del sensor:
Dashboard de NodeRED para el control y monitoreo climático a borde de Turtle-Bot NEO EVO
Dashboard de NodeRED para la visualización historica del sensor climático a bordo
En el siguiente enlace, se puede consultar el [panel a distancia](https://e047be1273f7b77c71d4d02783f546a4.balena-devices.com/ui/#!/0?socketid=kMCTOBbX9VSPFcfIAAAF) original. **Está configurado para el Turtle-Bot NEO EVO original**.
Por otra parte, se puede hacer uso de un bot de Telegram para recibir notificaciones de eventos importantes de la batería (batería baja o batería cargada), así como invocar un menú, creado por [Alex Trostle](https://flows.nodered.org/flow/c8194f9d056455018d2da8ef7e109733), en el que encender o apagar el panel OLED y la luz OLED al hacer uso del comando `/neo2`:
Menú del bot de Telegram para escoger dispositivo al que modificar su estado
Menú del bot de Telegram para encender o apagar el dispositivo elegido
___
___## Ejemplo de montaje
Muestra de montaje y cableado
> [!NOTE]
> Esta imagen es únicamente una muestra orientativa. Lo razonable sería montar tanto el Arduino UNO como la protoboard sobre el chasis y distanciar el switch de tres posiciones y el joystick a modo de mando. El chasis está hecho en impresión 3D y vale cualquiera que venga preparado para servos y los sensores elegidos para cada modo___
___
##
Licencia
Este proyecto está licenciado bajo la [GPL-3.0 license](https://github.com/99danirmoya/turtle-bot-neo?tab=GPL-3.0-1-ov-file).
___
##
Contacto
> [!IMPORTANT]
> Respondo amablemente a dudas y leo sugerencias: [![Gmail Badge](https://img.shields.io/badge/-Gmail-c14438?style=for-the-badge&logo=Gmail&logoColor=white&link=mailto:[email protected])](mailto:[email protected])
>
> Más información sobre mis proyectos: [![Linkedin Badge](https://img.shields.io/badge/-LinkedIn-blue?style=for-the-badge&logo=Linkedin&logoColor=white&link=https://www.linkedin.com/in/daniel-rodr%C3%ADguez-moya-510a35167)](https://www.linkedin.com/in/daniel-rodr%C3%ADguez-moya-510a35167)_
Autor: Daniel Rodríguez Moya :shipit:
_