Spisu treści:
- Krok 1: Lista komponentów
- Krok 2: Mózg projektu - płytka rozwojowa ESP8266 (Wemos D1 Mini)
- Krok 3: Sterownik silnika - L293d
- Krok 4: PCF8574 - ekspander portów we/wy
- Krok 5: Schematy
- Krok 6: Kod
Wideo: Robot 4-kołowy sterowany przez Wi-Fi: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
W ramach tego projektu opracujemy robota z czterema kołami za pomocą ESP8266, który będzie sterowany przez sieć Wi-Fi. Robotem można sterować ze zwykłej przeglądarki internetowej, korzystając z interfejsu zaprojektowanego w HTML lub też z aplikacji mobilnej na Androida. Układ ESP8266 to potężny i tani mikrokontroler, który jest nie tylko łatwy w obsłudze, ale także posiada wbudowaną łączność Wi-Fi. To idealny chip do zdalnego sterowania robotami z komputera lub urządzenia mobilnego.
Aby włączyć ten układ do naszego projektu, możemy użyć różnych płytek rozwojowych opartych na tym mikrokontrolerze.
1. Adafruit Feather Huzzah - jest produkowany przez Adafruit i ma łatwo dostępne instrukcje i wsparcie. Posiada ładowarkę li-po na samej płytce, dzięki czemu przyda się w projektach przenośnych.
2. NodeMCU ESP8266 - Płyta jest open source i ma doskonałą dokumentację, więc rozpoczęcie pracy będzie bardzo łatwe.
3. Sparkfun ESP8266 - Jest jak Huzzah z dodatkowym włącznikiem zasilania i zewnętrzną anteną dla większego zasięgu Wi-Fi.
4. Wemos D1 Mini - Jest to najmniejsza ze wszystkich płyt, ale nie ma to żadnego wpływu na wydajność.
W moim projekcie używam Wemos D1 Mini do stworzenia 4-kołowego robota sterowanego przez Wi-Fi. Ale możesz użyć dowolnej płytki rozwojowej ESP8266 i użyć tego samego kodu Arduino bez żadnych zmian. Zaprojektowałem płytkę PCB do tego projektu, ale możesz użyć płytki drukowanej z kropką, aby zaimplementować obwód lub nawet zaprojektować własną płytkę drukowaną.
Będziemy używać zestawu 4WD Robotic Chassis Kit, jak pokazano na powyższym obrazku, ponieważ jest idealny do majsterkowania i jest najbardziej ekonomicznym zestawem samochodowym robota o prostej konstrukcji mechanicznej.
Cechy tego zestawu:-
1. W zestawie cztery oddzielne plastikowe silniki BO ze skrzynią biegów, co zapewnia zwrotność.
2. Duża, wytrzymała akrylowa obudowa umożliwia rozbudowę w celu majsterkowania.
3. Zestaw podwozia inteligentnego samochodu z napędem na cztery koła. Bardzo łatwy w instalacji, wystarczy dodać mikrokontroler (np. Arduino) i moduły czujników, aby zbudować w pełni autonomicznego robota
Krok 1: Lista komponentów
Wemos D1 Mini [Ilość – 1]
Układ scalony sterownika silnika L293d [Ilość – 2]
IC ekspandera portów PCF8574 [Ilość – 1]
Akumulator litowo-jonowy 12 V [Ilość – 1]
Płytka PCB robota sterowanego przez Wi-Fi [Ilość – 1]
4WD Robot Smart Car Chassis Kit [Ilość – 1]
Krok 2: Mózg projektu - płytka rozwojowa ESP8266 (Wemos D1 Mini)
Wemos D1 Mini to mini płytka rozwojowa Wi-Fi z 4MB pamięci flash oparta na chipie ESP-8266.
- Posiada 11 cyfrowych pinów wejścia/wyjścia, wszystkie piny obsługują przerwanie/pwm/I2C/one-wire (z wyjątkiem D0)
- Posiada 1 wejście analogowe (wejście maks. 3,2 V)
- Posiada złącze Micro USB do programowania oraz zasilanie.
Ta płytka jest oparta na ESP8266, dlatego jest kompatybilna z Arduino IDE, dlatego może być programowana za pomocą Arduino lub może być również programowana za pomocą kompilatora Lua. Obsługuje również programowanie szeregowe i OTA.
Będziemy programować Wemos D1 Mini przy użyciu Arduino IDE. Aby zaprogramować płytkę za pomocą Arduino IDE należy spełnić poniższe wymagania.
Wymóg:-
- Sterownik CH340G
- Zainstaluj najnowsze środowisko Arduino IDE ze strony Arduino.
- Kabel micro USB do programowania
Po zainstalowaniu sterownika i oprogramowania arduino należy zainstalować „Arduino core for ESP8266 WiFi chip” wewnątrz Arduino IDE, abyśmy mogli zaprogramować układ ESP8266 ze środowiska Arduino. Ten rdzeń Arduino ESP8266 umożliwia pisanie szkiców przy użyciu znanych funkcji i bibliotek Arduino oraz uruchamianie ich bezpośrednio na ESP8266, bez konieczności używania zewnętrznego mikrokontrolera.
ESP8266 Arduino core zawiera biblioteki do komunikacji przez WiFi za pomocą TCP i UDP, konfiguracji serwerów HTTP, mDNS, SSDP i DNS, wykonywania aktualizacji OTA, korzystania z systemu plików w pamięci flash, pracy z kartami SD, serwami, urządzeniami peryferyjnymi SPI i I2C.
Pobierz poniższy dokument, aby dowiedzieć się, jak zainstalować rdzeń arduino Esp8266.
Krok 3: Sterownik silnika - L293d
Motor Driver to układ scalony do silników, który pozwala kontrolować prędkość i kierunek pracy dwóch silników jednocześnie.
L293d jest przeznaczony do dostarczania dwukierunkowych prądów napędowych przy napięciach od 5 V do 36 V. L293D może jednocześnie napędzać 2 silniki prądu stałego.
L293D to 16-pinowy układ scalony sterownika silnika. Dla każdego silnika dostępne są 4 piny INPUT, 4 piny OUTPUT i 2 piny ENABLE.
Funkcje L293D:
Możliwość prądu wyjściowego 600mA na kanał
Sterowanie zegarem i kierunkiem w lewo dla poszczególnych kanałów
Opis pinów L293d:
- Pin 1: Gdy Enable1 jest WYSOKIE, lewa część układu scalonego będzie działać, tj. silnik połączony z pinem 3 i pinem 6 będzie się obracał.
- Pin 2: Wejście 1, gdy ten pin jest WYSOKI, prąd będzie płynął przez wyjście 1.
- Pin 3: Wyjście 1, ten pin jest połączony z jednym zaciskiem silnika.
- Pin 4/5: piny GND
- Pin 6: Wyjście 2, ten pin jest połączony z jednym zaciskiem silnika.
- Pin 7: Wejście 2, gdy ten pin jest WYSOKI, prąd będzie płynął przez wyjście 2.
- Pin 8: VCC2, ten pin służy do zasilania podłączonych silników od 5 V do 36 V maksymalnie w zależności od podłączonego silnika.
- Pin 9: Gdy Enable 2 jest WYSOKIE, prawa część układu scalonego będzie działać, tj. silnik połączony z pinem 11 i pinem 14 będzie się obracał.
- Pin 10: Wejście 4, gdy ten pin jest WYSOKI, prąd będzie płynął przez wyjście 4.
- Pin 11: Wyjście 4, ten pin jest połączony z jednym zaciskiem silnika.
- Pin 12/13: piny GND
- Pin 14: Wyjście 3, ten pin jest połączony z jednym zaciskiem silnika.
- Pin 15: Wejście 3, gdy ten pin jest WYSOKI, prąd będzie płynął przez wyjście 3.
- Pin 16: VCC1, do zasilania logicznego układu scalonego tj. 5V.
W ten sposób widać, że do sterowania każdym silnikiem potrzebne są 3 piny cyfrowe (jeden pin do sterowania prędkością i dwa piny do sterowania kierunkiem). Jeśli jeden L293d steruje dwoma silnikami prądu stałego, będziemy potrzebować dwóch układów scalonych L293d do sterowania czterema silnikami prądu stałego. W tym projekcie użyjemy plastikowych silników BO Motors. Widzisz zatem, że będziemy potrzebować 12 cyfrowych pinów do niezależnego sterowania wszystkimi czterema silnikami prądu stałego, zarówno z kontrolą prędkości, jak i kierunku.
Ale jeśli widzisz, że Wemos D1 mini ma tylko 11 cyfrowych pinów I/O i 1 pin analogowy. Aby rozwiązać ten problem, podłączymy cztery piny włączające (dwa piny włączające pierwszego L293d i dwa piny włączające drugiego L293d) bezpośrednio do pinów Wemos Digital, podczas gdy wszystkie osiem pinów wejściowych (cztery z pierwszych L293d i cztery innych L293d) przy użyciu PCF8574 (ekspander portów I/O) przez I2C.
Krok 4: PCF8574 - ekspander portów we/wy
Wemos D1 Mini (czyli ESP8266) ma brak pinów wejścia/wyjścia. Możemy zwiększyć cyfrowe piny wejścia/wyjścia za pomocą IC expandera I/O, takiego jak PCF8574, który jest 8-bitowym ekspanderem I/O.
Jedną z zalet korzystania z ekspandera we/wy PCF8574A jest to, że wykorzystuje on magistralę I2C, która wymaga tylko dwóch linii danych, są to zegar (SCK) i dane (SDA). Dlatego za pomocą tych dwóch linii możesz kontrolować do ośmiu pinów tego samego chipa. Zmieniając trzy piny adresowe każdego PCF8574, możemy kontrolować łącznie 64 piny.
Ten 8-bitowy ekspander wejść/wyjść (I/O) dla dwuliniowej dwukierunkowej magistrali (I2C) jest przeznaczony do pracy z napięciem 2,5 V do 6 V VCC. Urządzenie PCF8574 zapewnia zdalną rozbudowę I/O ogólnego przeznaczenia dla większości rodzin mikrokontrolerów za pomocą interfejsu I2C [zegar szeregowy (SCL), dane szeregowe (SDA)].
Urządzenie jest wyposażone w 8-bitowy, quasi-dwukierunkowy port we/wy (P0–P7), w tym wyjścia zatrzaskowe z możliwością zasilania wysokoprądowego do bezpośredniego sterowania diodami LED. Każde quasi-dwukierunkowe we/wy może być używane jako wejście lub wyjście bez użycia sygnału sterującego kierunkiem danych. Po włączeniu, wejścia/wyjścia są wysokie.
Zobacz poniższy plik pdf "PCF8574_With_L293d" dla schematu połączenia PCF8574 z dwoma układami scalonymi L293d
Krok 5: Schematy
Użyłem Kicada do projektowania PCB.
Pobierz poniższy schematyczny plik pdf, aby zaprojektować własną płytkę drukowaną lub zaimplementować ją na płytce drukowanej z kropkami.
Krok 6: Kod
Połącz się z następującym punktem dostępu Wi-Fi:-
// Poświadczenia sieciowe zdefiniowane przez użytkownikaconst char* ssid = "WiFi_Robot";
const char* hasło = "Automate@111";
Po połączeniu się z powyższym punktem dostępowym przejdź do poniższego linku w przeglądarce internetowej:-
192.168.4.1
Otrzymasz następującą wiadomość:-
"Cześć z Robota!"
192.168.4.1/fw
Spowoduje to ruch robota do przodu
192.168.4.1/bk
Spowoduje to, że robot cofnie się
192.168.4.1/lt
Spowoduje to, że robot przesunie się w lewo
192.168.4.1/rt
Spowoduje to, że robot poruszy się w prawo
192.168.4.1/st
Spowoduje to zatrzymanie robota
Jeśli chcesz, możesz również sterować robotem za pomocą aplikacji na Androida stworzonej przez Robo India.
{Wyszukaj aplikację na Androida „WiFi Robot Controller” w Playstore firmy Robo India}
[Uwaga: w żaden sposób nie jestem związany z Robo India i to nie jest reklama, to mój osobisty projekt!]
Wideo robocze projektu:-
Zalecana:
Robot z wieloma czujnikami sterowany przez Wi-Fi: 6 kroków
Robot z wieloma czujnikami sterowany przez Wi-Fi: w tym samouczku pokażę, jak zbudować inteligentny łazik sterowany przez Wi-Fi za pomocą nodemcu. Dzięki temu łazikowi możesz obserwować parametry otoczenia robota (światło, temperatura, wilgotność) w rzeczywistym czas ze smartfonem.pierwszy zegarek
Robot z mechanicznym ramieniem 4 DOF sterowany przez Arduino: 6 kroków
Mechaniczne ramię robota 4 DOF sterowane przez Arduino: Ostatnio kupiłem ten zestaw na aliexpress, ale nie mogłem znaleźć instrukcji, która pasuje do tego modelu. Więc kończy się to prawie dwukrotnie zbudowaniem i wykonaniem wielu eksperymentów, aby znaleźć odpowiednie kąty montażu serwomechanizmu. Rozsądną dokumentacją jest on
Plotti Botti: sterowany przez Internet robot do rysowania!: 10 kroków
Plotti Botti: sterowany przez Internet robot do rysowania!: Plotti Botti to ploter XY przymocowany do tablicy, którym może sterować każdy za pośrednictwem LetsRobot.tv
Robot sterowany przez Wi-Fi za pomocą Wemos D1 ESP8266, Arduino IDE i aplikacji Blynk: 11 kroków (ze zdjęciami)
Robot sterowany przez Wi-Fi za pomocą Wemos D1 ESP8266, Arduino IDE i aplikacji Blynk: W tym samouczku pokażę, jak zrobić zrobotyzowany czołg sterowany przez Wi-Fi, sterowany ze smartfona za pomocą aplikacji Blynk. W tym projekcie wykorzystano płytkę ESP8266 Wemos D1, ale można również zastosować inne modele płyt (NodeMCU, Firebeetle itp.), a pr
Rolling Robot z ESP32 Thing i sterownikiem TB6612FNG, sterowany przez Androida przez BLE: 11 kroków
Rolling Robot z ESP32 Thing i sterownikiem TB6612FNG, kontrolowany przez Androida przez BLE: Witam wszystkich To jest moja pierwsza instrukcja. Toczący się robot (nazywany Raidho - od runy kojarzącej się z ruchem) oparty na ESP32 Thing, TB6612 FNG i BLE. Jedną z części, która może wydawać się osobliwa, jest to, że zdjęcia nie pochodzą z procesu tworzenia