Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Prije otprilike dvije godine sagradio sam ovu igračku za svog psa u kojoj se laserom upravlja s dva servo upravljača kako bi mu dao nasumično kretanje gdje laserska točka izmiče i može ju juriti. Laser je radio savršeno, ali tijekom mog nedavnog selidbe se oštetio pa ćemo ga u ovom Instructable popraviti i objasnit ću principe rada.
Korak 1: Materijali
Projekt se sastoji od 4 dijela: Arduino ploče, 2 mikro serva i laserski modul. Svi su oni smješteni u plastičnu posudu od kiselog vrhnja gdje je Arduino ploča zalijepljena za dno dok su servo i laser na vrhu.
Ispod je popis veza za kupnju na kojima možete nabaviti ono što vam treba:
-
Arduino ploča:
www.banggood.com/custlink/vKGvhaBTl3
-
9 g mini servo servisa:
www.banggood.com/custlink/v33GdlgfaE
-
Modul laserske diode:
s.click.aliexpress.com/e/crrJMQgs
Korak 2: Izgradnja
Ranije sam servo pogone zalijepio na poklopac vrućim ljepilom, ali nije izdržao. Da bih to riješio, upotrijebit ću neku dvostranu pjenu traku jer se tamo pokazala kao vrlo izdržljiva. Poravnanje na poklopcu nije toliko važno jer se uvijek može podesiti rotiranjem.
Drugi servo izravno je spojen na prvi tako da zajedno mogu pomicati laser u dva smjera. Prvi ga pomiče lijevo -desno, dok ga drugi pomiče gore -dolje. Laserski modul pričvršćen je na krak drugog servoa nekim vrućim ljepilom za koje se čini da se još drži.
Korak 3: Ožičenje
Električno ožičenje projekta relativno je jednostavno. Servo motori imaju tri žice: napajanje, uzemljenje i signal. Žica za napajanje je obično crvena i trebala bi biti spojena na 5V pin na Arduino ploči. Žica za uzemljenje obično je crna ili smeđa i trebala bi biti spojena na uzemljenje na Arduino ploči. Signalni pin je obično žute, narančaste ili bijele boje i trebao bi biti spojen na digitalni pin na Arduino ploči. U našem slučaju koristimo digitalne pinove 9 i 11. Imajte na umu da servomotori troše znatnu snagu, pa ako trebate voziti više od jednog ili dva, vjerojatno ćete ih morati napajati iz zasebnog napajanja, a ne s +5V pina na vašem Arduino.
Laserski modul ima tri pina, ali se koriste samo dva. Ona s lijeve strane je pozitivna veza i obično je označena velikim slovom S, dok je negativna veza s desne strane i označena je minusom. U opisu videa možete dobiti vezu do cijele sheme.
Cijela shema dostupna je na EasyEdi:
easyeda.com/bkolicoski/Arduino-Laser-Toy
Korak 4: Načela rada
Sada kada je popravak obavljen, pogledajmo kod i kako ovaj uređaj radi. Tipični mikro servo od 9 g ima kretanje od 180 stupnjeva i njime se upravlja PWM signalom. Ovaj signal se generira iz Arduina uz pomoć Servo biblioteke. Knjižnica nudi prikladnu metodu pod nazivom "write" koja zapisuje vrijednost u servo, kontrolirajući osovinu u skladu s tim. Na standardnom servo uređaju ovo će postaviti kut osovine (u stupnjevima), pomičući osovinu u tu orijentaciju.
U našem slučaju želimo ograničiti ovo kretanje na najviše 50 do 70 stupnjeva u svakom smjeru, tako da područje na kojem pas trči nije preveliko kako se ne bi prerano umorio. Osim toga, koristio sam ta ograničenja za postavljanje perimetra lasera tako da ne izlazi iz područja koje moj pas mora pomicati. Postavljaju se na početku skice zajedno s definicijama za dva servomotora i varijablama koje ćemo koristiti za njihov položaj.
Korak 5: Arduino kod
U funkciji postavljanja prvo inicijaliziramo servosisteme i priključimo ih na ispravne pinove na Arduinu. To će reći knjižnici da na taj pin izbaci PWM signal. Zatim upisujemo početni položaj na oba servo uređaja i kako bismo mogli pravilno postaviti igračku, dodao sam neki kod koji će servo pogone kružnim uzorkom pomjerati 3 puta na rubove postavljene granice. Na ovaj način možete vidjeti gdje se točka pomiče i prema tome prilagoditi postavljanje igračke.
U funkciji petlje prvo generiramo dva broja, koji predstavljaju sljedeće kutove dva servo servera, te navodimo granice koje smo prethodno postavili. Slučajna funkcija u Arduinu može prihvatiti minimalnu i maksimalnu vrijednost koju treba generirati. Ove se vrijednosti zatim šalju servo pogonima, jedna po jedna, s razmakom od pola sekunde.
Cijeli kôd možete pronaći na mojoj stranici GitHub:
github.com/bkolicoski/LaserToy
Korak 6: Uživajte
Nadam se da je ovaj Instructable bio poučan i zanimljiv pa predlažem da me pratite i ne zaboravite se pretplatiti na moj YouTube kanal.