Pojazd zdalnie sterowany

Typ_projektu
microPython
Zdjecie główne
Krótki opis projektu

Projekt polega na zdalnym sterowaniu Robotem Ray za pomocą drugiej płytki ESP8266 przy użyciu komunikacji MQTT

 

Niezbędne elementy

1. Dwie płytki ESP8266

2. Robot Ray

3. Płytka „Game Console” ze strony sic.edu.pl

4. Dwa kable zasilające micro USB

5. Dwa powerbanki

Opis projektu

Cel projektu

Celem projektu jest stworzenie robota mobilnego sterowanego bezprzewodowo za pomocą modułów ESP8266. Robot reaguje na sygnały z przycisków wysyłane za pomocą protokołu MQTT, co pozwala na realizację różnych ruchów, takich jak jazda do przodu, do tyłu, skręty oraz obrót.

Składniki projektu

  1. Hardware:

    • ESP8266 (x2): Jeden moduł pełni rolę "mastera" (sterownik przycisków), a drugi "slave'a" (sterowanie ruchem robota).
    • Robot mobilny: Wyposażony w dwa silniki DC, sterowane poprzez PWM.
    • Przyciski: Sześć przycisków podłączonych do ESP8266, każdy przypisany do konkretnej akcji:
      • D5: jazda do przodu.
      • D4: jazda do tyłu.
      • D6: obrót w lewo.
      • D7: obrót w prawo.
      • D3: skręt w lewo.
      • D0: skręt w prawo.
    • Sterownik silników: Mostek H umożliwiający sterowanie kierunkiem i prędkością silników DC.
    • Zasilanie: Akumulator odpowiedni do zasilania silników i modułów ESP8266.
  2. Software:

    • Programowanie w MicroPython.
    • Protokół komunikacyjny MQTT realizowany przy użyciu brokerów, np. HiveMQ.

Działanie projektu

  1. ESP8266 Master (Sterownik przycisków):

    • Odczytuje stan przycisków.
    • Przy wciśnięciu konkretnego przycisku wysyła odpowiednią wiadomość MQTT (np. ON5, ON6).
    • Przy zwolnieniu przycisku wysyła wiadomość OFF.
  2. ESP8266 Slave (Sterownik ruchu):

    • Odbiera wiadomości MQTT i reaguje na nie, wykonując odpowiednie polecenia:
      • ON1: Jazda do przodu.
      • ON2: Jazda do tyłu.
      • ON3: Obrót w lewo.
      • ON4: Obrót w prawo.
      • ON5: Skręt w lewo.
      • ON6: Skręt w prawo.
      • OFF: Zatrzymanie silników.
  3. Sterowanie ruchem robota:

    • Moduł slave wykorzystuje PWM do kontrolowania prędkości silników i piny GPIO do ustalania kierunku obrotu.

Funkcjonalności

  • Sterowanie wieloprzyciskowe: Każdy przycisk odpowiada za inną akcję robota.
  • Płynne ruchy: PWM pozwala na dokładne sterowanie prędkością silników.
  • Bezprzewodowa komunikacja: Protokół MQTT zapewnia stabilne i szybkie przesyłanie poleceń.
  • Zatrzymanie awaryjne: Zwolnienie przycisku natychmiast zatrzymuje robota.

Możliwe rozszerzenia projektu

  • Dodanie czujników, np. ultradźwiękowego, do unikania przeszkód.
  • Integracja z aplikacją mobilną do sterowania zamiast przycisków.
  • Rozszerzenie o tryb autonomiczny, w którym robot sam podejmuje decyzje o ruchu.

Wnioski

Projekt łączy podstawy IoT i robotyki, wykorzystując ESP8266, MicroPython i MQTT. Jest to idealny wstęp do nauki zdalnego sterowania robotami i podstaw komunikacji bezprzewodowej.

kod programu

Pliki z kodami poniżej

Youtube
Tagi
zdalnie sterowane robot esp MQTT