Sadržaj:

LaserKitty !!: 7 koraka (sa slikama)
LaserKitty !!: 7 koraka (sa slikama)

Video: LaserKitty !!: 7 koraka (sa slikama)

Video: LaserKitty !!: 7 koraka (sa slikama)
Video: Крутой Сериал! За Первого Встречного 12 серия! 2024, Listopad
Anonim
Image
Image
Nabavite svoje stvari
Nabavite svoje stvari

Istina je koja je općepriznata da jedna mačka koja posjeduje sreću mora nedostajati laserska igračka. Kao i kod slobodne gospode u nedostatku budućih žena, moraju se poštivati neke mjere opreza. No, nije li to istina o bilo čemu što zaista vrijedi imati?

Ako imate nedoumica u vezi kućnih ljubimaca i sigurnosti lasera, prije komentara pređite na kraj ovog uputstva. Ako ste zabrinuti oko buduće supruge, pa čak i sadašnje, vjerojatno ćete morati potražiti negdje drugdje.

Sada biste mogli navratiti u lokalnu trgovinu za kućne ljubimce i kupiti laserski pokazivač, a možda čak i neki uređaj koji dodaje rudimentarnu automatizaciju. Uštedjeli biste nešto novca i mogli biste ga vratiti ako ne uspije. Ili možete sami izgraditi nešto. Primjera već ima dosta, ali evo mog doprinosa kanonu. Sadrži:

  • Potpuna kontrola pametnog telefona
  • Ručni, automatski i raspoređeni načini
  • Sučelje prilagođene aplikacije
  • Status sustava sinkroniziran između više web klijenata
  • Status sustava zrcaljen na LaserKitty !! sebe
  • Konfigurirana ograničenja raspona pomicanja i nagiba
  • Podesive duljine i frekvencije sesije tijekom reprodukcije
  • Prozori za igru koji se mogu konfigurirati
  • Stranica za postavljanje s trenutnim postavkama na prvi pogled
  • NTP sinkronizacija vremena
  • WiFi upravitelj za jednostavno postavljanje na novim mrežama
  • Generator tonova za reprodukciju teme Nemoguća misija prije svake sesije igre: vaša mačka može i ne mora cijeniti ironiju.
  • Pushbullet obavijesti na sve vaše uređaje kada započne nova sesija reprodukcije
  • Domaći položaj se može konfigurirati tako da se vrijeme igre završava u zdjeli za hranu ili nepomičnoj igrački
  • Sve postavke pohranjene u EEPROM -u pa se ne gube pri nestanku struje
  • I mnogo više! Pa, ne baš, to je otprilike to.

Korak 1: Nabavite svoje stvari

Ovo sam koristio:

  • Sklop mini tave i nagiba. Ovo zasigurno nije najjeftiniji koji možete pronaći i za naše potrebe treba neke izmjene. Odabrao sam ga jer izgleda malo hladnije od jeftinih podrumskih plastičnih sklopova. Kao neočekivani bonus, njegov dizajn omogućuje vrlo jednostavan način postavljanja lasera. Dolazi s nekoliko mikro servo servera, ali toplo preporučujem da kupite hrpu dodatnih radi zamjene. Trebat će vam barem jedan dodatni servo (slomljen je u redu).
  • Ograđivanje. Boli me što plaćam 8 dolara za plastičnu kutiju i definitivno biste mogli pronaći nešto prikladno za manje. Nešto o veličini povezanog kućišta ipak je približno u redu.
  • Razvojna ploča zasnovana na ESP8266. Koristio sam NodeMCU. Nije pretjerano reći da volim te stvari. Jednostavan za korištenje unutar Arduino IDE -a i puno flash memorije za vaše web stranice. Također jeftino i, prema mom iskustvu, jako teško za prženje.
  • Mini laser. Deset za 6 dolara uključujući Amazon Prime. Zezaš me ?? Sad samo moram smisliti što ću s ostalih devet.
  • Pasivno zujanje za tonove.
  • Dvokanalni relej. Koristim ih za uključivanje i isključivanje servo i lasera. Možda ćete moći ukloniti ovu komponentu kao što ću kasnije objasniti.
  • 5VDC napajanje. Nadamo se da ćete imati jedan od ovih koji leži okolo na nekom davno zaboravljenom gizmu, ali ako ništa drugo nije jeftino i veselo što može proizvesti oko 1A od 5VDC.
  • Razni potrošni materijal kao što su otpornici, LED diode, spojna žica, termoskupljanje, lemljenje, vruće ljepilo. Uobičajeno. Također sam koristio bačvastu utičnicu za dolazno napajanje od 5VDC iz moje sramotno velike kolekcije uništenih Arduino udarnih ploča.
  • Posljednja, ali nikako ne najmanje važna, vinilna naljepnica za taj hirovit završni dodir.

Pa da. Sve skupa tražite oko 50 USD. Mogli biste to učiniti za manje novca, ali zar vaša maca ne zaslužuje najbolje?

Korak 2: Alati i izvori

Alati i izvori
Alati i izvori

Ovdje nema ništa posebno sa alata. Samo pristojno lemilica, multimetar, bušilica i osnovni ručni alati. Napajanje s klupe dobro je za eksperimentiranje s laserom, ali nije bitno.

Ovaj projekt doista iskorištava mogućnosti ESP8266, a posebno NodeMCU -a. Ako tek počinjete s ESP8266, nisam našao bolji izvor na jednom mjestu od ove stvari. Osim toga, sve je u Googlu kako bi se pronašli odgovori na probleme koji su se pojavili usput.

Korak 3: Pripremite kućište

Pripremite kućište
Pripremite kućište
Pripremite kućište
Pripremite kućište

Kao što sam već spomenuo, plaćanje 8 USD za plastično kućište čini se nevjerojatnim. Ono što je još gore je zeznuti stvar postavljanjem rupe na krivo mjesto. Zato prije nego što imate na raspolaganju svoju kutiju sa bušilicom i/ili bilo kojim drugim proizvođačem haosa, razmislite o pogreškama koje sam napravio.

  • Prije svega, morate razmisliti gdje će sve stvari stati. Dobra vijest je da kućište za koje predlažem da ima dovoljno prostora, čak i uz vrlo neuredno ožičenje koje vidite ovdje. Možda ćete se čak moći i izvući s manjom kutijom, osobito ako uklonite releje.
  • Najvažnije je mjesto gdje ćete montirati sklop posude i nagiba u poklopac. Ovdje je prikazan moj prvi pokušaj. Mislio sam da ću ga umjetnički postaviti izvan centra i malo unatrag radi stabilnosti. Loša ideja! Trebate sklop što je moguće bliže bočnoj strani poklopca kako samo kućište ne bi ometalo snop pod visokim kutovima nagiba. Također, mislim da bi idealan aranžman bio montiranje pan lasera okomito na kratku stranu, a ne, kao što sam učinio, na dugu stranu. Učinio sam to na drugi način iz čisto estetskih razloga iako postoji malo veći potencijal smetnji.
  • Kao što vidite, NodeMCU je montiran na Perfboard i mogao se lako postaviti tako da je njegov mikro USB priključak bio dostupan iz utora sa strane ili straga. To bi olakšalo ažuriranje softvera (nema potrebe skidati poklopac). Moja je prvotna ideja bila koristiti Over-The-Air (OTA) biblioteku za ažuriranja i vidjet ćete da moj kôd uključuje tu funkcionalnost, iako je komentirana. Problem je bio u tome što generator tonova i OTA ne bi dobro svirali zajedno (NodeMCU bi se više puta vraćao na pola pjesme). Taj se problem vjerojatno može riješiti, ali nikada nisam bio uspješan u ažuriranju SPIFFS -a osim putem USB -a, pa bi pristup USB priključku bio dobar. Kad sam sve ovo shvatio, montirao sam NodeMCU na Perfboard na način koji je značio da izvlačenje konektora iz kutije nije bilo moguće bez puno fafovanja. Oh dobro.
  • Kad bih ponovno radio na projektu, poravnao bih RGB LED s crvenom LED za uključivanje. (Svrha RGB LED diode je ukazati na način rada LaserKitty !! bez gledanja aplikacije.)

Jedini pomalo lukavi dio stvaranja rupa je pravokutni za servo tave. Koristio sam bušilicu i turpiju. Kao što možete vidjeti iz mog prvog pokušaja, teško ga je napraviti točno kvadratnim (ili pravokutnim, pretpostavljam). Ali kad je servo montiran, to se zapravo ne vidi.

Morat ćete napraviti još tri rupe. Ove bi se trebale postaviti na stražnju stranu kutije i koristiti za utičnicu za napajanje, zujalicu i ulaznu točku za servo servo i lasersko ožičenje. Sve te rupe mogu biti okrugle i ne predstavljaju poteškoće za napraviti samo bušilicom.

Liberalna upotreba vrućeg ljepila osigurava sve na svom mjestu (s izuzetkom servo za tavu, koji je pričvršćen za poklopac pomoću držača za servo montažu).

Korak 4: Sklop za pomicanje i naginjanje

Pan and Tilt Assembly
Pan and Tilt Assembly
Pan and Tilt Assembly
Pan and Tilt Assembly
Pan and Tilt Assembly
Pan and Tilt Assembly
Pan and Tilt Assembly
Pan and Tilt Assembly

Kad sam primio sklop za pomicanje i naginjanje, mislio sam da sam napravio još jednu veliku pogrešku. Sastavljeno prema uputama, to zapravo uopće nije mehanizam pomicanja i naginjanja, već dizajn nagiba i uvijanja - prikladan za njegovu namjeravanu upotrebu kao robotske ruke. Međutim, trenutak mirnog razmišljanja omogućio mi je da vidim da se zapravo može sastaviti na drugačiji način kako bi se postigao željeni rezultat. Još bolje, izvorno mjesto servo servera "twist" moglo bi se koristiti kao nosač za laser.

Ako pogledate dovršenu montažu na ovim slikama, dobit ćete ideju. Ostat će vam mali metalni blok koji nije potreban u ovom dizajnu.

Bljesak nadahnuća koji sam imao bila je upotreba izvorne lokacije drugog serva za postavljanje lasera. Još bolje, ako odrubite duff servo i izbušite držač s ozubljenom rukom, to je savršeno mjesto za postavljanje lasera! Samo ne podcjenjujte trud koji je potreban da biste razdvojili servo. Ima malo mesa za te male napadače!

Nakon montaže i ugradnje u kućište, I PRE PRIMJENE SNAGE, pobrinite se da se pomakne za 180 stupnjeva po prednjoj strani kućišta. Na neki način, nakon što sam ga jednom uspješno instalirao, spojio sam držač za posudu tako da su glave vijaka na podnožju povezane s uzdignutim nastavkom servo pogona na kojem se namjerava postaviti ruka. Rezultat je bio da je servo odmah skinuo zupčanike. S vedrije strane, sada imam još jedan duff servo za korištenje kao laserski nosač.

Korak 5: Povežite ga

Ožičite to
Ožičite to

Nadajmo se da će skica Fritzinga pojasniti stvari. Neke stvari za dodatno pojašnjenje:

  • Kao što je kasnije objašnjeno, htio sam učiniti laser što je moguće tamnijim, zadržavajući dovoljno svjetline kako bi bio upotrebljiv u svim svjetlima osim u najsjajnijem unutarnjem svjetlu. Uz malo eksperimentiranja odlučio sam se za napajanje s pina od 3,3 VDC na Node MCU -u, dodajući serijski otpornik od 22 Ohma za dobru mjeru. S ovim postavljanjem troši oko 10 mA pa bi se u teoriji mogao napajati izravno s GPIO pina, ali smatrao sam da je to previše prigušeno, čak i bez otpornika.
  • Laser ima vrlo ograničenu sposobnost mijenjanja fokusa (kolimacija?) Koju sam koristio za povećanje točke i time raspršivanje laserske energije
  • Moja prva misao bila je uključivanje i isključivanje servo -a pomoću tranzistora, ali to je dovelo do toga da su servo -uređaji poludjeli. Siguran sam da za to postoji dobar razlog, ali budući da sam već imao pri ruci neke releje, uzeo sam jednostavan način i potpuno izolirao napajanje servo pogona. A budući da su releji imali dva kanala, mislio sam da bih mogao prebaciti i laser na taj način (ljubičaste žice su upravljački signal iz MCU -a). Sviđa mi se i mehaničko škljocanje koje proizvodi ovo rješenje. Možete ipak odlučiti drugačije. Nije prikazano, ali releji se napajaju izravno iz 5VDC napajanja - NodeMCU je možda jednostavno mogao izravno napajati dvokanalni relej, ali nije bilo razloga riskirati. Ako ste ranije koristili ove releje, znat ćete da je potrebno ukloniti kratkospojnik između JD-VCC i VCC.
  • RGB LED ima otpornike za ograničavanje struje od 220 ohma na crvenoj i zelenoj boji i 100 ohma na plavoj boji. Crvena LED dioda za uključivanje ima otpornik od 450 Ohma jer se napaja iz 5VDC, a ne iz 3.3VDC. Ovo su samo temeljne vrijednosti za dobivanje dovoljno svjetline i razumnu dugovječnost.
  • Zvučni signal je prilično glasan. Možda ćete htjeti dodati otpornik signalnoj liniji kako biste smanjili glasnoću. Tonovi se mogu potpuno isključiti putem softvera, ali nešto između bi moglo biti lijepo.

Korak 6: Kôd

Kod
Kod
Kod
Kod
Kod
Kod
Kod
Kod

Unatoč prilično dugotrajnom objašnjenju hardverske strane, 90% napora uloženo je u kôd. Bilo bi i više, ali odavde sam "posudio" sjajan kôd za kretanje lasera u automatskom načinu rada. Nema smisla izmišljati kotač. Zapravo, možda ćete odlučiti slijediti taj projekt, a ne ovaj, ili pomiješati i uskladiti aspekte oba. Svakako, sviđa mi se ideja da neke komponente napravim s 3-D pisačem, ali nemam ga.

Moj kôd (ovdje se nalazi na GitHubu) sastoji se od tri glavna dijela. Tu je i sama Arduino skica, HTML datoteke s hrpom Javascripta za sadržaj aplikacije i povezane CSS datoteke za oblikovanje. Koristio sam ovaj projekt kako bih naučio nešto više o svim tim programskim elementima, počevši od vrlo niske baze, posebno na strani sučelja aplikacije. Pokušao sam malo srediti kôd, ali moj glavni fokus bio je samo na tome da stvar počne funkcionirati. Kôd koristi Websockets za dvosmjernu komunikaciju između poslužitelja NodeMCU i povezanih klijenata.

Arduino kôd je opsežno komentiran pa se nadamo da ćete ga lako slijediti. Nakon što ga preuzmete s GitHub -a, stavite cijeli paket u mapu, prenesite skicu na svoj MCU, a zatim prenesite sadržaj podmape "podaci" u SPIFFS.

Zapravo, zagrebi to. Ako želite koristiti značajku obavijesti Pushbullet, najprije će vam trebati API pristupni token dostupan ovdje. Ide u redak 88 Arduino koda. Pushbullet radi dobro, ali ako prvi put postavljate račun na telefonu, moglo bi se dogoditi da se morate prijaviti, odjaviti, a zatim se ponovno prijaviti prije nego što se obavijesti počnu pojavljivati onako kako je konfigurirano u postavkama telefona.

Postoje tri web stranice-početni zaslon, stvarno sučelje aplikacije i stranica za postavljanje. Odvajanje sadržaja na ovaj način čini korištenje sučelja mnogo sličnijim aplikacijama, posebno zbog opsežnih mogućnosti konfiguracije (snimka zaslona snima samo dio ovih opcija).

Jedna od poteškoća u pridobivanju NodeMCU -a za opsluživanje više stranica bilo je to što sam sve slikovne datoteke morao staviti izravno u podatkovnu mapu - jednostavno ih nisam mogao natjerati da rade ako su stavljene u podmape. Uključio sam sve slike koje sam koristio u spremište GitHub tako da funkcionira "izvan kutije", ali ćete bez sumnje poželjeti zamijeniti ih vlastitim slikama.

Korak 7: Završni dodiri i laserska sigurnost

Završni dodiri i sigurnost lasera
Završni dodiri i sigurnost lasera
Završni dodiri i sigurnost lasera
Završni dodiri i sigurnost lasera
Završni dodiri i sigurnost lasera
Završni dodiri i sigurnost lasera

Unatoč nevjerojatnim cijenama od 8 USD, kućište je prilično korisno. Nakon što sam se malo razgledao po Etsyju, pronašao sam grafiku od vinila koju vidite na gotovom proizvodu (a koja se zrcali na stranici aplikacije). Dostavljeno iz Velike Britanije bilo je malo skupo, ali definitivno se isplati - a dobit ćete dva u slučaju da želite ponoviti projekt. Dok je moj posljednji umjetnički procvat, okrenuo sam male "rupice" u mačjim očima tako da gledaju jarkocrvenu LED diodu za napajanje, koja označava lasersku točku. Ovisno o vašem apetitu za ćudljivošću, možda ćete odlučiti otići dodatno.

HTML datoteka početnog zaslona sadrži kôd za dodavanje ikone na početni zaslon iPhonea.

I na kraju, ne bih trebao zanemariti zabrinutost izraženu oko upotrebe lasera za igru s mačkama. Postoje dvije glavne zamjerke:

  • Laser bi mogao zaslijepiti ili oštetiti mačje oči
  • Igranje laserskom točkom u konačnici nije zadovoljavajuće za mačke jer ih nikada ne mogu uloviti ili "ubiti"

Na isprepletenim temama mnogo je riječi o obje teme, neke naizgled informirane, neke manje. Na kraju, morate sami donijeti odluku o tome je li ovaj projekt, ili bilo koja druga laserska igračka, prikladan za vašu mačku. Ono što sam učinio je pokušao riješiti prvi problem tako da je laser učinio što je moguće tamnijim, a da mi nije otežao vidljivost pri razumnoj razini svjetlosti. Također, pobrinite se da svaka mačka koja koristi uređaj nema sklonosti buljiti u sam laser, a ne u točku - pogotovo ako namjeravate koristiti LaserKitty !! u automatskom ili zakazanom načinu rada. Jedna je svrha značajke obavijesti Pushbullet da se koristi zajedno s kamerom za nadzor, tako da se podsjetite da gledate mačića kako se igra dok ste odsutni.

Što se tiče drugog prigovora, uključio sam mogućnost spremanja "početne pozicije" na koju će se laser vratiti nakon zakazanih sesija igranja. Ako ovo postavite da pokazuje na nepomičnu igračku ili zdjelu za hranu vašeg mačića, nadamo se da će to omogućiti neko rješenje. Iako, s mačkama, tko zaista zna?

Preporučeni: