Spisu treści:
Wideo: Wi-Servo: Serwomotory sterowane przez przeglądarkę Wi-Fi (z Arduino + ESP8266): 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Ta instrukcja pokazuje, jak zdalnie sterować niektórymi serwomotorami w sieci Wi-Fi za pomocą zwykłej przeglądarki internetowej (na przykład Firefox). Może to być używane w kilku zastosowaniach: zabawkach, robotach, dronach, obracaniu/pochylaniu kamery itp.
Silniki zostały podłączone do Arduino Uno, które łączy sieć WiFi poprzez moduł ESP-8266. Interfejs sterowania został zaprojektowany z wykorzystaniem HTML i jQuery.
Inspiracją do tego był samouczek Miguela (https://allaboutee.com/2015/01/02/esp8266-arduino-led-control-from-webpage/), który pokazuje, jak włączać/wyłączać diody LED za pomocą ESP-8266 Poczta.
Pokazana tutaj technika została wykorzystana w jednym z moich projektów: „Robô da Alegria”:
www.instructables.com/id/Joy-Robot-Rob%C3%B4-Da-Alegria-Open-Source-3D-Printed-A/
Więcej na ten temat możesz znaleźć w jednym z poniższych linków:
hackaday.io/project/12873-rob-da-alegria-joy-robot
www.facebook.com/robodaalegria/
github.com/ferauche/RoboAlegria
Krok 1: Elektronika
Do tego projektu potrzebne będą następujące komponenty:
- Arduino Uno (kup)
- ESP8266 (kup)
- Protoshield (dla bardziej kompaktowej wersji) lub zwykła płytka stykowa (kup)
- Rezystor 10 kΩ (x3)
- Niektóre przewody połączeniowe
- Serwomotor SG90 (x2) (kup)
- Komputer (do kompilacji i wgrywania kodu Arduino)
Do montażu tego projektu nie będziesz potrzebować specjalnych narzędzi. Wszystkie komponenty znajdziesz online w swoim ulubionym sklepie e-commerce. Układ zasilany jest przez port USB (podłączony do komputera lub zwykłej ładowarki telefonu), ale można też dodać zewnętrzny zasilacz DC lub baterię podłączoną do gniazda zasilania Arduino.
Krok 2: Montaż
Połącz wszystkie komponenty zgodnie ze schematem. Do połączenia modułu ESP-8266 i serwomotorów potrzebne będą zworki. Możesz użyć protoshield (dla bardziej kompaktowego obwodu), zwykłej płytki stykowej lub zaprojektować własny ekran Arduino.
Podłącz kabel USB do płytki Arduino Uno i przejdź do następnego kroku.
Krok 3: Kod Arduino
Zainstaluj najnowsze środowisko Arduino IDE. W tym projekcie do sterowania serwomechanizmami wykorzystano bibliotekę servo.h. W celu uniknięcia konfliktu pomiędzy modułem WiFi a portem USB komputera podczas wgrywania kodu zastosowano bibliotekę softserial. Do komunikacji z modułem ESP-8266 nie była potrzebna dodatkowa biblioteka. Sprawdź szybkość transmisji swojego ESP8266 i ustaw ją poprawnie w kodzie.
Niektóre serwomotory zaczynają drgać i wydawać dziwne dźwięki, gdy ich pozycja zbliża się do limitów (0 i 180 stopni). Aby tego uniknąć, kąt został ograniczony między 10 a 170 stopni zarówno w kodzie Arduino, jak i w interfejsie sterowania (później).
Niestety biblioteki servo.h i softserial.h używają tego samego timera mikrokontrolera. Może to powodować jitter w serwach za każdym razem, gdy Arduino komunikuje się z ESP-8266. Aby tego uniknąć, serwa są odłączane od Arduino po każdym poleceniu. Możesz również podłączyć moduł do standardowych pinów szeregowych. W takim przypadku pamiętaj o odłączeniu modułu przed każdym wgraniem.
Pobierz kod Arduino (wi-servo.ino) i zastąp XXXXX identyfikatorem SSID routera Wi-Fi i YYYYY hasłem routera. Podłącz płytkę Arduino do portu USB komputera i prześlij kod.
Krok 4: Interfejs
Do sterowania serwomotorami zaprojektowano interfejs html. W tym przykładzie zastosowano dwa serwa, ale do Arduino Uno można dodać więcej (testowałem do czterech silników).
Do wprowadzenia adresu IP modułu ESP służy formularz pola tekstowego.
Pobierz pliki Wi-servo.html i jquere.js i zapisz je w tym samym folderze.
Krok 5: Użycie
Po ponownym uruchomieniu Arduino spróbuje automatycznie połączyć się z siecią Wi-Fi. Użyj monitora szeregowego, aby sprawdzić, czy połączenie powiodło się i uzyskać, który adres IP został przypisany do Twojego ESP-8266 przez router.
Otwórz plik html w przeglądarce internetowej (Firefox).
Podaj adres IP swojego ESP-8266 w polu tekstowym, a będziesz gotowy do pracy. Wybierz żądany kąt dla każdego serwomechanizmu za pomocą suwaków. Przeglądarka automatycznie wyśle żądanie do Arduino po zwolnieniu przycisku myszy i przesunięciu każdego serwa.
Zalecana:
Szklana rurka LED z kamienia (WiFi sterowane przez aplikację na smartfona): 6 kroków (ze zdjęciami)
Szklana rura LED z kamienia (WiFi sterowana za pomocą aplikacji na smartfona): Witajcie koledzy twórcy! W tej instrukcji pokażę, jak zbudować sterowaną przez Wi-Fi rurkę LED, która jest wypełniona szklanymi kamieniami, aby uzyskać ładny efekt dyfuzji. Diody LED są indywidualnie adresowane, dzięki czemu możliwe są ładne efekty w
Neopiksele sterowane smartfonem (taśma LED) z aplikacją Blynk przez WiFi: 6 kroków
Neopiksele sterowane smartfonem (taśma LED) z aplikacją Blynk przez WiFi: Stworzyłem ten projekt po tym, jak zainspirowałem się neopikselami sterowanymi smartfonem w domu znajomych, ale zostały kupione w sklepie. Pomyślałem: „jak trudno jest zrobić własne, byłoby też o wiele taniej!”. Oto jak. Uwaga: Zakładam, że jesteś fa
Diody LED sterowane przez Google Home: 8 kroków
Diody LED sterowane przez Google Home: Ostatnio miałem dużo wolnego czasu, więc pracowałem nad kilkoma projektami. Ten projekt pozwoli Ci sterować diodami LED RGB przez Google Home za pomocą Raspberry Pi. Teraz są 3 części projektu, konfigurowanie Raspberry Pi, ustawianie
Robot Roomba sterowany przez przeglądarkę z Raspberry Pi Model 3 A+: 6 kroków (ze zdjęciami)
Robot Roomba sterowany przez przeglądarkę z Raspberry Pi Model 3 A+: OmówienieTen instruktaż skupi się na tym, jak dać martwemu Roombie nowy mózg (Raspberry Pi), oczy (kamera internetowa) i sposób kontrolowania wszystkiego za pomocą przeglądarki internetowej. Istnieje wiele hacków do Roomby, które umożliwiają sterowanie przez interfejs szeregowy. Nie mam
Oświetlenie wnętrza sterowane przez Wi-Fi (samochód): 5 kroków (ze zdjęciami)
Oświetlenie wnętrza sterowane przez Wi-Fi (samochód): Witam wszystkich! W tej instrukcji zainstalujemy kontrolowaną przez Wi-Fi taśmę LED RGB do wnętrza Twojego samochodu. W tym projekcie będę używał własnego samochodu (2010 Mitsubishi Lancer GTS), ale konfiguracja powinna działać dla większości pojazdów. Tam