Spisu treści:
Wideo: Laserowa zabawka dla zwierząt IoT: 5 kroków
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Od czasu do czasu moja kuchnia pada ofiarą znudzonego psa. Pozostawione bez nadzoru ucierpiały listwy przypodłogowe, legowiska dla psów, ręczniki kuchenne, szafki kuchenne i lakier. Aby zapewnić rozrywkę mojemu pupilowi, gdy jestem w pracy, opracowałem laserową zabawkę dla zwierząt IoT, która zapewnia mu zajęcie. W trybie automatycznym laser będzie przez pewien czas poruszał się po podłodze w sposób losowy, po czym upuszczane są smakołyki, aby nagrodzić zwierzaka. Nagroda jest ważna, więc nie denerwują się nieuchwytnym laserem i zachęca ich do gry!
Można nim sterować ręcznie za pomocą smartfona lub ustawić w trybie automatycznym. Można go również aktywować głosowo za pomocą Asystenta Google (tylko tryb automatyczny).
Kieszonkowe dzieci
Aby zbudować ten projekt, będziesz potrzebować:
- 2 mg995 serwa
- zestaw do montażu czujnika obrotu i pochylenia
- 1 mikro serwo SG90
- miarka białka lub ekwiwalent
- Moduł czerwonej diody laserowej 650nm
- nodeMCU
- drut
- PCB
- zasilanie (12v 5A)
- Przetwornica obniżająca napięcie DC-DC 24V/12V na 5V 5A
- lutować
- lutownica
- smartfon/urządzenie domowe Google
- pistolet na klej
- taśma/klej
Wymagane jest również następujące oprogramowanie:
- Arduino IDE i biblioteka esp8266
- IFTTT
- Aplikacja i biblioteki Blynk
- Asystent Google
Krok 1: Sprzęt
- Zamontuj zestaw do montażu serwomechanizmu. Przykleiłem podstawę do płytki drukowanej, na dłuższą metę przymocuję go do blatu kuchni za pomocą śruby.
- Okablowanie można znaleźć na schemacie obwodu. Zobacz też zdjęcia mojej kiepskiej próby lutowania:)
- Przyklej laser do górnej części serwomechanizmów pan/tilt, a także przyklej szufelkę do serwa na smakołyki (użyłem też drugiej szufelki jako stojaka na serwomechanizm, ale możesz użyć czegokolwiek).
Uwagi:
Serwa, których użyłem, są dość nieporęczne, możesz ujść mniej, ponieważ obciążenie jest niewielkie.
Każdy serwo może pobierać do 1200mA (mniejszy pobiera mniej), dodaj kolejne ~700mA dla nodeMCU i uzyskasz maksymalny pobór ~3100mA. Dlatego użyłem zasilacza 5A. Pierwotnie używałem płytki prototypowej i zasilacza 1A, kiedy go włączyłem, nodeMCU ciągle się resetował. Jeśli wystąpi ten problem, dokładnie sprawdź, czy twoja konfiguracja może dostarczyć wystarczającego prądu.
Krok 2: Oprogramowanie: aplikacja Blynk
- Zainstaluj aplikację Blynk:
- Postępuj zgodnie z instrukcjami, aby utworzyć konto, nowy projekt i uzyskać token uwierzytelniania
- Wybierz urządzenie docelowe podczas tworzenia projektu (nodeMCU)
-
Wewnątrz projektu dodasz 5 widżetów:
- Przycisk do włączania/wyłączania lasera
- mapa do D0
- ustaw tryb przełączania
- Suwak do regulacji kąta nachylenia (V0, zakres 0-180)
- Suwak do regulacji kąta panoramowania (V1, zakres 0-180)
- Suwak do regulacji serwa przysmaków (V3, zakres 0-180)
-
Przycisk do włączania/wyłączania trybu automatycznego
- mapa do V2
- ustawiony na tryb przełączania
- Przycisk do włączania/wyłączania lasera
Krok 3: Oprogramowanie: Arduino IDE
- Zainstaluj Arduino IDE:
-
Dodaj biblioteki blynk i esp8266
- Blynk: Jak zainstalować bibliotekę Blynk
- esp8266: Jak zainstalować kredyt ESP8266 w Arduino IDE w mybotic?
-
Kod
- Pobierz lub skopiuj kod z Github (plik poniżej)
- W kodzie musisz ustawić ssid i hasło do routera (wifi).
- Będziesz także musiał ustawić token uwierzytelniania, który został utworzony dla Blynk. Możesz poprosić o token e-mailem za pośrednictwem aplikacji.
- Możesz także dostosować kąty min i max na serwomechanizmach, są one ustawione tak, aby laser zawsze był skierowany na podłogę, podczas wstępnych testów odkryłem, że psy gonią laser po ścianach:) Trzymaj go na podłodze chyba że chcesz wyremontować!
- Uwaga: w tym projekcie używane są liczniki czasu, aby zmniejszyć liczbę żądań do chmury Blynk, jeśli zostanie wysłanych zbyt wiele żądań na sekundę, nastąpi rozłączenie. Ważne jest również, aby ilość kodu wykonywanego w funkcji loop() była jak najmniejsza. Więcej informacji znajdziesz w tym artykule. Tryb automatyczny będzie przesuwał serwa losowo co 2 sekundy, 10 razy, a następnie upuszcza smakołyk, możesz to dostosować do własnych potrzeb.
- Podłącz nodeMCU do komputera przez USB.
- Upewnij się, że pod narzędziami wybrano odpowiednią płytę i port.
- Prześlij kod do nodeMCU (przycisk strzałki w prawo na górnym pasku narzędzi).
Krok 4: Oprogramowanie: IFTTT
Aby aktywować zabawkę za pomocą Asystenta Google, musisz stworzyć aplet za pomocą IFTTT.
- Utwórz konto
- Przejdź do „Moje aplety” > „Nowy aplet”
- Kliknij „To” i wyszukaj Asystenta Google
- Wybierz „Powiedz proste zdanie”
- Wypełnij pola według własnego uznania i wybierz „utwórz wyzwalacz”
- Kliknij „To” i wyszukaj webhooki
- Wybierz „Złóż wniosek internetowy”
-
ustaw adres URL na BLYNK_IP/AUTH_TOKEN/update/V2?value=1
- Aby uzyskać adres IP blynk ze swojego kraju, po prostu przejdź do wiersza poleceń i wpisz: ping cloud.blynk.cc
- Zaktualizuj pola ip i token uwierzytelniania w adresie URL. Powinien wyglądać tak:
- Po zapisaniu apletu możesz przetestować laser za pomocą Asystenta Google!
Krok 5: Końcowe myśli
I masz to, zabawka dla zwierząt IoT sterowana głosem lub telefonem. Aby jeszcze bardziej ulepszyć projekt, dodałbym skrzynkę na obwody, a także kamerę internetową, dzięki której możesz oglądać zabawę swojego zwierzaka podczas Twojej nieobecności. Sterowanie głosowe można by ulepszyć poprzez możliwość określenia, jak długo zabawka ma działać, np. „włącz laser na 5 minut”. Przydałby się też sposób na przeładowanie miarki na smakołyki. Ciesz się budowaniem i opublikuj swoje postępy poniżej!