Arduino Alvik: explorar y reportar a pantalla remota

Roni Bandini
2 min readJun 21, 2024

--

Arduino Alvik explorar y reportar

Va el segundo programa con el robot Arduino Alvik. Ahora la idea es explorar el terreno y comunicar los datos de exploración a una base remota.

Partes requeridas

Comunicación con la base

El Alvik tiene tanto Bluetooth como WiFi. Entre las opciones que ofrece el WiFi en ESP32 está la posibilidad de usar ESPNow.

Para usar ESPNow con Alvik es necesario consignar este import

import espnow

y luego definir el MAC address de la parte receptora. Para obtener el MAC en la parte receptora incluyo un código .ino que lo imprime por Serial.

peer = b’\x00\x00\x00\x00\x00\x00'
e = espnow.ESPNow()
e.active(True)
e.add_peer(peer)

Cada una cantidad de segundos configurable, el Alvik envía por ESPNow un CSV al MAC address

ESP32 con pantalla TFT para recibir datos del Alvik

e.send(peer, str(alvik.get_battery_charge()) +”,”+ str( alvik.get_color_label()) +”,”+ str(time.time() — start) +”,”+ str(turns)+” “ )

  • Carga de la batería por medio de alvik.get_battery_charge()
  • Color del suelo por medio de alvik.get_color_label()
  • Tiempo insumido
  • Cantidad de giros efectuados
Codigo C++

Para la parte receptora conecté un Firebeetle 2 ESP32E a una pantalla TFT 320x240 y procedí a monitorear la recepción de estos mensajes por medio de un callback esp_now_register_recv_cb(esp_now_recv_cb_t(OnDataRecv))

En la llamada a esa función parsea los datos del mensaje CSV y los imprime en la pantalla.

Código MicroPython
Emisor y receptor

Demo

Código fuente

https://github.com/ronibandini/Alvik

--

--

Roni Bandini

Contracultura maker 🛠️ Arte electrónico 💡Inteligencia Artificial