Cuprins:
- Pasul 1: Obțineți lucrurile
- Pasul 2: Instrumente și resurse
- Pasul 3: Pregătiți incinta
- Pasul 4: ansamblul Pan și Tilt
- Pasul 5: conectați-l
- Pasul 6: Codul
- Pasul 7: Finisarea atingerilor și siguranța laserului
Video: LaserKitty !!: 7 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Este un adevăr universal recunoscut că o singură pisică care deține noroc trebuie să aibă nevoie de o jucărie cu laser. Ca și în cazul domnilor singuri care doresc viitoare soții, trebuie respectate unele măsuri de precauție. Dar nu este adevărat acest lucru cu privire la ceva cu adevărat care merită avut?
Dacă aveți îngrijorări cu privire la siguranța animalelor de companie și a laserului, treceți la sfârșitul acestui instructiv înainte de a comenta. Dacă aveți îngrijorări cu privire la o viitoare soție sau chiar una actuală, probabil că trebuie să căutați în altă parte.
Acum, ați putea accesa magazinul dvs. local de animale de companie și puteți cumpăra un pointer cu laser și, poate, chiar și unele instrumente care adaugă automatizare rudimentară. Ai economisi niște bani și ai putea să-i returnezi dacă nu ar funcționa. Sau ai putea construi ceva singur. Există deja o mulțime de exemple, dar iată contribuția mea la canon. Este dotat:
- Control complet al smartphone-ului
- Moduri manuale, automate și programate
- Interfață de aplicație personalizată
- Starea sistemului sincronizată între mai mulți clienți web
- Starea sistemului reflectată pe LaserKitty !! în sine
- Restricții configurabile pentru panoramare și înclinare
- Durate și frecvențe ale sesiunii de redare configurabile
- Ferestre de joc configurabile
- Pagina de configurare cu setări curente dintr-o privire
- Sincronizare timp NTP
- Manager WiFi pentru configurare ușoară pe rețele noi
- Generator de tonuri pentru a reda tema Misiunii imposibile înainte de fiecare sesiune de joc: pisica ta poate aprecia sau nu ironia.
- Trimiteți notificări pe toate dispozitivele atunci când începe o nouă sesiune de redare
- Poziție configurabilă la domiciliu, astfel încât timpul de joacă să se termine la castronul alimentar sau la jucăria staționară
- Toate setările stocate în EEPROM nu se pierd astfel la întreruperea alimentării
- Și mult mai mult! Ei bine, nu chiar, cam atât.
Pasul 1: Obțineți lucrurile
Iată ce am folosit:
- Un mini ansamblu de tigaie și înclinare. Acesta nu este cu siguranță cel mai ieftin pe care îl puteți găsi și are nevoie de modificări în scopurile noastre. L-am ales pentru că arată puțin mai răcoros decât ansamblurile din plastic la subsol. Ca bonus neașteptat, designul său permite o modalitate foarte ușoară de montare a laserului. Vine cu câteva micro-servo-uri, dar vă recomand să cumpărați o grămadă de altele suplimentare pentru înlocuire. Veți avea nevoie de cel puțin un servo suplimentar (unul rupt este bine).
- O incintă. Mă doare să plătesc 8 dolari pentru o cutie de plastic și cu siguranță ai putea găsi ceva potrivit pentru mai puțin. Ceva despre dimensiunea incintei conectate este totuși corect.
- O placă de dezvoltare bazată pe ESP8266. Am folosit NodeMCU. Nu este o exagerare să spun că îmi plac aceste lucruri. Ușor de utilizat în Arduino IDE și o mulțime de memorie flash pentru paginile dvs. web. De asemenea, ieftin și, din experiența mea, foarte greu de prăjit.
- Un mini laser. Zece pentru 6 dolari, inclusiv Amazon Prime. Glumești cu mine?? Acum trebuie doar să-mi dau seama ce să fac cu celelalte nouă.
- Un buzzer pasiv pentru tonuri.
- Un releu cu două canale. Le folosesc pentru pornirea și oprirea servomotoarelor și a laserului. Este posibil să puteți elimina această componentă, așa cum vă voi explica mai târziu.
- Alimentare 5VDC. Sperăm că veți avea una dintre acestea în jurul unui dispozitiv uitat de mult, dar dacă nu ceva ieftin și vesel care poate produce aproximativ 1A din 5VDC este ceea ce aveți nevoie.
- Consumabile diverse, cum ar fi rezistențe, LED-uri, sârmă de conectare, termocontractibil, lipit, lipici fierbinte. Obisnuitul. De asemenea, am folosit o mufă cu butoi pentru sursa de alimentare de 5 VDC de pe colecția mea jenant de mare de plăci Arduino distruse.
- Nu în ultimul rând, dar în niciun caz cel puțin, o decalcomanie de vinil pentru acea atingere capricioasă.
Deci da. Te uiți la aproximativ 50 de dolari. Ai putea să o faci pentru mai puțin, dar pisica ta nu merită tot ce e mai bun?
Pasul 2: Instrumente și resurse
Nimic special în ceea ce privește instrumentele aici. Doar un fier de lipit decent, multimetru, burghiu și unelte manuale de bază. O sursă de alimentare pe bancă este plăcută pentru experimentarea cu laserul, dar nu este esențială.
Acest proiect exploatează într-adevăr capacitățile ESP8266 și în special NodeMCU. Dacă tocmai începeți cu ESP8266, nu am găsit o resursă one-stop mai bună decât acest lucru. În afară de asta, totul este despre Googling pentru a găsi răspunsuri la problemele apărute pe parcurs.
Pasul 3: Pregătiți incinta
După cum am menționat deja, plata a 8 USD pentru o incintă din plastic pare scandalos. Ceea ce este și mai rău este că înșelăciunea, punând o gaură în locul greșit. Deci, înainte de a avea la dispoziție cutia cu burghiul și / sau orice alt producător de haos la dispoziție, luați în considerare greșelile pe care le-am făcut.
- În primul rând, trebuie să vă gândiți unde se vor potrivi toate lucrurile. Vestea bună este că incinta pe care o sugerez are mult spațiu, chiar și cu cablurile foarte neordonate pe care le vedeți aici. S-ar putea să reușiți chiar să scăpați de o cutie mai mică, mai ales dacă eliminați releele.
- Cel mai important este locul în care veți monta ansamblul tigaie și înclinare în capac. Prima mea încercare este prezentată aici. M-am gândit să-l așez artistic din centru și să mă întorc puțin pentru stabilitate. Idee rea! Aveți nevoie de ansamblu cât mai aproape posibil de partea laterală a capacului, astfel încât carcasa în sine să nu interfereze cu grinda în unghiuri de înclinare ridicate. De asemenea, cred că aranjamentul ideal ar fi montarea laserului pan perpendicular pe partea scurtă, mai degrabă decât, așa cum am făcut, pe partea lungă. Am făcut-o în sens invers din motive pur estetice, chiar dacă există un potențial mai mare de interferență.
- După cum puteți vedea, NodeMCU este montat pe Perfboard și ar fi putut fi ușor poziționat astfel încât conectorul său micro USB să fie accesibil dintr-un slot din lateral sau din spate. Acest lucru ar facilita actualizările de software (nu este nevoie să scoateți capacul). Ideea mea inițială a fost să folosesc biblioteca Over-The-Air (OTA) pentru actualizări și veți vedea că codul meu include acea funcționalitate, deși este comentat. Problema a fost că generatorul de tonuri și OTA nu s-ar reda bine împreună (NodeMCU ar reseta în mod repetat la jumătatea melodiei). Probabil că această problemă poate fi rezolvată, dar nu am reușit niciodată să actualizez SPIFFS în afară de prin USB, astfel încât accesul la conectorul USB ar fi fost frumos. În momentul în care am aflat toate acestea, am montat NodeMCU pe Perfboard într-un mod care însemna că scoaterea conectorului din cutie nu era posibilă fără prea multe faffing-uri. Oh bine.
- Dacă ar fi să fac din nou proiectul, aș alinia LED-ul RGB cu LED-ul roșu „pornit”. (Scopul LED-ului RGB este de a indica în ce mod se află LaserKitty !! fără a fi nevoie să priviți aplicația.)
Singura parte ușor dificilă de a face efectiv găurile este cea dreptunghiulară pentru servo pan. Am folosit un burghiu și o pila. După cum puteți vedea din prima mea încercare, este dificil să-l fac exact pătrat (sau dreptunghiular, cred). Dar când servo-ul este montat nu prea poți vedea asta.
Va trebui să faceți alte trei găuri, acestea ar trebui să fie plasate în partea din spate a cutiei și sunt utilizate pentru mufa de alimentare, buzzer și punctul de intrare pentru servo-înclinare și cablare laser. Toate aceste găuri pot fi rotunde și nu prezintă nici o dificultate de realizat doar cu un burghiu.
Utilizarea liberală a adezivului fierbinte asigură totul la locul său (cu excepția servomotorului pan, care este înșurubat la capac folosind clapele de montare ale servo-ului).
Pasul 4: ansamblul Pan și Tilt
Când am primit ansamblul pan și tilt, m-am gândit că am mai făcut o mare greșeală. Împreună, conform instrucțiunilor, nu este deloc un mecanism de înclinare și înclinare, ci mai degrabă un design de înclinare și răsucire - adecvat pentru utilizarea intenționată ca braț robot. Cu toate acestea, un moment de reflecție calmă mi-a permis să văd că poate fi asamblat într-un mod diferit pentru a obține rezultatul dorit. Chiar mai bine, locația inițială a servo-ului „twist” ar putea fi folosită ca suport pentru laser.
Dacă examinați ansamblul finalizat în aceste imagini, veți avea ideea. Veți rămâne cu un mic bloc metalic care nu este necesar în acest design.
Blițul de inspirație pe care l-am avut a fost să folosesc locația originală a celui de-al doilea servo pentru a monta laserul. Și mai bine, dacă decapitați un servo duff și găuriți suportul pentru braț striat, acesta este locul perfect de montare pentru laser! Doar nu subestimați efortul necesar pentru a separa servo-ul. Există niște carne în acele mici bătăi de cap!
După asamblare și instalare în carcasă ȘI ÎNAINTE DE A APLICA PUTEREA, asigurați-vă că se va deplasa aproape 180 de grade pe fața carcasei. Cumva sau altul după ce l-am instalat odată cu succes, am montat montarea panului la loc, astfel încât capetele șuruburilor de pe bază să fie legate de bitul ridicat al servo-ului unde brațul este destinat să fie montat. Rezultatul a fost că servo-ul și-a dezbrăcat imediat treptele. Pe partea luminoasă, am acum un alt servo duff pe care să-l folosesc ca suport laser.
Pasul 5: conectați-l
Sperăm că schița Fritzing clarifică lucrurile. Câteva puncte care trebuie clarificate în continuare:
- După cum s-a discutat mai târziu, am vrut să fac laserul cât mai slab posibil, păstrând în același timp suficientă luminozitate pentru a-l putea utiliza în toate, cu excepția celei mai strălucitoare lumini interioare. Cu un pic de experimentare, m-am hotărât să-l alimentez de la un pin de 3,3 V CC pe Node MCU, adăugând un rezistor de 22 Ohm în serie pentru o măsură bună. Cu această configurație atrage în jur de 10 mA, deci, teoretic, ar putea fi alimentat direct de la un pin GPIO, dar am găsit că este prea slab, chiar și fără rezistor.
- Laserul are o capacitate foarte limitată de a schimba focalizarea (colimarea?) Pe care am folosit-o pentru a face punctul mai mare și astfel să dispersez energia laserului
- Primul meu gând a fost să pornesc și să opresc servo-urile cu un tranzistor, dar acest lucru a determinat servo-urile să înnebunească. Sunt sigur că există un motiv întemeiat pentru asta, dar din moment ce aveam deja câteva relee la îndemână, am luat calea ușoară și am izolat puterea totală a servo-urilor. Și din moment ce releele aveau două canale, m-am gândit că aș putea la fel de bine să schimb laserul și în acest fel (firele mov sunt semnalul de control de la MCU). Îmi place și zgomotul de clic mecanic pe care îl produce această soluție. Totuși, puteți decide altfel. Nu este afișat, dar releele sunt alimentate direct de la sursa de 5VDC - este posibil ca NodeMCU să fi fost capabil să alimenteze direct un releu cu două canale, dar nu a existat niciun motiv pentru a-l risca. Dacă ați folosit aceste relee înainte să știți, acest lucru necesită îndepărtarea jumperului dintre JD-VCC și VCC.
- LED-ul RGB are rezistențe de limitare a curentului de 220 Ohm pe roșu și verde și un 100 Ohm pe albastru. LED-ul roșu „pornit” are un rezistor de 450 Ohm, deoarece este alimentat de la 5VDC mai degrabă decât de la 3,3VDC. Acestea sunt doar valori de bază pentru a obține o multime de luminozitate și longevitate rezonabilă.
- Buzzer-ul este destul de puternic. Poate doriți să adăugați un rezistor la linia de semnal pentru a atenua volumul. Tonurile pot fi dezactivate complet prin intermediul software-ului, dar ceva intermediar ar putea fi frumos.
Pasul 6: Codul
În ciuda explicației destul de lungi despre partea hardware, 90% din efortul de aici a intrat în cod. Ar fi fost mai mult, dar am „împrumutat” un cod minunat pentru mișcarea laserului în modul automat de aici. Nu are sens să reinventăm roata. De fapt, s-ar putea să decideți să urmați acel proiect mai degrabă decât acest lucru sau să amestecați și să potriviți aspecte ale ambelor. Cu siguranță, îmi place ideea de a face unele dintre componente cu o imprimantă 3-D, dar nu am una.
Codul meu (găsit aici pe GitHub) este în trei părți principale. Există schița Arduino în sine, fișiere HTML cu o grămadă de Javascript pentru conținutul aplicației și fișiere CSS asociate pentru stilizare. Am folosit acest proiect pentru a afla mai multe despre toate aceste elemente de programare, începând de la o bază foarte scăzută, în special în ceea ce privește interfața aplicației. Am încercat să ordonez un pic codul, dar accentul meu principal a fost să pun doar lucrurile la punct. Codul folosește Websockets pentru comunicarea bidirecțională între serverul NodeMCU și clienții conectați.
Codul Arduino este comentat pe larg, așa că sperăm că veți fi ușor de urmat. După ce l-ați descărcat de pe GitHub, lipiți întregul lot într-un folder, încărcați schița pe MCU, apoi încărcați conținutul subfolderului „date” în SPIFFS.
De fapt, zgârie asta. Dacă doriți să utilizați caracteristica de notificare Pushbullet, veți avea nevoie mai întâi de un token de acces API disponibil de aici. Merge în linia 88 a codului Arduino. Pushbullet funcționează bine, dar dacă vă configurați un cont pe telefon pentru prima dată, este posibil să fiți nevoit să vă conectați, deconectați-vă, apoi conectați-vă din nou înainte ca notificările să înceapă să apară așa cum sunt configurate în setările telefonului.
Există trei pagini web - un splash screen, interfața reală a aplicației și o pagină de configurare. Separarea conținutului în acest fel face utilizarea interfeței mult mai asemănătoare aplicației, mai ales datorită opțiunilor extinse de configurare (captura de ecran captează doar o parte din aceste opțiuni).
O ciudățenie a obținerii de la NodeMCU pentru a servi mai multe pagini a fost că a trebuit să pun direct toate fișierele de imagine în folderul de date - pur și simplu nu ar putea să funcționeze dacă ar fi plasate în subfoldere. Am inclus toate imaginile pe care le-am folosit în depozitul GitHub, astfel încât să funcționeze imediat, dar, fără îndoială, veți dori să le înlocuiți cu propriile imagini.
Pasul 7: Finisarea atingerilor și siguranța laserului
În ciuda costului său atrăgător de 8 USD, incinta este, bine, destul de utilitară. După un pic de bătaie pe Etsy, am găsit graficul de vinil pe care îl vedeți pe produsul finit (și care este reflectat în pagina aplicației). Expediat din Marea Britanie a fost cam scump, dar merită cu siguranță - și veți obține două în cazul în care doriți să replicați proiectul. Pe măsură ce ultima mea înflorire artistică, am rotit micile „gropițe” din ochii pisicii, astfel încât să se uite la LED-ul roșu aprins de putere, care reprezintă punctul laser. În funcție de apetitul pentru capricios, puteți alege sau nu să faceți acest pas suplimentar.
Fișierul HTML al ecranului de pornire include cod pentru a adăuga o pictogramă pe ecranul de pornire al iPhone-ului.
Nu în ultimul rând, nu ar trebui să ignor preocupările exprimate cu privire la utilizarea unui laser pentru a juca cu pisici. Există două obiecții principale:
- Laserul ar putea orbi sau deteriora ochii pisicii
- Jucarea cu un punct laser nu este în cele din urmă satisfăcătoare pentru pisici, deoarece nu o pot prinde sau „ucide” niciodată
Există multe stropi pe interfețe cu privire la ambele subiecte, unele aparent informate, altele mai puțin. În cele din urmă, trebuie să luați propriile decizii dacă acest proiect sau orice altă jucărie cu laser este potrivită pentru pisica dvs. Ceea ce am făcut a fost să încerc să abordez prima problemă, făcând laserul cât mai slab posibil, fără a face prea dificil de văzut la un nivel rezonabil de lumină. De asemenea, asigurați-vă că orice pisică care folosește dispozitivul nu are nicio înclinație să privească mai degrabă laserul decât punctul - mai ales dacă intenționați să utilizați LaserKitty !! în modurile Auto sau Planificate. Unul dintre scopurile funcției de notificare Pushbullet este acela de a fi utilizat împreună cu o cameră de monitorizare, astfel încât să vi se reamintească să vă urmăriți pisica jucându-vă în timp ce sunteți plecat.
În ceea ce privește a doua obiecție, am inclus posibilitatea de a salva o „Poziție de acasă” la care laserul va reveni după sesiunile de joc programate. Dacă setați acest lucru pentru a indica o jucărie staționară sau vasul pentru mâncare al pisicuței, sperăm că va oferi o rezoluție. Deși, cu pisici, cine știe cu adevărat?
Recomandat:
Cum: Instalarea Raspberry PI 4 Headless (VNC) cu Rpi-imager și imagini: 7 pași (cu imagini)
Cum: Instalarea Raspberry PI 4 Headless (VNC) cu Rpi-imager și Pictures: Plănuiesc să folosesc acest Rapsberry PI într-o grămadă de proiecte distractive din blogul meu. Simțiți-vă liber să o verificați. Am vrut să mă întorc să folosesc Raspberry PI, dar nu aveam tastatură sau mouse în noua mea locație. A trecut ceva timp de când am configurat un Raspberry
Cameră cu infrarosu cu imagini termice DIY: 3 pași (cu imagini)
Cameră cu infrarosu cu imagini termice DIY: Bună ziua! Caut mereu proiecte noi pentru lecțiile mele de fizică. Acum doi ani am dat peste un raport despre senzorul termic MLX90614 de la Melexis. Cel mai bun cu doar 5 ° FOV (câmp vizual) ar fi potrivit pentru o cameră termică făcută de sine. Pentru a citi
Lansați prezentarea de imagini de vacanță cu o atingere de magie!: 9 pași (cu imagini)
Lansează-ți prezentarea cu imagini de vacanță cu un strop de magie! pentru a se potrivi cu steagul și tema țării pe care o vizitez (în acest caz, Sicilia). T
Cum să dezasamblați un computer cu pași și imagini ușoare: 13 pași (cu imagini)
Cum să dezasamblați un computer cu pași și imagini ușoare: Aceasta este o instrucțiune despre cum să dezasamblați un computer. Majoritatea componentelor de bază sunt modulare și ușor de îndepărtat. Cu toate acestea, este important să fiți organizat în acest sens. Acest lucru vă va ajuta să nu vă pierdeți piese și, de asemenea, să faceți reasamblarea
Vizualizator digital de imagini 3D - „The DigiStereopticon”: 6 pași (cu imagini)
Vizualizator digital de imagini 3D - „The DigiStereopticon”: fotografia stereoscopică a căzut în lipsă. Acest lucru se datorează probabil faptului că oamenilor nu le place să poarte ochelari speciali pentru a vedea instantanee de familie. Iată un mic proiect distractiv pe care îl poți face în mai puțin de o zi pentru a-ți face imaginea 3D