Blikajúca vežička pre mačky
Zo stránky SensorWiki
Autor: | Monika Bírová | |
Študijný odbor: | Jadrové a fyzikálne inžinierstvo | 3. Bc. (2019) |
Opis projektu
Ako záverečný projekt predmetu DTV som si zvolila blikajúcu vežičku pre mačky - zariadenie, ktoré svieti svetlom na náhodné miesta v určenom plošnom rozsahu.
Prečo?
Nakoľko je moje zameranie štúdia vzdialené robotike, rozhodla som sa pre menej náročný projekt. Zadanie požadovalo využitie niektorej z technológií (3D tlač, laser, ..), ktoré sme si počas semestra vyskúšali a zakomponovanie modulu Arduino v našom výslednom zariadení. Keďže máme doma neposednú mačku vyžadujúcu veľa času na hranie, a vieme, že mačky rady naháňajú blikajúce svetielko, tak bola moja voľba jasná.
Ako ?
Na výrobu modelu budeme potrebovať nasledujúce komponenty:
- vytlačenú 3D konštrukciu zloženú z viacerých častí
- Arduino Nano
- servo motorčeky Micro Servo 9g Tower Pro
- predpripravené káble na prepájanie
- potenciometre
- modul s diódou emitujúcou laserové svetlo
- tlačidlo
- rezistor 10k
- nepájivé kontaktné pole
- USB mini kábel na napájanie
Postup výroby:
- základnom je nosná konštrukcia - "vežička", ja som použila 3D, tlač, ale bolo by ju možné skonštruovať aj z vyrezanej preglejky
- servomotorčeky zložíme spolu s jednotlivými vytlačenými časťami
- na základe schémy v časti "Popis riešenia" zapojíme Arduino Nano a všetky periférie do nepájivého kontaktného poľa
- modul s diódou prilepíme pomocou (napríklad) tavnej pištole ku konštrukcii vežičky
- do Arduina nahráme kód
- aby bolo zariadenie pripravené na použitie, pomocou potenciometrov a stlačením tlačidla uvedieme zariadenie do "kalibračného módu" - určíme mu plochu, v ktorej bude svietiť
- počas jeho prevádzky je možné vykonávať priebežne kalibráciu (v predchádzajúcom bode)
- Ako to má vyzerať v praxi: https://www.youtube.com/watch?v=hHIrxL0giJQ#action=share
Použité zdroje:
- Zdroj pôvodného kódu a nápadu: https://github.com/LucasBerbesson/Laser-cat
- Zdroj objektu na 3D tlač (koštrukcia vežičky): https://www.thingiverse.com/thing:107957
Analýza
- zlúčila som pôvodný zdrojový kód z webu s kódom na kalibráciu rozsahu, zariadenie sa prepína pomocou tlačidla
- pôvodné zapojenie iba so servo motorčekmi a led-diódou som rozšírila o potenciometre a tlačidlo (na zjednodušené uvedenie do kalibračného módu)
Popis riešenia
Základnou súčiastkou vežičky je okrem samotnej konštrukcie aj Arduino Nano, na ktoré sú pripojené všetky ostatné periférne moduly. Na samotné Arduino sa cez analógové výstupy pripájajú 2 servomotory a stredné piny potenciometrov. Na napájacie konektory (5V a zem) sa pripájajú servomotorčeky, potenciometre a dióda. Sériové (aby sa predišlo skratu) spojenie tlačidla a rezistora a Arduina je cez jeho digitálne vstupy. Konkrétne čísla vstupov sú uvedené v zdrojovom kóde a nasledujúcich schémach:
Schéma zapojenia Arduina s perifériami
![](/sensorwiki/images/thumb/b/bb/Fritzling-schema1.png/900px-Fritzling-schema1.png)
![](/sensorwiki/images/thumb/9/91/Fritzling-schema2.png/900px-Fritzling-schema2.png)
Algoritmus a program
Program bol vytvorený v prostredí Arduino IDE 1.8.9. Ako základ bol použitý pôvodný zdrojový kód z webu (uvedený v zdrojoch).
Algoritmus
- vo funkcii setup() inicializujeme pripojenie periférií na jednotlivé piny a servomotorčeky uvedieme do počiatočnej polohy (do stredu)
- vo funkcii loop() je podmienka, ktorá rozdeľuje činnosť na dva módy na základe stlačenia tlačidla: pri stlačení prebieha čítanie vstupov z potenciometrov, ktoré určujú maximálny rozsah plochy, ak nie je stlačené tlačidlo, zariadenie prechádza do módu, v ktorom vykonáva náhodne pohyb (náhodne vygenerované súradnice vrámci rozsahu určeného potenciometrami)
- pohyb motorčeka je ošetrený tak, aby pri nulového náhodného čísla bol vykonaný pohyb aspoň o 5 krokových jednotiek
Zdrojový kód: Médiá:cat_lazertower.ino
Výsledok
Skonštruované zariadenie funguje podľa očakávaní. Počas testovania bola zistená nestabilita kódu pri nastavení širokých hraníc na potenciometroch (v čase odovzdania práce nevyriešené). Implementácia tlačidla potenciálne umožňuje prepínať zariadenie aj do iných režimov, ktoré je potrebné naprogramovať dodatočne. Keďže je zariadenie určené pre zviera, je potrebné ho chrániť pred mechanickým poškodením (riešenie napríklad navrhnutím vhodného krytu), čomu som sa nevenovala.
Fotografia zhotoveného projektu:
![](/sensorwiki/images/thumb/5/59/Mb_lasertower_20190610_174510.jpg/900px-Mb_lasertower_20190610_174510.jpg)