Spisu treści:

LaserKitty!!: 7 kroków (ze zdjęciami)
LaserKitty!!: 7 kroków (ze zdjęciami)

Wideo: LaserKitty!!: 7 kroków (ze zdjęciami)

Wideo: LaserKitty!!: 7 kroków (ze zdjęciami)
Wideo: Poznaj 7 kodów UZDRAWIANIA ciała i podświadomości oraz inspirujące historie uzdrowień. 2024, Październik
Anonim
Image
Image
Zdobądź swoje rzeczy
Zdobądź swoje rzeczy

Powszechnie uznawana jest prawda, że pojedynczemu kotu, który ma szczęście, musi brakować zabawki laserowej. Podobnie jak w przypadku samotnych dżentelmenów, którzy nie mają przyszłych żon, należy zachować pewne środki ostrożności. Ale czy nie dotyczy to niczego, co naprawdę warto mieć?

Jeśli masz obawy dotyczące zwierząt domowych i bezpieczeństwa lasera, przejdź do końca tej instrukcji przed komentowaniem. Jeśli masz obawy dotyczące przyszłej żony, a nawet obecnej, prawdopodobnie musisz poszukać gdzie indziej.

Teraz możesz wpaść do lokalnego sklepu zoologicznego i kupić wskaźnik laserowy, a może nawet jakieś urządzenie, które dodaje szczątkową automatyzację. Zaoszczędzisz trochę pieniędzy i będziesz mógł je zwrócić, jeśli to nie zadziała. Albo sam możesz coś zbudować. Istnieje już wiele przykładów, ale oto mój wkład w kanon. Zawiera:

  • Pełna kontrola smartfona
  • Tryby ręczne, automatyczne i zaplanowane
  • Niestandardowy interfejs aplikacji
  • Stan systemu zsynchronizowany między wieloma klientami sieciowymi
  • Stan systemu odzwierciedlony w LaserKitty!! samo
  • Konfigurowalne ograniczenia zakresu obrotu i pochylenia
  • Konfigurowalne długości i częstotliwości sesji odtwarzania
  • Konfigurowalne okna odtwarzania
  • Strona konfiguracji z aktualnymi ustawieniami na pierwszy rzut oka
  • Synchronizacja czasu NTP
  • Menedżer WiFi do łatwej konfiguracji w nowych sieciach
  • Generator tonów do odtwarzania motywu Mission Impossible przed każdą sesją zabawy: Twój kot może, ale nie musi, docenić ironię.
  • Powiadomienia pushbullet na wszystkie urządzenia, gdy rozpocznie się nowa sesja odtwarzania
  • Konfigurowalna pozycja domowa, dzięki czemu czas zabawy kończy się na misce z jedzeniem lub stacjonarnej zabawce
  • Wszystkie ustawienia przechowywane w EEPROM, więc nie zostaną utracone w przypadku awarii zasilania
  • I wiele więcej! Cóż, nie do końca, o to chodzi.

Krok 1: Zdobądź swoje rzeczy

Oto czego użyłem:

  • Mini zespół pan-tilt. Z pewnością nie jest to najtańszy, jaki można znaleźć i wymaga pewnych modyfikacji do naszych celów. Wybrałem go, ponieważ wygląda trochę fajniej niż tanie plastikowe zespoły w piwnicy. Jako nieoczekiwany bonus, jego konstrukcja pozwala na bardzo łatwy sposób zamontowania lasera. Jest wyposażony w kilka mikro serw, ale bardzo polecam zakup kilku dodatkowych w celu wymiany. Będziesz potrzebował co najmniej jednego dodatkowego serwa (zepsuty jest w porządku).
  • Ogrodzenie. Boli mnie zapłacić 8 dolarów za plastikowe pudełko i na pewno można znaleźć coś odpowiedniego za mniej. Coś w rozmiarze połączonej obudowy jest jednak w porządku.
  • Płytka rozwojowa oparta na ESP8266. Użyłem NodeMCU. Nie jest przesadą stwierdzenie, że kocham te rzeczy. Łatwy w użyciu w Arduino IDE i dużo pamięci flash na Twoje strony internetowe. Również tani i, z mojego doświadczenia, bardzo trudny do smażenia.
  • Mini laser. Dziesięć za 6 USD, w tym Amazon Prime. Czy ty żartujesz?? Teraz muszę tylko wymyślić, co zrobić z pozostałą dziewiątką.
  • Brzęczyk pasywny dla tonów.
  • Przekaźnik dwukanałowy. Używam ich do włączania i wyłączania serw i lasera. Możesz wyeliminować ten składnik, jak wyjaśnię później.
  • Zasilanie 5VDC. Miejmy nadzieję, że będziesz mieć jeden z nich leżący w pobliżu jakiegoś dawno zapomnianego gadżetu, ale jeśli nie coś taniego i wesołego, co może wytworzyć około 1A przy 5VDC, jest tym, czego potrzebujesz.
  • Różne materiały eksploatacyjne, takie jak rezystory, diody LED, przewody przyłączeniowe, termokurczliwe, lut, gorący klej. Zwykły. Użyłem również gniazda baryłkowego do przychodzącego zasilania 5VDC z mojej żenująco dużej kolekcji zniszczonych płytek Arduino.
  • Na koniec, ale nie mniej ważne, winylowe kalkomanie do tego kapryśnego wykończenia.

Więc tak. Wyglądasz na około 50 dolarów z góry. Mógłbyś to zrobić za mniej, ale czy Twój kotek nie zasługuje na to, co najlepsze?

Krok 2: Narzędzia i zasoby

Narzędzia i zasoby
Narzędzia i zasoby

Nie ma tu nic specjalnego po stronie narzędzi. Po prostu porządna lutownica, multimetr, wiertarka i podstawowe narzędzia ręczne. Zasilacz stołowy jest dobry do eksperymentowania z laserem, ale nie jest niezbędny.

Ten projekt naprawdę wykorzystuje możliwości ESP8266, a w szczególności NodeMCU. Jeśli dopiero zaczynasz pracę z ESP8266, nie znalazłem lepszego kompleksowego źródła niż ta rzecz. Poza tym chodzi o Google, aby znaleźć odpowiedzi na problemy, które pojawiły się po drodze.

Krok 3: Przygotuj obudowę

Przygotuj obudowę
Przygotuj obudowę
Przygotuj obudowę
Przygotuj obudowę

Jak już wspomniałem, płacenie 8 dolarów za plastikową obudowę wydaje się oburzające. Co gorsza, to schrzanienie sprawy przez zrobienie dziury w niewłaściwym miejscu. Więc zanim będziesz mieć przy sobie pudełko z wiertłem i/lub jakimkolwiek innym twórcą chaosu, który masz do dyspozycji, zastanów się nad błędami, które popełniłem.

  • Po pierwsze, musisz pomyśleć o tym, gdzie zmieszczą się wszystkie rzeczy. Dobrą wiadomością jest to, że obudowa, którą sugeruję, ma dużo miejsca, nawet przy bardzo nieporządnym okablowaniu, które tutaj widzisz. Możesz nawet ujść na sucho z mniejszym pudełkiem, zwłaszcza jeśli wyeliminujesz przekaźniki.
  • Najważniejsze jest miejsce, w którym zamontujesz zespół pan and tilt w pokrywie. Tutaj pokazana jest moja pierwsza próba. Pomyślałem, że artystycznie umieściłbym to poza centrum i trochę z powrotem, aby zapewnić stabilność. Kiepski pomysł! Potrzebujesz montażu jak najbliżej boku pokrywy, aby sama obudowa nie kolidowała z belką przy dużych kątach nachylenia. Uważam też, że idealnym rozwiązaniem byłoby zamontowanie lasera pan prostopadle do krótszego boku, a nie, jak to zrobiłem, do długiego boku. Zrobiłem to w inny sposób ze względów czysto estetycznych, chociaż istnieje trochę więcej możliwości ingerencji.
  • Jak widać, NodeMCU jest zamontowany na płycie perforowanej i można go było łatwo ustawić tak, aby jego złącze micro USB było dostępne z gniazda z boku lub z tyłu. Ułatwiłoby to aktualizację oprogramowania (nie trzeba zdejmować pokrywy). Moim pierwotnym pomysłem było użycie biblioteki Over-The-Air (OTA) do aktualizacji i zobaczysz, że mój kod zawiera tę funkcjonalność, chociaż jest ona wykomentowana. Problem polegał na tym, że generator tonów i OTA nie działały dobrze razem (NodeMCU wielokrotnie resetowało się w połowie utworu). Ten problem można prawdopodobnie naprawić, ale nigdy nie udało mi się zaktualizować SPIFFS w inny sposób niż przez USB, więc dostęp do złącza USB byłby miły. Zanim się zorientowałem, zamontowałem NodeMCU na płytce perforowanej w sposób, który oznaczał, że wystające złącze z pudełka nie było możliwe bez wielu wygłupów. No cóż.
  • Gdybym miał zrobić projekt ponownie, wyrównałbym diodę LED RGB z czerwoną diodą „włącz zasilanie”. (Celem diody LED RGB jest wskazanie, w jakim trybie znajduje się LaserKitty!!, bez konieczności patrzenia na aplikację.)

Jedyną nieco trudną częścią faktycznego robienia otworów jest prostokątna dla serwa patelni. Użyłem wiertarki i pilnika. Jak widać po mojej pierwszej próbie, trudno jest zrobić dokładnie kwadrat (lub, jak sądzę, prostokąt). Ale kiedy serwo jest zamontowane, tak naprawdę tego nie widać.

Będziesz musiał zrobić trzy inne otwory, które powinny być umieszczone z tyłu pudełka i są używane do gniazda zasilania, brzęczyka i punktu wejścia dla serwomechanizmu przechyłu i okablowania laserowego. Wszystkie te otwory mogą być okrągłe i bez trudu wykonać je za pomocą wiertła.

Swobodne stosowanie gorącego kleju zabezpiecza wszystko na miejscu (z wyjątkiem serwa patelni, które przykręca się do pokrywy za pomocą zaczepów montażowych serwa).

Krok 4: Zespół Pan and Tilt

Zespół Pan i Tilt
Zespół Pan i Tilt
Zespół Pan i Tilt
Zespół Pan i Tilt
Zespół Pan i Tilt
Zespół Pan i Tilt
Zespół Pan i Tilt
Zespół Pan i Tilt

Kiedy otrzymałem zespół pan and tilt pomyślałem, że popełniłem kolejny duży błąd. Złożony zgodnie z instrukcją, tak naprawdę nie jest to mechanizm obrotu i przechyłu, ale raczej konstrukcja przechylania i przekręcania - odpowiednia do zamierzonego zastosowania jako ramię robota. Chwila spokojnego zastanowienia pozwoliła mi jednak zobaczyć, że można go właściwie złożyć w inny sposób, aby osiągnąć pożądany efekt. Co więcej, oryginalne położenie serwomechanizmu „twist” mogło zostać wykorzystane jako mocowanie lasera.

Jeśli przyjrzysz się ukończonemu montażowi na tych zdjęciach, zrozumiesz, o co chodzi. Pozostanie ci mały metalowy blok, który nie jest potrzebny w tym projekcie.

Przebłysk inspiracji, jaki miałem, polegał na wykorzystaniu oryginalnej lokalizacji drugiego serwomechanizmu do zamontowania lasera. Co więcej, jeśli zdekapitujesz serwomechanizm duffa i wywiercisz mocowanie ramienia wielowypustowego, będzie to idealne miejsce do montażu lasera! Tylko nie lekceważ wysiłku potrzebnego do przecięcia serwomechanizmu na części. Jest trochę mięsa dla tych małych rabusiów!

Po zmontowaniu i instalacji w obudowie, A PRZED PODŁĄCZENIEM ZASILANIA upewnij się, że będzie ona obracać się o 180 stopni w poprzek obudowy. W jakiś sposób po tym, jak raz go zainstalowałem, udało mi się złożyć z powrotem mocowanie pan, tak aby łby śrub na podstawie były związane z podniesioną częścią serwomechanizmu, w której ma być zamontowane ramię. Rezultatem było to, że serwo natychmiast pozbawiło się biegów. Z drugiej strony mam teraz kolejne serwomechanizm do użycia jako mocowanie lasera.

Krok 5: Podłącz go

Podłącz to w górę
Podłącz to w górę

Mam nadzieję, że szkic Fritzinga wyjaśnia sprawę. Kilka punktów do dalszego wyjaśnienia:

  • Jak omówiono później, chciałem, aby laser był jak najciemniejszy, zachowując jednocześnie wystarczającą jasność, aby można go było używać we wszystkich, oprócz najjaśniejszego światła w pomieszczeniach. Po odrobinie eksperymentów zdecydowałem się zasilać go z pinu 3,3 V na MCU węzła, dodając szeregowo rezystor 22 Ohm dla lepszego pomiaru. Przy takiej konfiguracji pobiera około 10mA, więc teoretycznie może być zasilany bezpośrednio z pinu GPIO, ale stwierdziłem, że jest to zbyt słabe, nawet bez rezystora.
  • Laser ma bardzo ograniczoną zdolność do zmiany ogniska (kolimacji?), którą wykorzystałem, aby powiększyć kropkę i tym samym rozproszyć energię lasera
  • Moją pierwszą myślą było włączanie i wyłączanie serw za pomocą tranzystora, ale to spowodowało, że serwa zwariowały. Jestem pewien, że jest ku temu dobry powód, ale ponieważ miałem już pod ręką kilka przekaźników, poszedłem na łatwiznę i całkowicie odizolowałem zasilanie serw. A ponieważ przekaźniki miały dwa kanały pomyślałem, że równie dobrze mogę w ten sposób przełączyć laser (fioletowe przewody to sygnał sterujący z MCU). Podoba mi się również mechaniczny dźwięk klikania, który generuje to rozwiązanie. Możesz jednak zdecydować inaczej. Nie pokazano, ale przekaźniki są zasilane bezpośrednio z zasilacza 5VDC - NodeMCU mogło po prostu bezpośrednio zasilać przekaźnik dwukanałowy, ale nie było powodu, aby ryzykować. Jeśli używałeś tych przekaźników, zanim się zorientujesz, wymaga to usunięcia zworki między JD-VCC i VCC.
  • Dioda LED RGB ma rezystory ograniczające prąd 220 Ohm na czerwono i zielono oraz 100 Ohm na niebiesko. Czerwona dioda LED „power on” ma rezystor 450 Ohm, ponieważ jest zasilana z 5VDC, a nie 3,3VDC. To tylko parametry, które zapewniają dużą jasność i rozsądną trwałość.
  • Brzęczyk jest dość głośny. Możesz chcieć dodać rezystor do linii sygnału, aby stłumić głośność. Dźwięki można całkowicie wyłączyć za pomocą oprogramowania, ale coś pomiędzy może być miłe.

Krok 6: Kodeks

Kod
Kod
Kod
Kod
Kod
Kod
Kod
Kod

Pomimo dość rozwlekłego wyjaśnienia strony sprzętowej, 90% wysiłku tutaj poszło na kod. Byłoby więcej, ale "pożyczyłem" stąd jakiś świetny kod do ruchu lasera w trybie automatycznym. Nie ma sensu wymyślać koła na nowo. W rzeczywistości możesz zdecydować się na podążanie za tym projektem, a nie za tym, lub mieszać i dopasowywać aspekty obu. Oczywiście podoba mi się pomysł wykonania niektórych elementów za pomocą drukarki 3D, ale takiej nie mam.

Mój kod (znajdujący się na GitHub tutaj) składa się z trzech głównych części. Jest sam szkic Arduino, pliki HTML z kilkoma JavaScriptami dla zawartości aplikacji i powiązane pliki CSS do stylizacji. Wykorzystałem ten projekt, aby dowiedzieć się trochę więcej o tych wszystkich elementach programowania, zaczynając od bardzo niskiej bazy, szczególnie po stronie interfejsu aplikacji. Próbowałem trochę uporządkować kod, ale skupiłem się głównie na tym, aby to zadziałało. Kod wykorzystuje Websockets do dwukierunkowej komunikacji między serwerem NodeMCU a podłączonymi klientami.

Kod Arduino jest szeroko komentowany, więc miejmy nadzieję, że będzie on łatwy do naśladowania. Po pobraniu go z GitHub włóż całą partię do folderu, prześlij szkic do swojego MCU, a następnie prześlij zawartość podfolderu „data” do SPIFFS.

Właściwie to podrap. Jeśli chcesz korzystać z funkcji powiadomień Pushbullet, najpierw potrzebujesz tokena dostępu API dostępnego tutaj. To idzie w linii 88 kodu Arduino. Pushbullet działa dobrze, ale jeśli konfigurujesz konto w telefonie po raz pierwszy, może się okazać, że musisz się zalogować, wylogować, a następnie zalogować się ponownie, zanim powiadomienia zaczną pojawiać się zgodnie z ustawieniami telefonu.

Istnieją trzy strony internetowe - ekran powitalny, rzeczywisty interfejs aplikacji i strona konfiguracji. Oddzielenie treści w ten sposób sprawia, że korzystanie z interfejsu jest znacznie bardziej przypominające aplikację, zwłaszcza ze względu na rozbudowane opcje konfiguracyjne (zrzut ekranu zawiera tylko część tych opcji).

Jednym z dziwactw w uzyskaniu przez NodeMCU obsługi wielu stron było to, że musiałem umieścić wszystkie pliki obrazów bezpośrednio w folderze danych - po prostu nie mogłem go uruchomić, jeśli były umieszczone w podfolderach. Dołączyłem wszystkie obrazy, których użyłem w repozytorium GitHub, więc działa od razu po wyjęciu z pudełka, ale bez wątpienia zechcesz zastąpić je własnymi zdjęciami.

Krok 7: Wykończenie i bezpieczeństwo lasera

Wykończenie i bezpieczeństwo lasera
Wykończenie i bezpieczeństwo lasera
Wykończenie i bezpieczeństwo lasera
Wykończenie i bezpieczeństwo lasera
Wykończenie i bezpieczeństwo lasera
Wykończenie i bezpieczeństwo lasera

Pomimo atrakcyjnego kosztu 8 USD, obudowa jest, cóż, raczej użytkowa. Po krótkim grzebaniu w Etsy znalazłem grafikę winylową, którą widzisz na gotowym produkcie (i która jest odzwierciedlona na stronie aplikacji). Wysłane z Wielkiej Brytanii było trochę drogie, ale zdecydowanie warto - a dostaniesz dwa, jeśli chcesz powielić projekt. Jako ostatni artystyczny rozkwit, obróciłem małe "dołeczki" w oczach kota, aby patrzyły na jasnoczerwoną diodę LED zasilania, która zastępuje kropkę lasera. W zależności od twojego apetytu na fanaberię, możesz, ale nie musisz, zdecydować się na dodatkowy krok.

Plik HTML ekranu powitalnego zawiera kod umożliwiający dodanie ikony do ekranu głównego telefonu iPhone.

Na koniec nie powinienem lekceważyć obaw dotyczących używania lasera do zabawy z kotami. Istnieją dwa główne zastrzeżenia:

  • Laser może oślepić lub uszkodzić oczy kota
  • Zabawa z laserową kropką jest ostatecznie niesatysfakcjonująca dla kotów, ponieważ nigdy nie mogą jej złapać ani „zabić”

W interfalach jest dużo zamieszania na temat obu tematów, niektóre pozornie poinformowane, inne mniej. Ostatecznie musisz podjąć własne decyzje, czy ten projekt lub jakakolwiek inna zabawka laserowa jest odpowiednia dla Twojego kota. To, co zrobiłem, to spróbować rozwiązać pierwszy problem, przyciemniając laser tak, jak to możliwe, bez zbytniego utrudniania widzenia przy rozsądnych poziomach światła. Upewnij się również, że kot korzystający z urządzenia nie ma skłonności do wpatrywania się w sam laser, a nie w kropkę – zwłaszcza jeśli zamierzasz używać LaserKitty! w trybie automatycznym lub zaplanowanym. Jednym z celów funkcji powiadomień Pushbullet jest używanie jej w połączeniu z kamerą monitorującą, dzięki czemu przypomina się o oglądaniu zabawy kotka podczas Twojej nieobecności.

Co do drugiego zastrzeżenia, włączyłem możliwość zapisania „Pozycji startowej”, do której laser powróci po zaplanowanych sesjach gry. Jeśli ustawisz to tak, aby wskazywało na stacjonarną zabawkę lub miskę z jedzeniem twojego kotka, miejmy nadzieję, że zapewni to pewne rozwiązanie. Chociaż w przypadku kotów, kto tak naprawdę wie?

Zalecana: