Satura rādītājs:
- 1. darbība: iegūstiet lietas
- 2. darbība: rīki un resursi
- 3. darbība: sagatavojiet korpusu
- 4. solis: pannas un noliekšanas montāža
- 5. solis: pievienojiet vadu
- 6. darbība: kods
- 7. darbība. Pieskārienu pabeigšana un lāzera drošība
Video: LaserKitty !!: 7 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Ir vispārēji atzīta patiesība, ka vienam kaķim, kuram ir laime, jābūt lāzera rotaļlietas trūkumā. Tāpat kā vientuļiem kungiem, kuri vēlas nākamās sievas, ir jāievēro daži piesardzības pasākumi. Bet vai tas neattiecas uz kaut ko, kas patiešām ir vērts?
Ja jums ir bažas par mājdzīvniekiem un lāzera drošību, pirms komentēšanas pārejiet līdz šīs pamācības beigām. Ja jums ir bažas par nākamo vai pat pašreizējo sievu, jums, iespējams, jāmeklē citur.
Tagad jūs varat doties uz vietējo mājdzīvnieku veikalu un iegādāties lāzera rādītāju un, iespējams, pat kādu aprīkojumu, kas papildina elementāru automatizāciju. Jūs ietaupītu naudu un varētu to atgriezt, ja tas nedarbotos. Vai arī jūs varētu kaut ko uzbūvēt pats. Tur jau ir daudz piemēru, bet šeit ir mans ieguldījums kanonā. Tajā ir:
- Pilnīga viedtālruņa vadība
- Manuālie, automātiskie un plānotie režīmi
- Pielāgota lietojumprogrammas saskarne
- Sistēmas statuss sinhronizēts starp vairākiem tīmekļa klientiem
- Sistēmas statuss atspoguļots LaserKitty !! pati
- Konfigurējami panoramēšanas un slīpuma diapazona ierobežojumi
- Konfigurējams spēles laika sesiju ilgums un biežums
- Konfigurējami atskaņošanas logi
- Iestatīšanas lapa ar īslaicīgiem pašreizējiem iestatījumiem
- NTP laika sinhronizācija
- WiFi pārvaldnieks ērtai iestatīšanai jaunos tīklos
- Toņu ģenerators, lai pirms katras spēles sesijas atskaņotu neiespējamās misijas tēmu: jūsu kaķis var novērtēt ironiju vai ne.
- Pushbullet paziņojumi visām ierīcēm, kad sākas jauna atskaņošanas sesija
- Konfigurējama sākuma pozīcija, lai spēles laiks beigtos pie pārtikas trauka vai nekustīgas rotaļlietas
- Visi iestatījumi tiek saglabāti EEPROM, tāpēc tie netiek zaudēti strāvas padeves pārtraukuma gadījumā
- Un daudz vairāk! Nu, ne īsti, tas ir viss.
1. darbība: iegūstiet lietas
To es izmantoju:
- Mini pannas un slīpuma komplekts. Tas noteikti nav lētākais, ko varat atrast, un mūsu vajadzībām tas ir nedaudz jāmaina. Es to izvēlējos, jo tas izskatās nedaudz vēsāks nekā izdevīgi pagraba plastmasas mezgli. Kā negaidīts bonuss, tā dizains ļauj ļoti viegli uzstādīt lāzeru. Tam ir pāris mikro servo, bet es ļoti iesaku jums iegādāties virkni papildu, lai tos nomainītu. Jums būs nepieciešams vismaz viens papildu servo (salauzts ir labi).
- Iežogojums. Man ir sāpīgi maksāt 8 USD par plastmasas kastīti, un jūs noteikti varētu atrast kaut ko piemērotu par mazāk. Kaut kas par saistītā korpusa izmēru ir aptuveni pareizs.
- Attīstības padome, kuras pamatā ir ESP8266. Es izmantoju NodeMCU. Nav pārspīlēts teikt, ka es mīlu šīs lietas. Viegli lietojams Arduino IDE un daudz zibatmiņas jūsu tīmekļa lapām. Arī lēts un, pēc manas pieredzes, ļoti grūti cepams.
- Mini lāzers. Desmit par 6 ASV dolāriem, ieskaitot Amazon Prime. Vai tu mani izjoko?? Tagad man tikai jāizdomā, ko darīt ar pārējiem deviņiem.
- Pasīvs skaņas signāls signāliem.
- Divu kanālu relejs. Es tos izmantoju servo un lāzera ieslēgšanai un izslēgšanai. Jūs, iespējams, varēsit novērst šo komponentu, kā es paskaidrošu vēlāk.
- 5VDC barošanas avots. Cerams, ka jums būs kāds no šiem, kas atrodas no kāda sen aizmirsta gizmo, bet, ja ne kaut kas lēts un jautrs, kas var radīt aptuveni 1A 5VDC, ir tas, kas jums nepieciešams.
- Dažādi palīgmateriāli, piemēram, rezistori, gaismas diodes, savienojams vads, termiski saraušanās, lodēšana, karsta līme. Parastais. Es arī izmantoju mucas ligzdu ienākošajai 5 V līdzstrāvas barošanas avotam no manas mulsinoši lielās iznīcināto Arduino nojaukšanas dēļu kolekcijas.
- Visbeidzot, bet ne mazāk svarīgi, vinila uzlīme šim dīvainajam apdares pieskārienam.
Tātad jā. Jūs skatāties uz aptuveni 50 ASV dolāriem. Jūs to varētu izdarīt par mazāku cenu, bet vai jūsu kaķēns nav pelnījis labāko?
2. darbība: rīki un resursi
Instrumentu pusē šeit nav nekā īpaša. Tikai pienācīgs lodāmurs, multimetrs, urbis un pamata rokas instrumenti. Stenda barošanas avots ir jauks, lai eksperimentētu ar lāzeru, bet nav būtisks.
Šis projekts patiešām izmanto ESP8266 un jo īpaši NodeMCU iespējas. Ja jūs tikko sākat darbu ar ESP8266, es neesmu atradis labāku vienas pieturas resursu par šo lietu. Izņemot to, viss ir saistīts ar Google meklēšanu, lai atrastu atbildes uz problēmām, kas radās ceļā.
3. darbība: sagatavojiet korpusu
Kā es jau minēju, samaksāt 8 USD par plastmasas korpusu šķiet nežēlīgi. Tomēr vēl sliktāk ir ieskrūvēt lietu, ievietojot caurumu nepareizā vietā. Tāpēc, pirms jūsu rīcībā ir urbjmašīna un/vai kāds cits neskaidrību veidotājs, apsveriet manas kļūdas.
- Vispirms jums ir jādomā par to, kur visas lietas iederēsies. Labā ziņa ir tā, ka manis ieteiktajā korpusā ir daudz vietas, pat ar ļoti nesakopto vadu, ko redzat šeit. Jūs pat varat izkļūt ar mazāku kasti, it īpaši, ja likvidējat relejus.
- Vissvarīgākais ir tas, kur jūs uzstādīsiet pannu un sasvērsiet vāku. Mans pirmais mēģinājums ir parādīts šeit. Es domāju, ka es to mākslinieciski novietošu ārpus centra un nedaudz atpakaļ, lai nodrošinātu stabilitāti. Slikta ideja! Montāža ir nepieciešama pēc iespējas tuvāk vāka sāniem, lai korpuss netraucētu staru pie liela slīpuma leņķa. Tāpat es domāju, ka ideāls izkārtojums būtu pannas lāzera uzstādīšana perpendikulāri īsajai pusei, nevis, kā es to darīju, garajai pusei. Es to darīju otrādi tīri estētisku apsvērumu dēļ, lai gan ir nedaudz lielāks traucējumu potenciāls.
- Kā redzat, NodeMCU ir uzstādīts uz Perfboard, un to varēja viegli novietot tā, lai tā mikro USB savienotājs būtu pieejams no slota sānos vai aizmugurē. Tas atvieglotu programmatūras atjaunināšanu (nav nepieciešams noņemt vāku). Mana sākotnējā ideja bija atjauninājumiem izmantot bezvadu (OTA) bibliotēku, un jūs redzēsit, ka mans kods ietver šo funkcionalitāti, lai gan tā ir komentēta. Problēma bija tā, ka toņu ģenerators un OTA nespēlēs labi kopā (NodeMCU vairākkārt atiestatīs dziesmas pusi). Šī problēma, iespējams, ir novērsta, taču man nekad nav izdevies atjaunināt SPIFFS, izņemot USB, tāpēc piekļuve USB savienotājam būtu bijusi jauka. Līdz tam laikam es sapratu, ka esmu uzmontējis NodeMCU uz perfboard tā, ka savienotājs neizbēga no kastes, nebija iespējams bez daudzām faffing. Nu labi.
- Ja es vēlreiz atkārtotu projektu, es izlīdzinātu RGB gaismas diodi ar sarkano ieslēgšanas gaismas diodi. (RGB gaismas diodes mērķis ir norādīt, kādā režīmā ir LaserKitty !!, neskatoties uz lietotni.)
Vienīgā nedaudz sarežģītā daļa caurumu izgatavošanā ir taisnstūrveida pannas servo. Es izmantoju urbi un vīli. Kā redzat no mana pirmā mēģinājuma, ir grūti to padarīt tieši kvadrātveida (vai, manuprāt, taisnstūrveida). Bet, kad servo ir uzstādīts, jūs to īsti neredzat.
Jums būs jāizveido trīs citi caurumi. Tie jāievieto kastes aizmugurē un jāizmanto barošanas ligzdai, skaņas signālam un ieejas punktam slīpā servo un lāzera vadiem. Visi šie caurumi var būt apaļi un nerada grūtības tikai ar urbi.
Liberāla karstās līmes izmantošana nodrošina visu savā vietā (izņemot pannas servo, kas pieskrūvēts pie vāka, izmantojot servo stiprinājuma cilpas).
4. solis: pannas un noliekšanas montāža
Saņemot pannas un noliekšanas komplektu, es domāju, ka esmu pieļāvis vēl vienu lielu kļūdu. Sastādot kopā, kā norādīts, tas tiešām nav panoramēšanas un slīpuma mehānisms, bet gan slīpuma un pagriešanas dizains - piemērots paredzētajam lietojumam kā robota roka. Tomēr mirklis mierīgu pārdomu ļāva man redzēt, ka to patiesībā var salikt savādāk, lai sasniegtu vēlamo rezultātu. Vēl labāk - sākotnējo "vērpjot" servo atrašanās vietu varētu izmantot kā lāzera stiprinājumu.
Ja jūs pārbaudīsit pabeigto montāžu šajos attēlos, jūs iegūsit ideju. Jums paliks neliels metāla bloks, kas šajā dizainā nav vajadzīgs.
Iedvesmas zibspuldze man bija izmantot otrā servo sākotnējo atrašanās vietu lāzera uzstādīšanai. Vēl labāk, ja jūs noņemat galvas galvu un izurbjat izliekto rokturi, tā ir ideāla lāzera uzstādīšanas vieta! Vienkārši nenovērtējiet par zemu centienus, kas nepieciešami servo zāģēšanai. Tiem mazajiem pūtējiem ir gaļa!
Pēc montāžas un uzstādīšanas korpusā UN PIRMS PIEVIENOJIETIES JAUDAI, pārliecinieties, ka tā panoras gandrīz par 180 grādiem visā korpusa virsmā. Tā vai citādi pēc veiksmīgas instalēšanas es pannas stiprinājumu saliku kopā tā, lai pamatnes skrūvju galvas būtu piestiprinātas pie servo paceltā uzgaļa, kur rokturi paredzēts uzstādīt. Rezultāts bija tas, ka servo nekavējoties atņēma zobratus. Gaišajā pusē man tagad ir vēl viens duff servo, ko izmantot kā lāzera stiprinājumu.
5. solis: pievienojiet vadu
Cerams, ka Fritzing skice padara lietas skaidras. Daži punkti, kas vēl jāprecizē:
- Kā apspriests vēlāk, es vēlējos padarīt lāzeru pēc iespējas blāvāku, vienlaikus saglabājot pietiekamu spilgtumu, lai to varētu izmantot visos, izņemot spilgtāko iekštelpu apgaismojumu. Nedaudz eksperimentējot, es nolēmu to barot no 3,3 V līdzstrāvas tapas uz mezgla MCU, sērijveidā pievienojot 22 omu rezistoru. Ar šo iestatījumu tas patērē aptuveni 10 mA, tāpēc teorētiski to varētu darbināt tieši no GPIO tapas, bet es atklāju, ka tas ir pārāk blāvs, pat bez rezistora.
- Lāzeram ir ļoti ierobežota spēja mainīt fokusu (kolimāciju?), Ko es izmantoju, lai palielinātu punktu un tādējādi izkliedētu lāzera enerģiju
- Mana pirmā doma bija ieslēgt un izslēgt servos ar tranzistoru, bet tas izraisīja servo traku. Es esmu pārliecināts, ka tam ir labs iemesls, bet, tā kā man jau bija pieejami daži releji, es izvēlējos vienkāršo izeju un pilnīgi izolētu jaudu servos. Un tā kā relejiem bija divi kanāli, es domāju, ka es varētu arī tādā veidā pārslēgt lāzeru (violetie vadi ir vadības signāls no MCU). Man patīk arī mehāniskais klikšķu troksnis, ko rada šis risinājums. Tomēr jūs varat izlemt citādi. Nav parādīts, bet releji tiek darbināti tieši no 5 V līdzstrāvas barošanas avota - iespējams, ka NodeMCU varēja vienkārši barot divu kanālu releju, taču nebija iemesla riskēt. Ja esat izmantojis šos relejus, pirms jūs zināt, ka tas prasa noņemt džemperi starp JD-VCC un VCC.
- RGB LED ir 220 omu strāvas ierobežošanas rezistori sarkanā un zaļā krāsā un 100 omi zilā krāsā. Sarkanajai ieslēgšanas gaismas diodei ir 450 omu rezistors, jo tā tiek darbināta no 5 V līdzstrāvas, nevis 3,3 V līdzstrāvas. Šīs ir tikai ballpark vērtības, lai iegūtu lielu spilgtumu un saprātīgu ilgmūžību.
- Signāls ir diezgan skaļš. Lai samazinātu skaļumu, signāla līnijai varat pievienot rezistoru. Toņus var pilnībā izslēgt, izmantojot programmatūru, taču kaut kas starp tiem varētu būt jauks.
6. darbība: kods
Neskatoties uz diezgan ilgstošu aparatūras puses skaidrojumu, 90% pūļu šeit tika ieguldītas kodā. Tas būtu bijis vairāk, bet es no šejienes "aizņēmos" lielisku kodu lāzera kustībai automātiskajā režīmā. Nav jēgas no jauna izgudrot riteni. Patiesībā jūs varat nolemt sekot šim projektam, nevis šim, vai arī apvienot abu aspektus. Protams, man patīk ideja dažus komponentus izgatavot ar trīsdimensiju printeri, bet man tāda nav.
Mans kods (šeit atrodams GitHub) sastāv no trim galvenajām daļām. Ir pati Arduino skice, HTML faili ar virkni Javascript lietojumprogrammas saturam un saistītie CSS faili veidošanai. Es izmantoju šo projektu, lai uzzinātu mazliet vairāk par visiem šiem programmēšanas elementiem, sākot no ļoti zemas bāzes, jo īpaši lietas lietojumprogrammu saskarnes pusē. Esmu mēģinājis mazliet sakārtot kodu, bet galvenais uzsvars tika likts uz lietas sakārtošanu. Kods izmanto Websockets divvirzienu saziņai starp NodeMCU serveri un saistītajiem klientiem.
Arduino kods ir plaši komentēts, tāpēc, cerams, jums būs viegli to ievērot. Kad esat to lejupielādējis no GitHub, ielieciet visu partiju mapē, augšupielādējiet skici savā MCU un pēc tam augšupielādējiet apakšdatnes "dati" saturu SPIFFS.
Patiesībā to saskrāpējiet. Ja vēlaties izmantot Pushbullet paziņojumu funkciju, vispirms ir nepieciešams API piekļuves marķieris, kas pieejams šeit. Tas ir Arduino koda 88. rindā. Pushbullet darbojas labi, taču, ja tālrunī pirmo reizi izveidojat kontu, iespējams, jums būs jāpierakstās, jāizrakstās un pēc tam jāpierakstās vēlreiz, pirms paziņojumi sāk parādīties, kā norādīts tālruņa iestatījumos.
Ir trīs tīmekļa lapas-uzplaiksnījuma ekrāns, faktiskā lietojumprogrammas saskarne un iestatīšanas lapa. Šādi atdalot saturu, interfeisa lietošana kļūst daudz lietotnei līdzīgāka, jo īpaši plašo konfigurācijas iespēju dēļ (ekrānuzņēmumā ir attēlota tikai daļa no šīm opcijām).
Viens no trūkumiem, kā panākt, lai NodeMCU kalpotu vairākām lapām, bija tas, ka man vajadzēja visus attēlu failus tieši ievietot datu mapē - vienkārši nevarēju to panākt, ja tie tika ievietoti apakšmapēs. Esmu iekļāvis visus attēlus, kurus izmantoju GitHub krātuvē, lai tas darbotos uzreiz, taču jūs, bez šaubām, vēlēsities tos aizstāt ar saviem attēliem.
7. darbība. Pieskārienu pabeigšana un lāzera drošība
Neskatoties uz acīm uzkrītošajām 8 USD izmaksām, korpuss ir diezgan utilitārs. Nedaudz papētot Etsy, es atradu vinila grafiku, ko redzat uz gatavā produkta (un kas ir atspoguļots lietojumprogrammas lapā). Piegādāts no Apvienotās Karalistes tas bija nedaudz dārgs, bet noteikti tā vērts - un jūs saņemat divus, ja vēlaties atkārtot projektu. Mākslinieciski attīstoties, es pagriezu mazās "bedrītes" kaķa acīs, lai viņi skatītos uz spilgti sarkano strāvas gaismas diodi, kas nozīmē lāzera punktu. Atkarībā no jūsu apetītes pēc kaprīzēm, jūs varat izvēlēties vai nedarīt šo papildu jūdzi.
Uzsākšanas ekrāna HTML failā ir kods, lai iPhone sākuma ekrānam pievienotu ikonu.
Visbeidzot, man nevajadzētu ignorēt bažas par lāzera izmantošanu, lai spēlētu ar kaķiem. Ir divi galvenie iebildumi:
- Lāzers var aklināt vai sabojāt kaķa acis
- Spēlēšanās ar lāzera punktu galu galā neapmierina kaķus, jo viņi nekad nevar to noķert vai "nogalināt"
Mijiedarbībā ir daudz informācijas par abām tēmām, daži šķietami informēti, daži mazāk. Visbeidzot, jums pašiem jāpieņem lēmums par to, vai šis projekts vai jebkura cita lāzera rotaļlieta ir piemērota jūsu kaķim. Es mēģināju risināt pirmo problēmu, padarot lāzeru pēc iespējas blāvāku, nepadarot to pārāk grūti redzamu saprātīgā apgaismojumā. Tāpat pārliecinieties, ka jebkuram kaķim, kas izmanto ierīci, nav noslieces skatīties uz pašu lāzeru, nevis uz punktu - it īpaši, ja plānojat izmantot LaserKitty !! automātiskajos vai plānotajos režīmos. Viens Pushbullet paziņojumu funkcijas mērķis ir to izmantot kopā ar novērošanas kameru, lai jums tiktu atgādināts skatīties savu kaķēnu spēli, kamēr esat prom.
Attiecībā uz otro iebildumu es iekļāvu iespēju saglabāt "sākuma stāvokli", kurā lāzers atgriezīsies pēc ieplānotām atskaņošanas sesijām. Ja iestatīsit to uz stacionāru rotaļlietu vai kaķēna ēdiena trauku, tas, cerams, sniegs zināmu izšķirtspēju. Lai gan ar kaķiem, kas īsti zina?
Ieteicams:
Kā: Raspberry PI 4 bez galvas (VNC) instalēšana ar RPI attēlu un attēliem: 7 soļi (ar attēliem)
Kā: Raspberry PI 4 bez galvas (VNC) instalēšana ar Rpi-imager un Pictures: Es plānoju izmantot šo Rapsberry PI daudzos jautros projektos savā emuārā. Jūtieties brīvi to pārbaudīt. Es gribēju atkal izmantot savu aveņu PI, bet manā jaunajā vietā nebija tastatūras vai peles. Pagāja laiks, kopš es izveidoju aveņu
Arduino Halloween Edition - zombiju uznirstošais ekrāns (soļi ar attēliem): 6 soļi
Arduino Helovīna izdevums - zombiju uznirstošais ekrāns (soļi ar attēliem): Vai vēlaties Helovīnā nobiedēt savus draugus un radīt kliedzošu troksni? Vai arī vienkārši gribi uztaisīt labu palaidnību? Šis zombiju uznirstošais ekrāns to var izdarīt! Šajā pamācībā es iemācīšu jums, kā viegli izveidot izlecošus zombijus, izmantojot Arduino. HC-SR0
Skrūve - DIY bezvadu uzlādes nakts pulkstenis (6 soļi): 6 soļi (ar attēliem)
Bolt - DIY bezvadu uzlādes nakts pulkstenis (6 soļi): Induktīvās uzlādes (pazīstamas arī kā bezvadu uzlāde vai bezvadu uzlāde) ir bezvadu enerģijas pārneses veids. Tas izmanto elektromagnētisko indukciju, lai nodrošinātu elektroenerģiju pārnēsājamām ierīcēm. Visizplatītākā lietojumprogramma ir Qi bezvadu uzlādes st
Ciclop 3D skeneris Mans ceļš soli pa solim: 16 soļi (ar attēliem)
Ciclop 3d skeneris mans ceļš soli pa solim: Sveiki, es sapratīšu slaveno Ciclop 3D skeneri. Visi soļi, kas ir labi izskaidroti sākotnējā projektā, nav pieejami. Vispirms veicu dažus labojumus, lai vienkāršotu procesu Es izdrukāju pamatni un atkārtoti pārveidoju PCB, bet turpiniet
Kamera atvieglotiem laika intervāla attēliem: 22 soļi (ar attēliem)
Kamera atvieglotiem laika intervāla attēliem: es pārbaudīju vienu no citām instrukcijām par laika nobīdes filmu veidošanu. Viņš diezgan labi aptvēra filmas daļu. Viņš pastāstīja par bezmaksas programmatūru, kuru varat lejupielādēt, lai izveidotu filmas. Es sev teicu: domāju, ka redzēšu, vai varu