Innholdsfortegnelse:

Kontinuerlig rotasjonsservomotor (CRS) med telegramkontroll: 8 trinn
Kontinuerlig rotasjonsservomotor (CRS) med telegramkontroll: 8 trinn

Video: Kontinuerlig rotasjonsservomotor (CRS) med telegramkontroll: 8 trinn

Video: Kontinuerlig rotasjonsservomotor (CRS) med telegramkontroll: 8 trinn
Video: Part 2 - Triplanetary Audiobook by E. E. Smith (Chs 5-8) 2024, Juli
Anonim
Kontinuerlig rotasjonsservomotor (CRS) med telegramkontroll
Kontinuerlig rotasjonsservomotor (CRS) med telegramkontroll

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

Trinn 1: Komponenter
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

Trinn 2: Koble til servomotoren
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

  1. Installer Telegram på mobiltelefonen din.
  2. Lag en konto på Telegram.
  3. Søk i brukeren 'Botfather'.
  4. Lag en ny bot ved å bruke kommandoene han viser (lagre nøkkelen han gir deg).

Arduino -oppgavene

  1. Åpne Arduino IE.
  2. Gå til "Library Manager".
  3. Legg til biblioteket 'Universal Telegrambot'.
  4. Legg til biblioteket 'ArduinoJson'.

    • Ikke legg til beta
    • Legg til den siste 5.x -bygningen som finnes.

Trinn 6: Trinn 6: Test av kommunikasjonen

Trinn 6: Test av kommunikasjonen
Trinn 6: Test av kommunikasjonen

Vi er nesten der.

  1. Åpne 'echobot' ut av universaltelegrambot> esp8266 -biblioteket.
  2. Endre wifi -legitimasjonen for å matche nettverket ditt på stedet du er.
  3. Endre BOTtoken som Botfather ga deg.
  4. 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)

Trinn 8: Koble enheten til gardinene dine (ikke nødvendig)
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.

Anbefalt: