Sadržaj:
- Korak 1: Korak 1: Komponente
- Korak 2: Korak 2: Spojite servo motor
- Korak 3: Korak 3: Malo razumijevanja
- Korak 4: Korak 4: Dodajte kôd za testiranje servo motora
- Korak 5: Korak 5: Priprema za komunikaciju
- Korak 6: Korak 6: Testiranje komunikacije
- Korak 7: Korak 7: Dodavanje naredbi
- Korak 8: Korak 8: Povežite uređaj sa zavjesama (nije potrebno)
Video: Servo motor s kontinuiranom rotacijom (CRS) s kontrolom telegrama: 8 koraka
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
U ovom uputstvu ću vas naučiti kako kontrolirati CRS putem telegrama. Za ovu instrukciju trebat će vam nekoliko stvari. Radit ću na NodeMCU 1.0 (ESP-12E modul). Ovo može funkcionirati na drugim Arduino spojevima, samo trebate pronaći odgovarajuće pogone za to.
Ovo je okruženje za postavljanje modula ESP-12E:
- Windows 10
- Arduino IE 1.8.7 (Windows Store 1.8.15.0)
Vodič o tome kako instalirati upravljačke programe i osnovne datoteke za modul ESP-12E možete pronaći ovdje:
Kada ovo učinite. Spremni smo!
Korak 1: Korak 1: Komponente
Za ovaj vodič trebat će vam neke komponente:
- ESP12-E modul (ESP8266)
- Servo motor s kontinuiranom rotacijom (ovaj sam ja koristio)
- Mikro USB kabl
- Wifi mreža
- Aplikacija Telegram
- Botfather Bot (ne brinite, stići ćemo tamo)
Korak 2: Korak 2: Spojite servo motor
Slijedite ove sheme za povezivanje servo motora.
- Crna: GND (uzemljena)
- Crvena: 3.3V ili 5V (napajanje)
- Žuta ili bijela: digitalni izlaz (signal)
Dakle, ako koristite isti servo motor koji sam ja koristio i imate arduino ploču s izlazom većeg napona (5 V max), tamo možete staviti kabel za napajanje. To će samo značiti da će servo motor proizvoditi veći okretni moment. U svakom slučaju, 3.3V ili 5V su u redu.
Korak 3: Korak 3: Malo razumijevanja
Prije nego počnemo testirati kôd i provjerimo radi li, morate nešto razumjeti o ovom servo motoru. Budući da to nije konvencionalni servo motor, koji se okreće pod određenim kutovima, kôd koji trebate koristiti je malo drugačiji.
Ne preporučujem korištenje serva s punim zakretnim momentom, jer stvara mnogo topline i može potrošiti puno životnog vijeka koji proizvod ima. Pokušajte ostati u blizini područja [60, 120].
void loop {
myservo.write (90); // to znači da se nema kretanja, servo motor miruje (1000); myservo.write (0); // to znači kašnjenje kretanja u smjeru suprotnom od kazaljke na satu pri punoj brzini (1000); myservo.write (180); // to znači kašnjenje kretanja u smjeru kazaljke na satu pri punoj brzini (1000); }
Korak 4: Korak 4: Dodajte kôd za testiranje servo motora
#include
Servo myservo; void setup () {myservo.attach (D5); // priključimo servo na pin D5)} void loop () {myservo.write (85); // okreće motor u smjeru suprotnom od kazaljke na satu s malim kašnjenjem brzine (1000); myservo.write (120); kašnjenje (1000); myservo.write (90); kašnjenje (5000); }
Korak 5: Korak 5: Priprema za komunikaciju
Da biste mogli komunicirati s vama Arduino, morate popraviti nekoliko stvari. Prilično su laki. Podijelit ćemo ove zadatke u dva mala dijela.
The bot
- Instalirajte Telegram na svom mobilnom telefonu.
- Napravite račun na Telegramu.
- Pretražite korisnika 'Botfather'.
- Napravite novog robota pomoću naredbi koje prikazuje (sačuvajte ključ koji vam daje).
Arduino zadaci
- Otvorite Arduino IE.
- Idite na 'Upravitelj biblioteke'.
- Dodajte biblioteku 'Universal Telegrambot'.
-
Dodajte biblioteku 'ArduinoJson'.
- Ne dodaj beta verziju
- Dodajte najnoviju verziju 5.x koja postoji.
Korak 6: Korak 6: Testiranje komunikacije
Skoro smo stigli.
- Otvorite 'echobot' iz biblioteke universaltelegrambot> esp8266.
- Promijenite vjerodajnice za WiFi tako da odgovaraju vašoj mreži na mjestu na kojem se nalazite.
- Promenite BOTtoken koji vam je dao Botfather.
- Dodajte ovaj red koda u for petlju koja se nalazi u `void loop ();`
Serial.println (bot.messages .text);
Sada smo spremni za testiranje.
Prenesite ovaj kôd na svoj Arduino. Provjerite na serijskom monitoru ako se NodeMCU povezuje na vašu WiFi mrežu. Kada vidite da je povezan, pošaljite poruku svom botu. Trebalo bi da vam vrati istu poruku.
Korak 7: Korak 7: Dodavanje naredbi
Dakle, upalilo je! Imamo vezu između uređaja. Sljedeći korak je zbrajanje stvari. Zato ćemo dodati naredbe postojećem kodu echobota. Možda bi bilo dobro staviti sljedeći kod umjesto zadnjeg koda koji sam vam dao. Tako ćemo spriječiti da imamo robota koji se ponaša kao papagaj.
Ovaj sljedeći dio koda mora biti u for petlji koja kruži kroz nove poruke. Ovisno o tome kako postavite servo motor, možda ćete htjeti zamijeniti naredbe 'Otvori' i 'Zatvori'. Prenesite ovo na svoj esp8266 i provjerite radi li.
// naredba koju želite
if (bot.messages .text == "Otvori") {
// Odgovor koji će vam bot dati bot.sendMessage (bot.messages .chat_id, "Otvaram vam zavese.");
// šta će arduino ploča raditi
myservo.write (80); // servo motor se okreće u smjeru suprotnom od kazaljke na satu kako bi otvorio zavjese
}
if (bot.messages .text == "Stop") {// Odgovor koji će vam bot dati bot.sendMessage (bot.messages .chat_id, "Zaustavljanje zastora."); // šta će arduino ploča raditi myservo.write (90); // servo motor prestaje da se okreće}
if (bot.messages .text == "Close") {// Odgovor vaš bot će vam dati bot.sendMessage (bot.messages .chat_id, "Zatvaram zavjese za vas."); // šta će arduino ploča učiniti myservo.write (80); // servo motor se okreće u smjeru kazaljke na satu da zatvori zavjese}
Korak 8: Korak 8: Povežite uređaj sa zavjesama (nije potrebno)
Yeeeey, gotovi ste!
Upute su bile o tome kako spojiti Telegrambot na svoj Arduino kako biste ga mogli kontrolirati s udaljenosti. Ali napravio sam ovu posebnu postavku kako bih otvorio zavjese u svom ateljeu, a da ih ne moram fizički otvarati. Dakle, ako želite učiniti isto što i ja, posljednji korak je da povežete naš mali uređaj sa vašim zavjesama i voila.