Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Asi pred dvoma rokmi som postavil túto hračku pre svojho psa, kde je laser ovládaný dvoma servami, aby mu poskytol náhodný pohyb tam, kde laserový bod uniká a on ho môže prenasledovať. Laser fungoval perfektne, ale počas môjho nedávneho pohybu sa poškodil, takže v tomto návode to opravíme a vysvetlím princípy činnosti.
Krok 1: Materiály
Projekt sa skladá zo 4 častí: doska Arduino, 2 mikro servá a laserový modul. Všetci sú umiestnení v plastovom kontajneri zo zakysanej smotany, kde je doska Arduino prilepená k spodnej časti, zatiaľ čo serva a laser sú na vrchu.
Nasleduje zoznam odkazov na nákup, kde môžete získať to, čo potrebujete:
-
Doska Arduino:
www.banggood.com/custlink/vKGvhaBTl3
-
Mini servá 9 g:
www.banggood.com/custlink/v33GdlgfaE
-
Modul laserovej diódy:
s.click.aliexpress.com/e/crrJMQgs
Krok 2: Konštrukcia
Predtým som nechal servá prilepiť na veko horúcim lepidlom, ale nevydržalo to. Na vyriešenie tohto problému použijem obojstrannú penovú pásku, pretože sa ukázalo, že je veľmi trvanlivý tam, kde som ho použil. Zarovnanie na veku nie je také dôležité, pretože sa dá vždy nastaviť otočením.
Druhé servo je priamo pripevnené k prvému, takže môžu spoločne pohybovať laserom v dvoch smeroch. Prvý ním pohybuje doľava a doprava, zatiaľ čo druhý ho pohybuje hore a dole. Laserový modul je pripevnený k ramenu druhého serva horúcim lepidlom, ktoré, zdá sa, stále drží.
Krok 3: Zapojenie
Elektrické vedenie projektu je pomerne jednoduché. Servomotory majú tri vodiče: napájací, uzemňovací a signálny. Napájací vodič je zvyčajne červený a mal by byť pripojený k 5V kolíku na doske Arduino. Uzemňovací vodič je zvyčajne čierny alebo hnedý a mal by byť pripojený k uzemňovaciemu kolíku na doske Arduino. Signálny kolík je zvyčajne žltý, oranžový alebo biely a mal by byť pripojený k digitálnemu kolíku na doske Arduino. V našom prípade používame digitálne piny 9 a 11. Všimnite si toho, že serva odoberajú značný výkon, takže ak potrebujete riadiť viac ako jeden alebo dva, budete ich pravdepodobne musieť napájať zo samostatného zdroja, a nie z kolíka +5 V na vašom Arduino.
Laserový modul má tri kolíky, ale používajú sa iba dva. Ten na ľavej strane je kladným spojením a je zvyčajne označený veľkými písmenami S, zatiaľ čo záporný spoj je napravo a je označený mínusom. Odkaz na úplnú schému nájdete v popise videa.
Celá schéma je k dispozícii na EasyEda:
easyeda.com/bkolicoski/Arduino-Laser-Toy
Krok 4: Princípy činnosti
Teraz, keď je oprava hotová, pozrime sa na kód a na to, ako toto zariadenie funguje. Typické 9g mikro servo má pohyb 180 stupňov a je ovládané signálom PWM. Tento signál je generovaný z Arduina pomocou knižnice Servo. Knižnica poskytuje pohodlný spôsob nazývaný „zápis“, ktorý zapisuje hodnotu na servo a podľa toho riadi hriadeľ. Na štandardnom serve to nastaví uhol hriadeľa (v stupňoch), čím sa hriadeľ posunie do tejto orientácie.
V našom prípade chceme tento pohyb obmedziť na maximálne okolo 50 až 70 stupňov v každom smere, aby oblasť, kde pes behá, nebola taká veľká, aby sa príliš skoro neunavil. Tieto limity som navyše použil na nastavenie obvodu lasera, aby neopúšťal oblasť, v ktorej sa musí môj pes pohybovať. Nastavujú sa na začiatku náčrtu spolu s definíciami pre dve servá a premennými, ktoré použijeme pre ich polohu.
Krok 5: Kód Arduino
Vo funkcii nastavenia najskôr inicializujeme serva a pripevníme ich k správnym kolíkom na Arduine. To povie knižnici, aby na tomto pine vyvedla signál PWM. Ďalej napíšeme počiatočnú polohu k obidvom servom a aby sme mohli správne umiestniť hračku, pridal som nejaký kód, ktorý posunie servá v kruhovom vzore trikrát po okrajoch nastaveného limitu. Takto môžete vidieť, kde sa bodka pohybuje, a podľa toho prispôsobiť umiestnenie hračky.
Vo funkcii slučky najskôr vygenerujeme dve čísla, ktoré predstavujú ďalšie uhly dvoch serv, a poskytneme limity, ktoré sme predtým nastavili. Náhodná funkcia v Arduine môže akceptovať minimálnu a maximálnu hodnotu, ktorú potrebuje na generovanie. Tieto hodnoty sú potom odoslané na servá, jeden po druhom, s oneskorením pol sekundy medzi nimi.
Celý kód nájdete na mojej stránke GitHub:
github.com/bkolicoski/LaserToy
Krok 6: Užite si to
Dúfam, že tento návod bol poučný a zaujímavý, preto navrhujem, aby ste ma sledovali a nezabudnite sa prihlásiť na odber môjho kanála YouTube.