Kazalo:

LaserKitty !!: 7 korakov (s slikami)
LaserKitty !!: 7 korakov (s slikami)

Video: LaserKitty !!: 7 korakov (s slikami)

Video: LaserKitty !!: 7 korakov (s slikami)
Video: СУПЕР СМЕШНАЯ КОМЕДИЯ! "Как Извести Любовницу За 7 Дней" РУССКИЕ КОМЕДИИ НОВИНКИ, ФИЛЬМЫ HD, КИНО 2024, November
Anonim
Image
Image
Pridobite svoje stvari
Pridobite svoje stvari

Resnica je splošno priznana, da mora ena sama mačka, ki ima srečo, pomanjkati lasersko igračo. Tako kot pri samskih gospodih, ki si želijo bodočih žena, je treba upoštevati nekatere previdnostne ukrepe. Toda ali to ne drži ničesar, kar je res vredno imeti?

Če imate pomisleke glede hišnih ljubljenčkov in laserske varnosti, pred komentarjem preskočite na konec tega navodila. Če imate pomisleke glede prihodnje žene ali celo trenutne žene, boste verjetno morali poiskati drugje.

Zdaj bi lahko odšli v lokalno trgovino za hišne ljubljenčke in kupili laserski kazalec in morda celo kakšen pripomoček, ki doda osnovno avtomatizacijo. Prihranili bi nekaj denarja in ga vrnili, če ne bi delovalo. Ali pa bi lahko sami kaj zgradili. Zgoraj je že veliko primerov, tukaj pa je moj prispevek k kanonu. Vsebuje:

  • Popoln nadzor pametnega telefona
  • Ročni, samodejni in načrtovani načini
  • Uporabniški vmesnik po meri
  • Stanje sistema, sinhronizirano med več spletnimi odjemalci
  • Stanje sistema zrcaljeno na LaserKitty !! samega sebe
  • Nastavljive omejitve razpona pomika in nagiba
  • Nastavljive dolžine in frekvence predvajanja
  • Nastavljiva okna za predvajanje
  • Stran za nastavitev s trenutnimi nastavitvami na prvi pogled
  • Sinhronizacija časa NTP
  • Upravitelj WiFi za enostavno nastavitev v novih omrežjih
  • Generator tonov za predvajanje teme Mission Impossible pred vsako igro: vaša mačka lahko ceni ironijo ali pa tudi ne.
  • Obvestila pushbullet na vse vaše naprave, ko se začne nova seja predvajanja
  • Nastavljiv domači položaj, tako da se čas predvajanja konča pri skledi za hrano ali mirovanju igrače
  • Vse nastavitve, shranjene v EEPROM -u, se ne izgubijo zaradi izpada električne energije
  • In veliko več! No, res ne, to je vse.

1. korak: Vzemite si stvari

To sem uporabil:

  • Sestava mini ponve in nagiba. To zagotovo ni najcenejši izdelek, ki ga lahko najdete, za naše namene pa ga je treba nekoliko spremeniti. Izbral sem ga, ker je videti nekoliko hladnejši od ugodnih kletnih plastičnih sklopov. Kot nepričakovan bonus njegova zasnova omogoča zelo enostaven način namestitve laserja. Na voljo je z nekaj mikro servomotorji, vendar toplo priporočam, da kupite kup dodatnih za namene zamenjave. Potrebovali boste vsaj en dodatni servo (pokvarjen je v redu).
  • Ohišje. Boli me, če plačam 8 USD za plastično škatlo in zagotovo bi našli kaj primernega za manj. Nekaj glede velikosti povezanega ohišja pa je približno prav.
  • Razvojna plošča na osnovi ESP8266. Uporabil sem NodeMCU. Ni pretirano reči, da imam rad te stvari. Enostaven za uporabo v Arduino IDE in veliko flash pomnilnika za vaše spletne strani. Tudi poceni in po mojih izkušnjah zelo težko ocvrt.
  • Mini laser. Deset za 6 dolarjev, vključno z Amazon Prime. Se hecaš ?? Zdaj moram samo ugotoviti, kaj storiti z drugimi devetimi.
  • Pasivni zvočni signal za tone.
  • Dvokanalni rele. Te uporabljam za vklop in izklop servomotorjev in laserjev. Morda boste lahko odstranili to komponento, kot bom razložil kasneje.
  • 5VDC napajalnik. Upajmo, da boste imeli kakšnega od teh, ki leži na nekem že pozabljenem pripomočku, če pa ne kaj poceni in veselo, kar lahko proizvede približno 1A 5VDC, je tisto, kar potrebujete.
  • Razni potrošni material, kot so upori, LED diode, priključna žica, toplotno krčenje, spajkanje, vroče lepilo. Običajno. Uporabil sem tudi sod za vhodno napajanje 5VDC iz moje neprijetno velike zbirke uničenih Arduino udarnih plošč.
  • Nenazadnje, vendar ne najmanj pomembno, vinilna nalepka za ta čudaški zaključek.

Torej ja. Vse skupaj gledaš okoli 50 USD. Lahko bi to storili za manj, a si vaša mačka ne zasluži najboljšega?

2. korak: Orodja in viri

Orodja in viri
Orodja in viri

Na strani orodja ni nič posebnega. Le spodoben spajkalnik, multimeter, vrtalnik in osnovno ročno orodje. Napajalnik za klop je primeren za eksperimentiranje z laserjem, vendar ni bistven.

Ta projekt resnično izkorišča zmogljivosti ESP8266 in zlasti NodeMCU. Če ste šele začeli z ESP8266, nisem našel boljšega vira na enem mestu kot ta stvar. Razen tega je vse v Googlu, da bi našli odgovore na težave, ki so se pojavile na poti.

3. korak: Pripravite ohišje

Pripravite ohišje
Pripravite ohišje
Pripravite ohišje
Pripravite ohišje

Kot sem morda že omenil, se zdi plačevanje 8 USD za plastično ohišje nezaslišano. Kar je še huje, je zajebavanje stvari z luknjo na napačnem mestu. Zato preden razmislite o napakah, ki sem jih naredil, preden imate na voljo škatlo s svedrom in/ali katerim koli drugim povzročiteljem škodljivcev.

  • Najprej morate razmisliti, kam bodo vse stvari ustrezale. Dobra novica je, da ohišje, ki ga predlagam, ima veliko prostora, tudi z zelo neurejenim ožičenjem, ki ga vidite tukaj. Morda se boste celo izognili manjši škatli, še posebej, če odstranite releje.
  • Najpomembnejše je, kje boste v pokrov namestili sklop posode in nagiba. Moj prvi poskus je prikazan tukaj. Mislil sem, da ga bom umetniško postavil iz središča in malo nazaj za stabilnost. Slaba ideja! Sklop potrebujete čim bližje strani pokrova, tako da samo ohišje ne moti žarka pri visokih kotih nagiba. Prav tako menim, da bi bila idealna ureditev namestitev pan laserja pravokotno na kratko stran in ne na dolgo stran, kot sem to storil jaz. Naredil sem drugače iz čisto estetskih razlogov, čeprav obstaja malo več možnosti za vmešavanje.
  • Kot lahko vidite, je NodeMCU nameščen na Perfboard in bi ga bilo mogoče enostavno postaviti tako, da je njegov priključek za mikro USB dostopen iz reže na strani ali zadaj. To bi olajšalo posodobitve programske opreme (pokrova ni treba sneti). Moja prvotna zamisel je bila, da za posodobitve uporabim knjižnico Over-The-Air (OTA), in videli boste, da moja koda vključuje to funkcijo, čeprav je komentirana. Težava je bila v tem, da generator tonov in OTA nista dobro igrala skupaj (NodeMCU bi se večkrat na polovici pesmi ponastavil). To težavo je verjetno mogoče odpraviti, vendar nikoli nisem uspel posodobiti SPIFFS razen prek USB -ja, zato bi bil dostop do priključka USB lep. Ko sem vse to ugotovil, sem NodeMCU namestil na Perfboard na način, ki je pomenil, da konektor, ki štrli iz škatle, ni mogoč brez veliko faffingov. O dobro.
  • Če bi projekt ponovil, bi LED RGB poravnal z rdečo LED za vklop. (Namen LED RGB je prikazati, v kakšnem načinu je LaserKitty !!, ne da bi morali pogledati aplikacijo.)

Edini rahlo zapleten del pri izdelavi lukenj je pravokotni za servo posode. Uporabil sem vrtalnik in pilico. Kot lahko vidite iz mojega prvega poskusa, je težko narediti ravno pravokotno (ali pravokotno, mislim). Ko pa je servo nameščen, tega res ne vidite.

Morate narediti še tri druge luknje. Te naj bodo nameščene na zadnji strani škatle in se uporabljajo za vtičnico za napajanje, zvočni signal in vstopno točko za nagibno servo in lasersko ožičenje. Vse te luknje so lahko okrogle in jih ni težko narediti samo z vrtalnikom.

Liberalna uporaba vročega lepila zavaruje vse na svojem mestu (z izjemo servo posode, ki je pritrjena na pokrov s pomočjo pritrdilnih jezičkov servomotorja).

4. korak: Sklop za premikanje in nagibanje

Sklop Pan and Tilt
Sklop Pan and Tilt
Sklop Pan and Tilt
Sklop Pan and Tilt
Sklop Pan and Tilt
Sklop Pan and Tilt
Sklop Pan and Tilt
Sklop Pan and Tilt

Ko sem prejel sklop pomikanja in nagiba, sem mislil, da sem naredil še eno veliko napako. Sestavljeno po navodilih v resnici sploh ni mehanizem za premikanje in nagibanje, temveč nagib in zasuk - primeren za predvideno uporabo kot robotska roka. Toda trenutek mirnega razmišljanja mi je omogočil, da sem videl, da bi ga lahko dejansko sestavil na drugačen način, da bi dosegel želeni rezultat. Še bolje, prvotno lokacijo "twist" servomotorja bi lahko uporabili kot nosilec za laser.

Če pogledate dokončano montažo na teh slikah, boste dobili idejo. Ostal vam bo majhen kovinski blok, ki pri tej zasnovi ni potreben.

Bliskavica navdiha, ki sem ga imel, je bila uporaba prvotne lokacije drugega servomotorja za namestitev laserja. Še bolje, če odglavite servomotorju in izvrtate držalo z ročajem, je to odlično mesto za vgradnjo laserja! Samo ne podcenjujte truda, ki je potreben za razrez servo motorja. Nekaj mesa je za te male zlobnike!

Po montaži in namestitvi v ohišje IN PRED UPORABO MOČI se prepričajte, da se bo pomaknil za 180 stopinj po površini ohišja. Tako ali drugače sem po tem, ko sem ga enkrat uspešno namestil, spet sestavil nosilec za ponev, tako da so glave vijakov na podstavku vezane proti dvignjenemu nastavku servomotorja, kjer je namenjena ročica. Rezultat je bil, da je servo takoj prestavil prestave. Na svetlejši strani imam zdaj še en duff servo, ki ga lahko uporabim kot laserski nosilec.

5. korak: Povežite ga

Ožičite ga
Ožičite ga

Upajmo, da bo skica Fritzing razjasnila stvari. Nekaj točk za dodatno pojasnitev:

  • Kot je bilo razloženo kasneje, sem želel narediti laser čim bolj zatemnjen, hkrati pa ohraniti dovolj svetlosti, da bi bil uporaben v vseh, razen v najsvetlejši notranji svetlobi. Z malo eksperimentiranja sem se odločil, da ga napajam iz 3.3VDC pin na Node MCU in dodam 22 Ohm upor v nizu za dobro mero. S to nastavitvijo porabi okoli 10 mA, tako da bi se teoretično lahko napajal neposredno iz vtiča GPIO, vendar se mi je zdelo, da je preveč zatemnjeno, tudi brez upora.
  • Laser ima zelo omejeno sposobnost spreminjanja ostrenja (kolimacije?), S katerim sem povečal piko in s tem razpršil lasersko energijo
  • Moja prva misel je bila vklop in izklop servomotorjev s tranzistorjem, vendar je to povzročilo, da so servomotorji ponoreli. Prepričan sem, da za to obstaja dober razlog, a ker sem že imel pri roki nekaj relejev, sem se odločil za lažjo pot in popolnoma izoliral napajanje servomotorjev. In ker so imeli releji dva kanala, sem mislil, da bi lahko tudi laser preklopil na ta način (vijolične žice so kontrolni signal iz MCU). Všeč mi je tudi mehanski klik, ki ga proizvaja ta rešitev. Lahko pa se odločite drugače. Ni prikazano, vendar se releji napajajo neposredno iz napajanja 5VDC - NodeMCU je morda le lahko neposredno napajal dvokanalni rele, vendar ni bilo razloga za tveganje. Če ste te releje že uporabljali, boste vedeli, da je za to potrebno odstraniti mostiček med JD-VCC in VCC.
  • RGB LED ima rdeče in zeleno upor za omejevanje toka 220 Ohm in modro 100 Ohm. Rdeča LED za vklop ima 450 ohmski upor, saj se napaja iz 5VDC in ne iz 3.3VDC. To so le osnovne vrednosti, da dobite veliko svetlosti in razumno dolgo življenjsko dobo.
  • Zvonec je precej glasen. Za zmanjšanje glasnosti lahko signalni liniji dodate upor. Tone lahko popolnoma izklopite s programsko opremo, vendar je lahko nekaj vmes lepo.

6. korak: Koda

Kodeks
Kodeks
Kodeks
Kodeks
Kodeks
Kodeks
Kodeks
Kodeks

Kljub precej dolgi razlagi strojne opreme je bilo 90% truda vloženega v kodo. To bi bilo več, vendar sem si od tukaj "sposodil" nekaj odlične kode za premikanje laserja v samodejnem načinu. Ni smisla znova odkrivati kolesa. Pravzaprav se lahko odločite, da boste sledili temu projektu in ne temu, ali pa mešate in ujemate vidike obeh. Vsekakor mi je všeč ideja, da bi nekatere komponente izdelali s 3-D tiskalnikom, vendar ga nimam.

Moja koda (najdena na GitHubu tukaj) je v treh glavnih delih. Obstaja sama skica Arduino, datoteke HTML s kopico Javascripta za vsebino aplikacije in povezane datoteke CSS za oblikovanje. S tem projektom sem izvedel nekaj več o vseh teh programskih elementih, začenši z zelo nizko osnovo, zlasti na strani vmesnika aplikacij. Poskušal sem malo urediti kodo, vendar sem se osredotočil le na to, da stvar deluje. Koda uporablja Websockets za dvosmerno komunikacijo med strežnikom NodeMCU in povezanimi odjemalci.

Koda Arduino je obsežno komentirana, zato upajmo, da vam bo enostavno slediti. Ko ga naložite iz GitHub -a, zlepite celotno zbirko v mapo, naložite skico v svoj MCU in nato naložite vsebino podmape "data" v SPIFFS.

Pravzaprav to opraskaj. Če želite uporabljati funkcijo obveščanja Pushbullet, boste najprej potrebovali žeton za dostop do API -ja, ki je na voljo tukaj. Gre v vrstico 88 kode Arduino. Pushbullet deluje dobro, če pa prvič nastavite račun v telefonu, se vam bo morda zdelo, da se morate prijaviti, odjaviti in nato znova prijaviti, preden se obvestila začnejo prikazovati, kot je konfigurirano v nastavitvah telefona.

Obstajajo tri spletne strani-začetni zaslon, dejanski vmesnik aplikacije in nastavitvena stran. Če na ta način ločite vsebino, je uporaba vmesnika veliko bolj podobna aplikaciji, zlasti zaradi obsežnih konfiguracijskih možnosti (posnetek zaslona zajema le del teh možnosti).

Ena od potez pri pridobivanju NodeMCU za strežbo na več straneh je bila, da sem moral vse slikovne datoteke vstaviti neposredno v podatkovno mapo - preprosto ni mogel delovati, če so bile postavljene v podmape. Vse slike, ki sem jih uporabil, sem vključil v skladišče GitHub, tako da deluje brez napak, vendar jih boste nedvomno želeli zamenjati s svojimi slikami.

7. korak: Zaključni dotiki in laserska varnost

Zaključni dotiki in laserska varnost
Zaključni dotiki in laserska varnost
Zaključni dotiki in laserska varnost
Zaključni dotiki in laserska varnost
Zaključni dotiki in laserska varnost
Zaključni dotiki in laserska varnost

Kljub svojim privlačnim stroškom 8 USD je ohišje precej uporabno. Ko sem malo pobrskal po Etsyju, sem našel vinilno grafiko, ki jo vidite na končnem izdelku (in ki se zrcali na strani z aplikacijo). Odpremljeno iz Združenega kraljestva je bilo nekoliko drago, a vsekakor vredno - in dobiš dva, če želiš ponoviti projekt. Ko je moj zadnji umetniški razcvet uspel, sem mačjim očem zasukal majhne "jamice", tako da gledajo v svetlo rdečo LED diodo za napajanje, ki označuje lasersko piko. Glede na vaš apetit za muhavost se lahko odločite ali ne, da se odločite za to.

Datoteka HTML za začetni zaslon vsebuje kodo za dodajanje ikone na začetni zaslon iPhone.

Nazadnje, ne smem prezreti pomislekov glede uporabe laserja za igranje z mačkami. Obstajata dva glavna ugovora:

  • Laser bi lahko slepil ali poškodoval mačje oči
  • Igranje z lasersko piko je za mačke na koncu nezadovoljivo, saj ga nikoli ne morejo ujeti ali "ubiti"

O obeh temah je veliko prepirov, nekaj navidez informiranih, nekaj manj. Na koncu se morate sami odločiti, ali je ta projekt ali katera koli druga laserska igrača primerna za vašo mačko. Kar sem storil, sem poskušal rešiti prvo težavo tako, da sem naredil laser čim bolj zatemnjen, ne da bi ga bilo preveč težko videti pri razumni ravni svetlobe. Prepričajte se tudi, da katera koli mačka, ki uporablja napravo, nima nagnjenosti k strmenju v sam laser in ne v piko - še posebej, če nameravate uporabljati LaserKitty !! v samodejnem ali načrtovanem načinu. En namen funkcije obveščanja Pushbullet je, da jo lahko uporabljate skupaj s nadzorno kamero, tako da boste opomnjeni, da opazujete, kako se vaša mucka igra, ko vas ni.

Kar zadeva drugi ugovor, sem vključil možnost shranjevanja "domačega položaja", na katerega se bo laser vrnil po načrtovanih igrah. Če to nastavite tako, da kaže na nepremično igračo ali posodo za hrano vaše mačke, upajmo, da bo to nekaj razrešilo. Čeprav pri mačkah kdo res ve?

Priporočena: