Kazalo:

Servo motor s kontinuiranim vrtenjem (CRS) s telegramskim nadzorom: 8 korakov
Servo motor s kontinuiranim vrtenjem (CRS) s telegramskim nadzorom: 8 korakov

Video: Servo motor s kontinuiranim vrtenjem (CRS) s telegramskim nadzorom: 8 korakov

Video: Servo motor s kontinuiranim vrtenjem (CRS) s telegramskim nadzorom: 8 korakov
Video: ⚠️ На какие недостатки "тройки" BMW E90 нужно обращать внимание? 🤫 2024, Julij
Anonim
Servo motor s kontinuiranim vrtenjem (CRS) s krmiljenjem Telegram
Servo motor s kontinuiranim vrtenjem (CRS) s krmiljenjem Telegram

V tem navodilu vas bom naučil, kako upravljati CRS prek telegrama. Za to navodilo boste potrebovali nekaj stvari. Delal bom na NodeMCU 1.0 (modul ESP-12E). To lahko deluje na drugih Arduino vezjih, le najti morate ustrezne pogone za to.

Sledilo je okolje za nastavitev modula ESP-12E:

  • Windows 10
  • Arduino IE 1.8.7 (Trgovina Windows 1.8.15.0)

Navodila za namestitev gonilnikov in osnovnih datotek za modul ESP-12E najdete tukaj:

Ko boste to storili. Pripravljeni smo iti!

1. korak: 1. korak: Komponente

1. korak: Komponente
1. korak: Komponente

Za to vadnico boste potrebovali nekaj komponent:

  • Modul ESP12-E (ESP8266)
  • Servo motor z neprekinjenim vrtenjem (tega sem uporabil)
  • Kabel mikro USB
  • Omrežje Wifi
  • Aplikacija Telegram
  • Botfather Bot (ne skrbite, prišli bomo tja)

2. korak: 2. korak: Priključite servo motor

Korak: Priključite servo motor
Korak: Priključite servo motor

Sledite tem shemam za priključitev servo motorja.

  • Črna: GND (zemlja)
  • Rdeča: 3.3V ali 5V (napajanje)
  • Rumena ali bela: digitalni izhod (signal)

Torej, če uporabljate isti servo motor, ki sem ga uporabil, in imate arduino ploščo z višjo napetostjo (največ 5 V), lahko kabel za napajanje prilepite tja. To bo samo pomenilo, da bo servo motor ustvaril večji navor. Kakorkoli, 3.3V ali 5V sta v redu.

3. korak: 3. korak: Malo razumevanja

Preden začnemo s preskušanjem kode in preverimo, ali deluje, morate nekaj vedeti o tem servo motorju. Ker ne gre za običajen servo motor, ki obrača na določene kote, je koda, ki jo morate uporabiti, nekoliko drugačna.

Ne priporočam uporabe servomotorja pri polnem navoru, saj ustvarja veliko toplote in lahko porabi veliko življenjske dobe izdelka. Poskusite ostati okrog območja [60, 120].

void loop {

myservo.write (90); // to pomeni brez gibanja, servo motor miruje (1000); myservo.write (0); // to pomeni polno hitrost zamika gibanja v nasprotni smeri urinega kazalca (1000); myservo.write (180); // to pomeni polno hitrost zamika gibanja v smeri urinega kazalca (1000); }

Korak 4: Korak 4: Dodajte kodo za preskus servo motorja

#vključi

Servo myservo; void setup () {myservo.attach (D5); // pritrdimo servo na zatič D5)} void loop () {myservo.write (85); // pri počasni hitrosti (1000) vrti motor v nasprotni smeri urinega kazalca; myservo.write (120); zamuda (1000); myservo.write (90); zamuda (5000); }

5. korak: 5. korak: Priprava na komunikacijo

Če želite komunicirati z Arduinom, morate popraviti nekaj stvari. So precej enostavni. Te naloge bomo razdelili v dva majhna odseka.

Robot

  1. Namestite Telegram na svoj mobilni telefon.
  2. Naredite račun na Telegramu.
  3. Poiščite uporabnika 'Botfather'.
  4. Ustvarite novega bota z ukazi, ki jih prikaže (shranite ključ, ki vam ga daje).

Naloge Arduino

  1. Odprite Arduino IE.
  2. Pojdite na "Upravitelj knjižnice".
  3. Dodajte knjižnico 'Universal Telegrambot'.
  4. Dodajte knjižnico 'ArduinoJson'.

    • Ne dodajajte beta
    • Dodajte najnovejšo različico 5.x, ki obstaja.

6. korak: 6. korak: Preizkus komunikacije

6. korak: Preizkus komunikacije
6. korak: Preizkus komunikacije

Skoraj smo že tam.

  1. Odprite »echobot« iz knjižnice universaltelegrambot> esp8266.
  2. Spremenite poverilnice za wifi tako, da se ujemajo z vašim omrežjem na mestu, kjer ste.
  3. Zamenjajte BOTtoken, ki vam ga je dal Botfather.
  4. To vrstico kode dodajte v zanko for, ki je v `void loop ();`

Serial.println (bot.messages .text);

Zdaj smo pripravljeni na testiranje.

Naložite to kodo v svoj Arduino. Na serijskem monitorju preverite, ali se NodeMCU povezuje z vašim omrežjem WiFi. Ko vidite, da je povezan, pošljite sporočilo svojemu botu. Ponovno vam mora poslati isto sporočilo.

7. korak: 7. korak: Dodajanje ukazov

Torej, delovalo je! Imamo povezavo med napravami. Naslednji korak je sestavljanje stvari skupaj. Zato bomo obstoječi kodi echobota dodali ukaze. Morda bi bilo dobro, da namesto zadnje kode, ki sem vam jo dal, postavite naslednjo kodo. Tako nam bomo preprečili, da bi imeli bot, ki bi se obnašal kot papiga.

Naslednji del kode mora biti v zanki for, ki prehaja skozi nova sporočila. Odvisno od tega, kako namestite servo motor, boste morda želeli zamenjati ukaze »Odpri« in »Zapri«. Naložite to na svoj esp8266 in preverite, ali deluje.

// želeni ukaz

if (bot.messages .text == "Odpri") {

// Odgovor, ki vam ga bo dal bot.sendMessage (bot.messages .chat_id, "Odpiram zavese za vas.");

// kaj bo naredila arduino plošča

myservo.write (80); // servo motor se obrača v nasprotni smeri urinega kazalca, da odpre zavese

}

if (bot.messages .text == "Stop") {// Odgovor bota vam bo dal bot.sendMessage (bot.messages .chat_id, "Ustavljanje zaves."); // kaj bo plošča arduino naredila myservo.write (90); // servo motor se neha obračati}

if (bot.messages .text == "Close") {// Odgovor, ki vam ga bo bot dal bot.sendMessage (bot.messages .chat_id, "Zapiram zavese za vas."); // kaj bo plošča arduino naredila myservo.write (80); // servo motor se obrača v smeri urinega kazalca, da zapre zavese}

8. korak: 8. korak: Napravo priključite na zavese (ni potrebno)

8. korak: Napravo priključite na zavese (ni potrebno)
8. korak: Napravo priključite na zavese (ni potrebno)

Yeeeey, končal si!

Navodila so bila, kako Telegrambot priključiti na svoj Arduino, da ga lahko upravljate na daljavo. Toda to posebno postavitev sem naredil tako, da sem lahko odprl zavese v svojem studiu, ne da bi jih moral fizično odpreti. Če želite torej storiti enako kot jaz, je zadnji korak, da našo majhno napravo povežete z zavesami in voila.

Priporočena: