Tartalomjegyzék:

LaserKitty !!: 7 lépés (képekkel)
LaserKitty !!: 7 lépés (képekkel)

Videó: LaserKitty !!: 7 lépés (képekkel)

Videó: LaserKitty !!: 7 lépés (képekkel)
Videó: Таблица умножения больше не нужна / Умножение любых чисел без калькулятора @arinablog 2024, Október
Anonim
Image
Image
Szerezd meg dolgaidat
Szerezd meg dolgaidat

Általánosan elismert tény, hogy egyetlen szerencsés macskának hiányoznia kell egy lézerjátékból. Akárcsak a jövőbeli feleségekre vágyó egyedülálló uraknál, bizonyos óvintézkedéseket be kell tartani. De vajon ez nem igaz -e valamire, amit igazán érdemes megszerezni?

Ha aggodalmai vannak a háziállatokkal és a lézerbiztonsággal kapcsolatban, ugorjon a jelen útmutató végére, mielőtt megjegyzést írna. Ha aggódik a jövőbeli vagy akár a jelenlegi feleség miatt, akkor valószínűleg máshol kell keresnie.

Most leugorhat a helyi állatkereskedésbe, és megvásárolhat egy lézermutatót, és talán még egy olyan eszközt is, amely kezdetleges automatizálást tesz lehetővé. Pénzt takaríthat meg, és visszaállíthatja, ha nem működik. Vagy építhetsz magadnak valamit. Rengeteg példa létezik már, de itt van az én hozzájárulásom a kánonhoz. A szoba jellemzői:

  • Teljes okostelefon -vezérlés
  • Manuális, automatikus és ütemezett módok
  • Egyedi alkalmazásfelület
  • A rendszer állapota szinkronizálva több webes ügyfél között
  • A rendszer állapota tükröződik a LaserKitty -n !! maga
  • Konfigurálható pásztázási és döntési tartomány korlátozások
  • Konfigurálható lejátszási időtartamok és gyakoriságok
  • Konfigurálható lejátszási ablakok
  • Beállítási oldal pillanatnyi beállításokkal
  • NTP időszinkron
  • WiFi kezelő az új hálózatok egyszerű beállításához
  • Hanggenerátor a Lehetetlen küldetés téma lejátszásához minden játék előtt: a macskája értékelheti az iróniát, vagy nem.
  • Pushbullet értesítéseket küld minden eszközére, amikor új játékidő kezdődik
  • Konfigurálható otthoni helyzet, így a játékidő az étel tálnál vagy az álló játéknál ér véget
  • Minden beállítás az EEPROM -ban van tárolva, így nem veszik el áramkimaradás esetén
  • És még sok más! Hát nem igazán, ennyi.

1. lépés: Szerezd meg a dolgaidat

Ezt használtam:

  • Mini serpenyő és dönthető szerelvény. Ez biztosan nem a legolcsóbb, amit talál, és némi módosítást igényel a mi céljainkhoz. Azért választottam, mert kicsit hűvösebben néz ki, mint az aluljáró alagsori műanyag szerelvények. Váratlan bónuszként kialakítása nagyon egyszerű módot tesz lehetővé a lézer felszerelésére. Jár hozzá pár mikro szervó, de erősen javaslom, hogy vásároljon egy csomó pluszt csere céljából. Szüksége lesz legalább egy extra szervóra (a törött is jó).
  • Egy burkolat. Fájdalmasan fizetek 8 dollárt egy műanyag dobozért, és biztosan talál valami megfelelőt kevesebbért. A kapcsolt ház méretével kapcsolatban azonban valami jó.
  • ESP8266-alapú fejlesztőlap. A NodeMCU -t használtam. Nem túlzás azt állítani, hogy szeretem ezeket a dolgokat. Könnyen használható az Arduino IDE -n belül és rengeteg flash memória a weboldalakhoz. Szintén olcsó, és tapasztalataim szerint nagyon nehéz sütni.
  • Mini lézer. Tíz 6 dollárért, beleértve az Amazon Prime -ot. Viccelsz velem?? Most már csak arra kell rájönnöm, mit kezdjek a másik kilencel.
  • Passzív hangjelző a hangokhoz.
  • Kétcsatornás relé. Ezeket a szervók és a lézer be- és kikapcsolására használom. Lehet, hogy ki tudja küszöbölni ezt az összetevőt, ahogy később elmagyarázom.
  • 5VDC tápegység. Remélhetőleg ezek közül valamelyik egy rég elfeledett gizmo-ból hever, de ha nem olcsó és vidám, ami 1A 5VDC-t képes előállítani.
  • Különféle fogyóeszközök, például ellenállások, LED-ek, csatlakoztatható vezeték, hőzsugorodás, forrasztás, forró ragasztó. A szokásos. Egy hordós aljzatot is használtam a bejövő 5 V egyenáramú tápegységhez a kínos, nagy mennyiségű megsemmisített Arduino leütő tábla gyűjteményemből.
  • Végül, de nem utolsó sorban egy vinil matrica a szeszélyes befejezéshez.

Szóval igen. Összesen 50 dollárt néz. Megtehetné kevesebbért is, de nem a cicája érdemli meg a legjobbat?

2. lépés: Eszközök és források

Eszközök és források
Eszközök és források

A szerszámok oldalán nincs semmi különös. Csak egy tisztességes forrasztópáka, multiméter, fúró és alapvető kéziszerszámok. A pados tápegység jó a lézerrel való kísérletezéshez, de nem nélkülözhetetlen.

Ez a projekt valóban kihasználja az ESP8266 és különösen a NodeMCU képességeit. Ha még csak most kezdi használni az ESP8266-ot, nem találtam jobb egyablakos erőforrást, mint ez a dolog. Ettől eltekintve a Google -nak az a célja, hogy válaszokat találjon az út során felmerült problémákra.

3. lépés: A ház előkészítése

Készítse elő a mellékletet
Készítse elő a mellékletet
Készítse elő a mellékletet
Készítse elő a mellékletet

Mint már említettem, felháborítónak tűnik 8 dollár fizetése egy műanyag házért. A legrosszabb azonban az, hogy elrontja a dolgot azáltal, hogy rossz helyre tesz lyukat. Tehát mielőtt a dobozában van a fúróval és/vagy bármilyen más zűrzavarral, vegye figyelembe az elkövetett hibákat.

  • Először is meg kell gondolni, hogy az összes holmi hol fog elférni. A jó hír az, hogy az általam javasolt burkolatnak bőven van helye, még az itt látható nagyon rendezetlen vezetékek mellett is. Még egy kisebb dobozzal is megúszhatja, különösen, ha megszünteti a reléket.
  • A legfontosabb az, hogy a fedélbe hova szereli fel a serpenyőt és a dönthető szerelvényt. Az első próbálkozásom itt látható. Arra gondoltam, hogy művészien el fogom helyezni a középpontból, és egy kicsit visszafelé a stabilitás érdekében. Rossz ötlet! Szüksége van a szerelvényre a lehető legközelebb a fedél oldalához, hogy maga a ház ne zavarja a gerendát nagy dőlésszög esetén. Ezenkívül azt gondolom, hogy az ideális elrendezés az lenne, ha a serpenyő lézerét a rövid oldalra merőlegesen szerelnénk fel, és nem úgy, mint én, a hosszú oldalra. Tisztán esztétikai okokból másképp csináltam, annak ellenére, hogy egy kicsit nagyobb az interferencia lehetősége.
  • Mint látható, a NodeMCU a Perfboardra van szerelve, és könnyen elhelyezhető úgy, hogy a mikro -USB -csatlakozója hozzáférhető legyen az oldalsó vagy hátsó nyílásból. Ez megkönnyítené a szoftverfrissítéseket (nem kell levenni a fedelet). Eredeti ötletem az volt, hogy az Over-The-Air (OTA) könyvtárat használom a frissítésekhez, és látni fogja, hogy a kódom tartalmazza ezt a funkciót, bár megjegyzést fűz hozzá. A probléma az volt, hogy a hanggenerátor és az OTA nem játszanak jól együtt (a NodeMCU többször visszaáll a dal felére). Ez a probléma valószínűleg megoldható, de soha nem jártam sikerrel az SPIFFS frissítésén kívül, csak USB -n keresztül, így jó lett volna hozzáférni az USB -csatlakozóhoz. Mire mindezt kitaláltam, a NodeMCU -t úgy szereltem fel a Perfboardra, hogy a csatlakozó kiugrása a dobozból nem volt lehetséges sok faffing nélkül. Nos, hát.
  • Ha újra megcsinálnám a projektet, igazítanám az RGB LED -et a piros "bekapcsolás" LED -el. (Az RGB LED célja annak jelzése, hogy a LaserKitty !! milyen módban van, anélkül, hogy meg kellene néznie az alkalmazást.)

A lyukak készítésének egyetlen kissé bonyolult része a serpenyő szervójának négyszögletes része. Fúrót és reszelőt használtam. Amint az első próbálkozásomból is látszik, nehéz pontosan négyzetessé (vagy téglalap alakúvá) tenni. De amikor a szervó fel van szerelve, ezt nem igazán látja.

Három másik lyukat kell készítenie. Ezeket a doboz hátulján kell elhelyezni, és a tápegység csatlakozójához, zümmögőhöz és a dönthető szervó és a lézervezetékek belépési pontjához kell használni. Mindezek a lyukak lehetnek kerekek, és nem okoz nehézséget egy fúróval.

A forró ragasztó liberális használata mindent rögzít a helyén (kivéve a serpenyő szervót, amelyet a szervó rögzítő füleivel a fedélre csavaroznak).

4. lépés: A serpenyő és a billentés szerelése

A serpenyő és dőlés szerelvénye
A serpenyő és dőlés szerelvénye
A serpenyő és dőlés szerelvénye
A serpenyő és dőlés szerelvénye
A serpenyő és dőlés szerelvénye
A serpenyő és dőlés szerelvénye
A serpenyő és dőlés szerelvénye
A serpenyő és dőlés szerelvénye

Amikor megkaptam a serpenyő és billentő szerelvényt, azt hittem, hogy még egy nagy hibát követtem el. Az utasításoknak megfelelően összerakva valójában egyáltalán nem billentő és döntő mechanizmus, hanem inkább dönthető és csavarható kialakítás - megfelelő a robotkarnak. Egy pillanatnyi nyugodt elmélkedés azonban lehetővé tette számomra, hogy lássam, valójában más módon is össze lehet szerelni a kívánt eredmény eléréséhez. Még jobb, ha a "csavaró" szervó eredeti helyét a lézer rögzítésére lehet használni.

Ha megvizsgálja az elkészült szerelvényt ezeken a képeken, akkor megkapja az ötletet. Egy kis fémtömb marad, amelyre nincs szükség ebben a kialakításban.

Az inspiráció az volt, hogy a második szervó eredeti helyét használtam a lézer felszerelésére. Még ennél is jobb, ha lefejti a duff szervót, és kifúrja a bordázott karos rögzítést, ez a tökéletes szerelési hely a lézerhez! Csak ne becsülje le a szervó szétvágásához szükséges erőfeszítéseket. Van némi hús azoknak a kis fáklyáknak!

A házba történő összeszerelés és beszerelés után, ÉS A TELJESÍTMÉNY ALKALMAZÁSA ELŐTT győződjön meg arról, hogy nagyjából 180 fokos szögben mozog a ház felületén. Valahogy így vagy úgy, de miután sikeresen telepítettem, összeraktam a serpenyőtartót úgy, hogy a csavarfejek az alapon a szervó felemelt bitjéhez kapcsolódjanak, ahol a kart fel kell szerelni. Ennek eredményeként a szervó azonnal levette a fogaskerekét. A fényes oldalon most van egy másik duff szervó, amelyet lézeres rögzítésként használhatok.

5. lépés: Csatlakoztassa

Vezetékkel fel
Vezetékkel fel

Remélhetőleg a Fritzing -vázlat egyértelművé teszi a dolgokat. Néhány pont a további tisztázáshoz:

  • Amint azt később tárgyaltuk, a lézert a lehető leghalványabbá akartam tenni, miközben megtartottam a kellő fényerőt ahhoz, hogy a legvilágosabb beltéri megvilágításban is használható legyen. Egy kis kísérletezéssel úgy döntöttem, hogy a tápegységet a Node MCU 3.3VDC tűjéről táplálom, és 22 Ohm ellenállást adok hozzá sorban a jó méréshez. Ezzel a beállítással körülbelül 10 mA áramot vesz fel, így elméletileg közvetlenül GPIO-tápról is táplálható, de azt tapasztaltam, hogy túl gyenge, még ellenállás nélkül is.
  • A lézer nagyon korlátozott képességgel rendelkezik a fókusz megváltoztatására (kollimáció?), Amellyel a pontot megnöveltem, és ezáltal eloszlathattam a lézer energiáját
  • Az első gondolatom az volt, hogy be- és kikapcsolom a szervókat tranzisztorral, de ettől a szervók megőrültek. Biztos vagyok benne, hogy ennek jó oka van, de mivel már volt kéznél néhány relé, a könnyű utat választottam, és teljesen elszigetelt áramot kaptam a szervókhoz. És mivel a reléknek két csatornájuk volt, azt gondoltam, hogy a lézert is így tudom átkapcsolni (a lila vezetékek az MCU vezérlőjele). Tetszik a mechanikus kattanási zaj is, amit ez a megoldás okoz. Bár dönthet másként is. Nincs ábrázolva, de a relék közvetlenül az 5 V egyenáramú tápellátásról táplálkoznak - a NodeMCU lehet, hogy képes lett volna közvetlenül egy kétcsatornás relét táplálni, de nem volt oka kockáztatni. Ha korábban használta ezeket a reléket, akkor tudja, hogy ehhez el kell távolítania a jumpert a JD-VCC és a VCC között.
  • Az RGB LED 220 ohmos áramkorlátozó ellenállással rendelkezik piros és zöld, valamint 100 ohmos kék színnel. A piros "bekapcsolt" LED 450 ohmos ellenállással rendelkezik, mivel az áramellátása 5VDC helyett 3,3VDC. Ezek csak ballpark értékek, amelyekkel rengeteg fényerő és ésszerű élettartam érhető el.
  • A csengő elég hangos. Érdemes ellenállást adni a jelvezetékhez a hangerő csökkentése érdekében. A hangokat teljesen ki lehet kapcsolni a szoftver segítségével, de valami közte jó lehet.

6. lépés: A kód

A kód
A kód
A kód
A kód
A kód
A kód
A kód
A kód

A hardveroldal meglehetősen hosszadalmas magyarázata ellenére az erőfeszítések 90% -a a kódba került. Több lett volna, de innen "kölcsönkértem" egy nagyszerű kódot a lézer automatikus üzemmódjához. Nincs értelme újra feltalálni a kereket. Valójában dönthet úgy, hogy inkább ezt a projektet követi, mint ezt, vagy összekeveri mindkettő szempontjait. Természetesen tetszik az ötlet, hogy egyes alkatrészeket 3-D nyomtatóval készítsek, de nekem nincs.

A kódom (itt található a GitHubon) három fő részből áll. Ott van maga az Arduino vázlat, HTML fájlok és egy csomó Javascript az alkalmazás tartalmához, valamint a kapcsolódó CSS fájlok a stílushoz. Ezt a projektet arra használtam, hogy egy kicsit többet megtudjak mindezekről a programozási elemekről, kezdve egy nagyon alacsony bázistól, különösen a dolgok alkalmazásfelületén. Próbáltam kicsit rendbe tenni a kódot, de a fő hangsúlyom az volt, hogy csak működjön a dolog. A kód Websocketeket használ a kétirányú kommunikációhoz a NodeMCU szerver és a csatlakoztatott ügyfelek között.

Az Arduino kódot széles körben kommentálják, így remélhetőleg könnyen követhető lesz. Miután letöltötte a GitHub -ból, ragassza az egész tételt egy mappába, töltse fel a vázlatot az MCU -ba, majd töltse fel az "adatok" almappájának tartalmát a SPIFFS -be.

Valójában karcolja meg. Ha használni szeretné a Pushbullet értesítési funkciót, először szüksége lesz egy innen elérhető API hozzáférési tokenre. Az Arduino kód 88. sorába kerül. A Pushbullet jól működik, de ha először állít be fiókot a telefonján, előfordulhat, hogy be kell jelentkeznie, ki kell jelentkeznie, majd újra be kell jelentkeznie, mielőtt az értesítések elkezdenek megjelenni a telefon beállításaiban konfigurálva.

Három weboldal létezik-egy nyitóképernyő, a tényleges alkalmazásfelület és egy beállítási oldal. A tartalom ilyen módon történő szétválasztása sokkal felületesebbé teszi az interfész használatát, különösen a kiterjedt konfigurációs lehetőségek miatt (a képernyőkép ezeknek csak egy részét rögzíti).

A NodeMCU több oldal kiszolgálásának egyik furcsasága az volt, hogy az összes képfájlt közvetlenül az adatmappába kellett helyeznem - csak nem tudtam működni, ha almappákba helyezték őket. A GitHub adattárban használt összes képet beillesztettem, így a csomagoláson kívül működik, de kétségtelenül saját képekkel kívánja helyettesíteni őket.

7. lépés: Az érintések befejezése és a lézeres biztonság

Utolsó simítások és lézeres biztonság
Utolsó simítások és lézeres biztonság
Utolsó simítások és lézeres biztonság
Utolsó simítások és lézeres biztonság
Utolsó simítások és lézeres biztonság
Utolsó simítások és lézeres biztonság

Látványos 8 dolláros költsége ellenére a ház meglehetősen haszonelvű. Az Etsy -n való nézelődés után megtaláltam a készterméken látható vinilgrafikát (amely az alkalmazás oldalán tükröződik). Az Egyesült Királyságból szállítva kicsit drága volt, de mindenképpen megéri - és kettőt kap, ha meg szeretné ismételni a projektet. Utolsó művészi virágzásomkor elfordítottam a kis "gödröcskéket" a macska szemében, így a fényes piros LED -et nézik, amely a lézerpont helyett áll. A szeszélyesség iránti étvágyától függően dönthet úgy, hogy nem teszi meg ezt az extra mérföldet.

A kezdőképernyős HTML -fájl tartalmaz egy kódot, amellyel ikont adhat hozzá az iPhone kezdőképernyőjéhez.

Végül nem szabad figyelmen kívül hagynom a lézer macskákkal való játékával kapcsolatos aggodalmaimat. Két fő kifogás van:

  • A lézer megvakíthatja vagy károsíthatja a macska szemét
  • A lézerponttal való játék végső soron nem kielégítő a macskák számára, mert soha nem tudják elkapni vagy "megölni"

Az interwave -en sok szó esik mindkét témáról, van, aki látszólag tájékozott, van, aki kevésbé. Végső soron Önnek kell döntenie arról, hogy ez a projekt vagy bármely más lézerjáték megfelel -e a macskájának. Megpróbáltam megoldani az első problémát azzal, hogy a lézert a lehető leghalványabbá tettem anélkül, hogy túlságosan megnehezíteném a látást ésszerű fényszinten. Ezenkívül győződjön meg arról, hogy az eszközt használó macskák nem hajlamosak a lézert bámulni, nem pedig a pontot - különösen, ha a LaserKitty -t kívánják használni !! automatikus vagy ütemezett módban. A Pushbullet értesítési funkció egyik célja, hogy egy megfigyelő kamerával együtt használják, így emlékezteti Önt, hogy nézze meg a cica játékát, amíg távol van.

Ami a második kifogást illeti, belefoglaltam azt a képességet, hogy elmentsek egy "otthoni pozíciót", amelybe a lézer visszatér az ütemezett lejátszási munkamenetek után. Ha ezt úgy állítja be, hogy egy álló játékra vagy a cica ételtálcájára mutasson, akkor remélhetőleg némi felbontást nyújt. Bár macskákkal ki tudja igazán?

Ajánlott: