Spisu treści:
- Krok 1: Krok 1: Komponenty
- Krok 2: Krok 2: Podłącz serwomotor
- Krok 3: Krok 3: Trochę zrozumienia
- Krok 4: Krok 4: Dodaj kod, aby przetestować serwomotor
- Krok 5: Krok 5: Przygotowanie do komunikacji
- Krok 6: Krok 6: Testowanie komunikacji
- Krok 7: Krok 7: Dodawanie poleceń
- Krok 8: Krok 8: Podłącz urządzenie do zasłon (nie jest to konieczne)
Wideo: Silnik serwo z ciągłym obrotem (CRS) ze sterowaniem telegramem: 8 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
W tej instrukcji nauczę Cię, jak sterować CRS za pomocą telegramu. Do tego instruktażu będziesz potrzebować kilku rzeczy. Będę pracował nad NodeMCU 1.0 (moduł ESP-12E). To może działać na innych płytach Arduino, wystarczy znaleźć do tego odpowiednie dyski.
Oto środowisko konfiguracji modułu ESP-12E:
- Okna 10
- Arduino IE 1.8.7 (sklep Windows 1.8.15.0)
Poradnik dotyczący instalacji sterowników i podstawowych plików modułu ESP-12E można znaleźć tutaj:
Kiedy już to zrobisz. Jesteśmy gotowi!
Krok 1: Krok 1: Komponenty
Do tego samouczka będziesz potrzebować kilku komponentów:
- Moduł ESP12-E (ESP8266)
- Silnik serwo z ciągłym obrotem (to jest ten, którego użyłem)
- Kabel Micro USB
- Sieć Wi-Fi
- Aplikacja Telegram
- Botfather Bot (nie martw się, dotrzemy tam)
Krok 2: Krok 2: Podłącz serwomotor
Postępuj zgodnie z tym schematem, aby podłączyć silnik serwo.
- Czarny: GND (ziemia)
- Czerwony: 3,3 V lub 5 V (zasilanie)
- Żółty lub biały: wyjście cyfrowe (sygnał)
Tak więc, jeśli używasz tego samego serwosilnika, którego użyłem i masz płytę arduino z wyższym napięciem (maks. 5 V), możesz tam przykleić kabel zasilający. Będzie to po prostu oznaczało, że serwomotor wytworzy większy moment obrotowy. Tak czy inaczej, 3,3 V lub 5 V są w porządku.
Krok 3: Krok 3: Trochę zrozumienia
Zanim zaczniemy testować kod i sprawdzimy, czy działa, jest coś, co musisz zrozumieć na temat tego serwosilnika. Ponieważ nie jest to konwencjonalny serwomotor, który obraca się pod określonymi kątami, kod, którego musisz użyć, jest nieco inny.
Nie polecam używania serwa z pełnym momentem obrotowym, ponieważ wytwarza dużo ciepła i może zużywać dużo czasu, który ma produkt. Staraj się pozostawać w okolicy [60, 120].
pusta pętla {
myservo.write(90); // oznacza to brak ruchu, serwomotor stoi nieruchomo delay(1000); myservo.write(0); //oznacza to pełne opóźnienie ruchu w kierunku przeciwnym do ruchu wskazówek zegara (1000); myservo.write(180); //oznacza to opóźnienie ruchu z pełną prędkością zgodnie z ruchem wskazówek zegara (1000); }
Krok 4: Krok 4: Dodaj kod, aby przetestować serwomotor
#włączać
Serwo myservo; void setup() { myservo.attach(D5); //załącz serwo na pin D5) } void loop() { myservo.write(85); //obraca silnik przeciwnie do ruchu wskazówek zegara z małą prędkością opóźnienia (1000); myservo.write(120); opóźnienie (1000); myservo.write(90); opóźnienie(5000); }
Krok 5: Krok 5: Przygotowanie do komunikacji
Aby móc komunikować się z Arduino, musisz naprawić kilka rzeczy. Są całkiem łatwe. Podzielimy to zadanie na dwie małe części.
Bot
- Zainstaluj Telegram na swoim telefonie komórkowym.
- Załóż konto w Telegramie.
- Wyszukaj użytkownika „Botfather”.
- Stwórz nowego bota za pomocą poleceń, które pokazuje (zapisz klucz, który ci daje).
Zadania Arduino
- Otwórz Arduino IE.
- Przejdź do „Menedżera biblioteki”.
- Dodaj bibliotekę „Universal Telegrambot”.
-
Dodaj bibliotekę „ArduinoJson”.
- Nie dodawaj wersji beta
- Dodaj najnowszą wersję 5.x.
Krok 6: Krok 6: Testowanie komunikacji
Prawie jesteśmy na miejscu.
- Otwórz 'echobot' z biblioteki universaltelegrambot > esp8266.
- Zmień dane logowania do Wi-Fi, aby pasowały do Twojej sieci w miejscu, w którym się znajdujesz.
- Zmień BOTtoken, który dał ci Botfather.
- Dodaj ten wiersz kodu do pętli for znajdującej się w `void loop();`
Serial.println(bot.messages.text);
Teraz jesteśmy gotowi do testów.
Prześlij ten kod do swojego Arduino. Sprawdź na monitorze szeregowym, czy NodeMCU łączy się z siecią Wi-Fi. Gdy zobaczysz, że jest podłączony, wyślij wiadomość do swojego bota. Powinien odesłać dokładnie tę samą wiadomość.
Krok 7: Krok 7: Dodawanie poleceń
Więc zadziałało! Mamy połączenie między urządzeniami. Następnym krokiem jest dodawanie rzeczy razem. Dodamy więc polecenia do istniejącego kodu echobota. Dobrym pomysłem może być umieszczenie następnego kodu zamiast ostatniego, który ci podałem. Więc uniemożliwimy nam posiadanie bota, który zachowuje się jak papuga.
Ten następny fragment kodu musi znajdować się w pętli for, która przechodzi przez nowe komunikaty. W zależności od tego, jak umieścisz serwomotor, możesz chcieć zamienić polecenia „Otwórz” i „Zamknij”. Prześlij to na swój esp8266 i sprawdź, czy działa.
//polecenie, które chcesz
if(bot.messages.text == "Otwórz") {
// Odpowiedź, którą udzieli Ci Twój bot bot.sendMessage(bot.messages.chat_id, "Zasuwam Ci zasłony.");
// co zrobi płyta arduino
myservo.write(80); // serwomotor obraca się w kierunku przeciwnym do ruchu wskazówek zegara, aby otworzyć zasłony
}
if(bot.messages.text == "Stop") { // Odpowiedź, którą otrzymasz od bota bot.sendMessage(bot.messages.chat_id, "Zatrzymuj zasłony."); // co zrobi płyta arduino myservo.write(90); // serwomotor przestaje się obracać }
if(bot.messages.text == "Zamknij") { // Odpowiedź, którą otrzymasz od bota bot.sendMessage(bot.messages.chat_id, "Zasuwam dla ciebie zasłony."); // co zrobi płyta arduino myservo.write(80); // serwomotor obraca się zgodnie z ruchem wskazówek zegara, aby zamknąć zasłony }
Krok 8: Krok 8: Podłącz urządzenie do zasłon (nie jest to konieczne)
Yeeeey, gotowe!
Instrukcje dotyczyły podłączenia Telegrambota do Arduino, aby można było nim sterować na odległość. Ale stworzyłem ten specjalny układ, aby mieć sposób na rozpięcie zasłon w moim studio bez konieczności ich fizycznego otwierania. Więc jeśli chcesz zrobić to samo co ja, ostatnim krokiem jest podłączenie naszego małego urządzenia do zasłon i voila.
Zalecana:
Dodaj enkoder do serwomechanizmu Feetech Micro 360 stopni z ciągłym obrotem FS90R: 10 kroków
Dodaj enkoder do serwomechanizmu Feetech Micro 360 stopni z ciągłym obrotem FS90R: Precyzyjne sterowanie ruchem robota kołowego za pomocą silnika w pętli otwartej jest bardzo trudne lub prawie niemożliwe. Wiele zastosowań wymaga dokładnego ustawienia pozycji lub odległości ruchu robota kołowego. Mały serwomechanizm o ciągłym obrocie
Wydajna, zarządzalna szlifierka HDD o prędkości 15 000 obr./min z ciągłym obrotem: 4 kroki
Wydajna, zarządzalna szlifierka do dysków twardych o prędkości 15 tys
Serwo EZ z ciągłym obrotem -- bez lutu! (CSRC-311): 7 kroków
Serwo EZ z ciągłym obrotem -- bez lutu! (CSRC-311): Nie tak dawno na Azamom.com (przepraszam, wyprzedane) Natknąłem się na całkiem niezłą ofertę na standardowe serwa Common Sense RC CSRC-311. Oczywiście chciałem zmodyfikować kilka z nich dla ciągła rotacja. Metoda, którą wymyśliłem, jest bardzo łatwa i wymaga
Hermetyzacja silnika krokowego serwo ze sterowaniem szeregowym przez Arduino za pomocą drukarki 3D - Pt4: 8 kroków
Hermetyzacja silnika krokowego serwo ze sterowaniem szeregowym przez Arduino za pomocą drukarki 3D - Pt4: W tym czwartym filmie z serii Motor Step wykorzystamy to, czego nauczyliśmy się wcześniej, aby zbudować serwomotor krokowy ze sterowaniem przez komunikację szeregową i rzeczywistym sprzężenie zwrotne położenia za pomocą enkodera rezystancyjnego monitorowanego przez Arduino. W
Silnik o zmiennej prędkości ze sterowaniem szeregowym: 6 kroków
Sterowany szeregowo silnik o zmiennej prędkości: Kontroluj prędkość małego silnika prądu stałego za pomocą tylko portu szeregowego w komputerze, pojedynczego tranzystora MOSFET i trywialnego oprogramowania. (Mosfet i port szeregowy tworzą „kontrolę prędkości”; nadal będziesz potrzebować silnika i odpowiedniego zasilacza