Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Denne instruksjonen viser hvordan du fjernstyrer noen servomotorer i et wi-fi-nettverk ved hjelp av en vanlig nettleser (for eksempel Firefox). Dette kan brukes i flere bruksområder: leker, roboter, droner, kamerapan/tilt osv.
Motorene ble festet til en Arduino Uno, som kobler wi-fi-nettverket gjennom en ESP-8266-modul. Kontrollgrensesnittet ble designet med HTML og jQuery.
Miguels opplæring (https://allaboutee.com/2015/01/02/esp8266-arduino-led-control-from-webpage/), som viser hvordan du slår på/av lysdioder ved hjelp av ESP-8266, tjente som inspirasjon for dette post.
Teknikken som vises her, brukes i et av prosjektene mine: "Robô da Alegria":
www.instructables.com/id/Joy-Robot-Rob%C3%B4-Da-Alegria-Open-Source-3D-Printed-A/
Du kan finne mer om dette i en av følgende lenker:
hackaday.io/project/12873-rob-da-alegria-joy-robot
www.facebook.com/robodaalegria/
github.com/ferauche/RoboAlegria
Trinn 1: Elektronikk
For dette prosjektet trenger du følgende komponenter:
- Arduino Uno (kjøp)
- ESP8266 (kjøp)
- Protoshield (for en mer kompakt versjon) eller et vanlig brødbrett (kjøp)
- 10 kohm motstand (x3)
- Noen hoppetråder
- SG90 servomotor (x2) (kjøp)
- En datamaskin (for å kompilere og laste opp Arduino -kode)
Du trenger ikke spesifikke verktøy for montering av dette prosjektet. Alle komponentene finner du online på din favoritt netthandel. Kretsen drives av USB -porten (koblet til en datamaskin eller en vanlig telefonlader), men du kan også legge til en ekstern likestrømforsyning eller et batteri koblet til Arduino -kontakten.
Trinn 2: Montering
Koble til alle komponentene i henhold til skjemaet. Du trenger noen jumperkabler for å koble ESP-8266-modulen og servomotorene. Du kan bruke en protoshield (for en mer kompakt krets), et vanlig brødbrett, eller designe du eier Arduino -skjold.
Koble USB -kabelen til Arduino Uno -kortet og fortsett til neste trinn.
Trinn 3: Arduino -kode
Installer den nyeste Arduino IDE. I dette prosjektet ble servo.h -biblioteket brukt til kontroll av servoene. For å unngå konflikt mellom wi-fi-modulen og datamaskinens USB-port under opplasting av koden, ble softserial bibliotek brukt. Ingen ekstra bibliotek var nødvendig for kommunikasjon med ESP-8266-modulen. Vennligst sjekk baudhastigheten til deg ESP8266 og sett den riktig i koden.
Noen servomotorer begynner å dirre og lage merkelige lyder når posisjonen er nær grensene (0 og 180 grader). For å unngå det var vinkelen begrenset mellom 10 og 170 grader både i Arduino -koden og i kontrollgrensesnittet (senere).
Dessverre bruker servo.h bibliotek og softserial.h bibliotek den samme timeren til mikrokontrolleren. Dette kan forårsake rystelser i servoene når Arduino kommuniserer med ESP-8266. For å unngå det, er servoene løsrevet fra Arduino etter hver kommando. Du kan også koble modulen til standard serielle pinner. I dette tilfellet må du huske å koble fra modulen før hver opplasting.
Last ned Arduino-koden (wi-servo.ino) og erstatt XXXXX med wifi-ruteren SSID og ÅÅÅÅÅ med ruteren passord. Koble Arduino -kortet til datamaskinens USB -port og last opp koden.
Trinn 4: Grensesnitt
Et html -grensesnitt ble designet for kontroll av servomotorene. I dette eksemplet ble to servoer brukt, men flere kan legges til Arduino Uno (jeg testet opptil fire motorer).
Et tekstboksskjema brukes til å angi IP -adressen til ESP -modulen.
Last ned Wi-servo.html- og jquere.js-filer og lagre begge i samme mappe.
Trinn 5: Bruk
Når Arduino startes på nytt, prøver den å koble til wi-fi-nettverket automatisk. Bruk Serial Monitor for å sjekke om tilkoblingen var vellykket, og for å få hvilken IP som ble tilordnet ESP-8266 av ruteren din.
Åpne html -filen i en nettleser (Firefox).
Informer IP-adressen til ESP-8266 i tekstboksen, så er du klar. Velg ønsket vinkel for hver servo ved hjelp av glidebryterne. Nettleseren sender automatisk en forespørsel til Arduino når du slipper museknappen og flytter hver servo.