Innholdsfortegnelse:
- Trinn 1: Trinn 1: Komponenter
- Trinn 2: Trinn 2: Koble til servomotoren
- Trinn 3: Trinn 3: En liten forståelse
- Trinn 4: Trinn 4: Legg til kode for å teste servomotoren
- Trinn 5: Trinn 5: Forberedelse til kommunikasjon
- Trinn 6: Trinn 6: Test av kommunikasjonen
- Trinn 7: Trinn 7: Legge til kommandoer
- Trinn 8: Trinn 8: Koble enheten til gardinene dine (ikke nødvendig)
Video: Kontinuerlig rotasjonsservomotor (CRS) med telegramkontroll: 8 trinn
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
I denne instruksen vil jeg lære deg hvordan du kontrollerer en CRS via telegram. For dette instruerbare trenger du et par ting. Jeg skal jobbe med en NodeMCU 1.0 (ESP-12E-modul). Dette kan fungere på andre Arduino -bånd, du trenger bare å finne de riktige stasjonene for det.
Følgende var oppsettmiljøet for ESP-12E-modulen:
- Windows 10
- Arduino IE 1.8.7 (Windows Store 1.8.15.0)
En guide for hvordan du installerer drivere og kjernefiler for ESP-12E-modulen finner du her:
Når du har gjort dette. Vi er klare til å gå!
Trinn 1: Trinn 1: Komponenter
For denne opplæringen trenger du noen komponenter:
- ESP12-E-modul (ESP8266)
- Kontinuerlig rotasjons servomotor (dette er den jeg brukte)
- Micro USB -kabel
- Et Wifi -nettverk
- Telegram App
- En Botfather Bot (ikke bekymre deg, vi kommer dit)
Trinn 2: Trinn 2: Koble til servomotoren
Følg denne skjemaet for å koble opp servomotoren.
- Svart: GND (bakken)
- Rød: 3,3V eller 5V (strøm)
- Gul eller hvit: Digital utgang (signal)
Så hvis du bruker den samme servomotoren som jeg brukte og har et arduino -kort med en høyere spenning (5V maks), kan du holde strømkabelen der. Det vil bare bety at servomotoren vil produsere mer dreiemoment. Uansett er 3,3V eller 5V begge fine.
Trinn 3: Trinn 3: En liten forståelse
Før vi begynner å teste kode og se om den fungerer, er det noe du må forstå om denne servomotoren. Siden det ikke er en konvensjonell servomotor, som går til bestemte vinkler, er koden du trenger å bruke litt annerledes.
Jeg anbefaler ikke å bruke servoen med fullt dreiemoment, siden det skaper mye varme og kan forbruke mye av livet som produktet har. Prøv å bo rundt [60, 120].
ugyldig sløyfe {
myservo.write (90); // dette betyr ingen bevegelse, servomotoren står stille forsinkelse (1000); myservo.write (0); // dette betyr full fart mot urviseren bevegelsesforsinkelse (1000); myservo.write (180); // dette betyr full fart med urviseren (1000); }
Trinn 4: Trinn 4: Legg til kode for å teste servomotoren
#inkludere
Servo myservo; ugyldig oppsett () {myservo.attach (D5); // fest servoen på pin D5)} void loop () {myservo.write (85); // roterer motoren mot klokken ved lav hastighetsforsinkelse (1000); myservo.write (120); forsinkelse (1000); myservo.write (90); forsinkelse (5000); }
Trinn 5: Trinn 5: Forberedelse til kommunikasjon
For å kunne kommunisere med deg Arduino må du fikse et par ting. De er ganske enkle. Vi vil dele disse oppgavene i to små seksjoner.
Boten
- Installer Telegram på mobiltelefonen din.
- Lag en konto på Telegram.
- Søk i brukeren 'Botfather'.
- Lag en ny bot ved å bruke kommandoene han viser (lagre nøkkelen han gir deg).
Arduino -oppgavene
- Åpne Arduino IE.
- Gå til "Library Manager".
- Legg til biblioteket 'Universal Telegrambot'.
-
Legg til biblioteket 'ArduinoJson'.
- Ikke legg til beta
- Legg til den siste 5.x -bygningen som finnes.
Trinn 6: Trinn 6: Test av kommunikasjonen
Vi er nesten der.
- Åpne 'echobot' ut av universaltelegrambot> esp8266 -biblioteket.
- Endre wifi -legitimasjonen for å matche nettverket ditt på stedet du er.
- Endre BOTtoken som Botfather ga deg.
- Legg til denne kodelinjen i for -løkken som er i `void loop ();`
Serial.println (bot.messages .text);
Nå er vi klare til å teste.
Last opp denne koden til din Arduino. Sjekk den serielle skjermen om NodeMCU kobler til ditt wifi -nettverk. Når du ser at den er koblet til, sender du en melding til boten din. Det burde sende deg nøyaktig samme melding tilbake.
Trinn 7: Trinn 7: Legge til kommandoer
Så, det fungerte! Vi har en forbindelse mellom enhetene. Det neste trinnet er å legge ting sammen. Så vi skal legge til kommandoer i den eksisterende echobot -koden. Det kan være lurt å sette den neste koden i stedet for den siste koden jeg ga deg. Så vi forhindrer oss i å ha en bot som oppfører seg som en papegøye.
Denne neste koden må være i for -løkken som går gjennom nye meldinger. Avhengig av hvordan du plasserer servomotoren, vil du kanskje bytte kommandoer 'Åpne' og 'Lukk'. Last opp dette til esp8266 og sjekk om det fungerer.
// kommandoen du vil ha
if (bot.messages .text == "Open") {
// Svaret bot vil gi deg bot.sendMessage (bot.messages .chat_id, "jeg åpner gardinene for deg.");
// hva arduino -brettet vil gjøre
myservo.write (80); // servomotor snur mot klokken for å åpne gardinene
}
if (bot.messages .text == "Stop") {// Svaret bot vil gi deg bot.sendMessage (bot.messages .chat_id, "Stoppe gardinene."); // hva arduino -brettet vil gjøre myservo.write (90); // servomotor slutter å snu}
if (bot.messages .text == "Close") {// Svaret bot vil gi deg bot.sendMessage (bot.messages .chat_id, "jeg lukker gardinene for deg."); // hva arduino -brettet vil gjøre myservo.write (80); // servomotor svinger med klokken for å lukke gardinene}
Trinn 8: Trinn 8: Koble enheten til gardinene dine (ikke nødvendig)
Yeeeey, du er ferdig!
Instruksjonene var om hvordan du kobler en Telegrambot til Arduino slik at du kan kontrollere den på avstand. Men jeg laget dette spesielle oppsettet for å ha en måte å åpne gardinene på i studioet mitt uten å måtte åpne dem fysisk. Så hvis du vil gjøre det samme som meg, er det siste trinnet å koble vår lille enhet til gardinene og voila.