Satura rādītājs:

Arduino kontrolēta lāzera suņu dzenātāja rotaļlieta: 6 soļi
Arduino kontrolēta lāzera suņu dzenātāja rotaļlieta: 6 soļi

Video: Arduino kontrolēta lāzera suņu dzenātāja rotaļlieta: 6 soļi

Video: Arduino kontrolēta lāzera suņu dzenātāja rotaļlieta: 6 soļi
Video: Переработка энкодера колеса прокрутки мыши и его тестирование с помощью Arduino Nano 2024, Novembris
Anonim
Image
Image
Arduino kontrolēta lāzera suņu dzenātāja rotaļlieta
Arduino kontrolēta lāzera suņu dzenātāja rotaļlieta

Apmēram pirms diviem gadiem es uzbūvēju šo rotaļlietu savam sunim, kur lāzeru kontrolē ar diviem servos, lai dotu tai nejaušu kustību, kur lāzera punkts izplūst un viņš var to vajāt. Lāzers strādāja perfekti, bet manas nesenās pārvietošanās laikā tas tika bojāts, tāpēc šajā pamācībā mēs to novērsīsim, un es paskaidrošu darbības principus.

1. solis: materiāli

Materiāli
Materiāli
Materiāli
Materiāli
Materiāli
Materiāli

Projekts sastāv no 4 daļām: Arduino plates, 2 mikro servo un lāzera moduļa. Tie visi ir ievietoti plastmasas traukā no skābā krējuma, kur Arduino plāksne ir pielīmēta apakšā, kamēr servo un lāzers atrodas augšpusē.

Zemāk ir saraksts ar pirkšanas saitēm, kurās varat iegūt nepieciešamo:

  • Arduino padome:

    www.banggood.com/custlink/vKGvhaBTl3

  • 9 g mini servo:

    www.banggood.com/custlink/v33GdlgfaE

  • Lāzera diodes modulis:

    s.click.aliexpress.com/e/crrJMQgs

2. solis: būvniecība

Būvniecība
Būvniecība
Būvniecība
Būvniecība
Būvniecība
Būvniecība

Iepriekš servos pielīmēju vāku ar kādu karstu līmi, bet tas neizturēja. Lai to labotu, es izmantošu divpusēju putu lenti, jo tā izrādījās ļoti izturīga tur, kur to izmantoju. Izlīdzināšana uz vāka nav tik svarīga, jo to vienmēr var regulēt, pagriežot.

Otrs servo ir tieši piestiprināts pie pirmā, lai viņi kopā varētu pārvietot lāzeru divos virzienos. Pirmais pārvieto to pa kreisi un pa labi, bet otrs - uz augšu un uz leju. Lāzera modulis ir piestiprināts pie otrā servo rokas ar kādu karstu līmi, kas, šķiet, joprojām turas.

3. darbība: elektroinstalācija

Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija

Projekta elektroinstalācija ir salīdzinoši vienkārša. Servo motoriem ir trīs vadi: jauda, zeme un signāls. Strāvas vads parasti ir sarkans, un tam jābūt savienotam ar 5V tapu Arduino panelī. Zemējuma vads parasti ir melns vai brūns, un tas jāpievieno Arduino plāksnes zemējuma tapai. Signāla tapa parasti ir dzeltena, oranža vai balta, un tai jābūt savienotai ar ciparu tapu Arduino panelī. Mūsu gadījumā mēs izmantojam digitālās tapas 9 un 11. Ņemiet vērā, ka servos tiek patērēta ievērojama jauda, tādēļ, ja jums jābrauc vairāk nekā viens vai divi, visticamāk, tie būs jāpadara no atsevišķas barošanas avota, nevis ar +5 V tapu. Arduino.

Lāzera modulim ir trīs tapas, bet tiek izmantotas tikai divas no tām. Kreisajā pusē esošais savienojums ir pozitīvais savienojums, un tas parasti ir atzīmēts ar lielajiem S burtiem, bet negatīvais savienojums atrodas labajā pusē un ir atzīmēts ar mīnusu. Saiti uz pilnu shēmu varat iegūt video aprakstā.

Pilna shēma ir pieejama vietnē EasyEda:

easyeda.com/bkolicoski/Arduino-Laser-Toy

4. solis: darbības principi

Darbības principi
Darbības principi
Darbības principi
Darbības principi

Tagad, kad remonts ir pabeigts, apskatīsim kodu un šīs ierīces darbību. Tipiska 9g mikro servo kustība ir 180 grādi, un to kontrolē PWM signāls. Šis signāls tiek ģenerēts no Arduino, izmantojot Servo bibliotēku. Bibliotēka nodrošina ērtu metodi, ko sauc par “rakstīšanu”, kas uzraksta servo vērtību, attiecīgi kontrolējot vārpstu. Standarta servo režīmā tas iestatīs vārpstas leņķi (grādos), pārvietojot vārpstu šajā virzienā.

Mūsu gadījumā mēs vēlamies ierobežot šo kustību ne vairāk kā no 50 līdz 70 grādiem katrā virzienā, lai vieta, kur suns skrien, nebūtu pārāk liela, lai viņš nenogurst pārāk ātri. Turklāt esmu izmantojis šos ierobežojumus, lai iestatītu lāzera perimetru, lai tas neizietu no apgabala, kurā manam sunim ir jāpārvietojas. Tie tiek iestatīti skices sākumā kopā ar abu servo definīcijām un mainīgajiem, kurus mēs izmantosim viņu pozīcijai.

5. darbība: Arduino kods

Arduino kods
Arduino kods
Arduino kods
Arduino kods

Iestatīšanas funkcijā mēs vispirms inicializējam servos un pievienojam tos pareizajām Arduino tapām. Tas liks bibliotēkai izvadīt PWM signālu uz šīs tapas. Tālāk mēs rakstām sākotnējo pozīciju abiem servos un, lai mēs varētu pareizi ievietot rotaļlietu, esmu pievienojis kādu kodu, kas 3 reizes pārvietos servos apļveida veidā uz iestatītās robežas malām. Tādā veidā jūs varat redzēt, kur punkts pārvietojas, un attiecīgi pielāgot rotaļlietas novietojumu.

Cilpas funkcijā mēs vispirms ģenerējam divus skaitļus, kas attēlo abu servo nākamos leņķus, un mēs sniedzam iepriekš noteiktos ierobežojumus. Arduino nejaušā funkcija var pieņemt minimālo un maksimālo vērtību, kas tai jārada. Pēc tam šīs vērtības tiek nosūtītas servos pa vienam, starplaikā tiekot aizkavēta pussekunde.

Pilnu kodu var atrast manā GitHub lapā:

github.com/bkolicoski/LaserToy

6. solis: izbaudiet

Izbaudi!
Izbaudi!
Izbaudi!
Izbaudi!

Es ceru, ka šī pamācība bija izglītojoša un interesanta, tāpēc iesaku sekot man un neaizmirstiet abonēt manu YouTube kanālu.

Ieteicams: