» elektronika » Arduino »Tanchik lézermutatót vezet

Tanchik egy lézermutatót vezet

Tanchik egy lézermutatót vezet

Jó napot, folytatjuk robotok és játékok gyártását. Ma a következő lépés a tartálymodelem módosítása. Olvasható gyártási utasítások itt

A módosítás lényege, hogy megváltoztassa a menedzsment módját. Ezúttal a vezérléshez egy lézermutatót fogunk használni. Pontosabban: a tartály a lézerpont mögött lovagol. A tartály a fotorezisztrátorok segítségével meghatározza a pont helyét. A szükséges lista hasonló a fenti listához házide nem egészen:

- Tamiya 70168 kettős fokozat
- Tamiya 70100 hengerek és nyomvonalak
- Tamiya 70157
- 10 mm-es rétegelt lemez (egy kis darab)
- Arduino Pro Mini 5V AtMega 328
- DRV 8833
- Fénymérők 5506 4 db.
- USB-UART az Arduino firmware-hez
- Téglalap alakú piros és zöld LED-ek
- Fehér LED-ek 5 mm 2db.
- Ellenállások 3x 150 Ohm
- Li-ion 18650 elemek
- Dupont apa-anya csatlakozók
- Különböző színű vezetékek
- forrasztható
- Rosin
- forrasztópáka
- 3x40, 3x20 csavarok, anyák és alátétek számukra
- 2x10 fa csavarok
- 3 és 6 mm-es fúrók
- Elektromos fűrész
- Akril festék

1. lépés Tartály alkatrészek gyártása.
részletezett tartály gyártási folyamat leírt házi.

Ennek megismétlésére nincs értelme. Ezért a fenti házi készítés első és második lépése teljes.

2. lépés Fotorezisztrátorok telepítése.
Szüksége lesz a leggyakoribb fényérzékelőkre, ezeket könnyű megvásárolni a rádió áruházában:


Ezután a sávok telepítése előtt el kell készítenie a helyeket a fotorezisztrátorok számára, és be kell helyezni őket. Tehát négy fényérzékelőnk van, kettő elöl, kettő hátul. Mindegyik a tok alsó részén, a sarkokban helyezkedik el. Mindkét oldalától 5 mm-rel visszahúzva készítsen két lyukat a fotorezisztor lábai számára. A lyukak közötti távolság 4 mm. Használhatja a legkisebb átmérőjű fúrót, vagy egyszerűen csak átszúrhatja a furnérlemezt. Ezt követően helyezze be a fényérzékelőket. Kezdjük az elejével:


Miután beillesztette a fényérzékelőket a rétegelt lemezbe, forrasztja be a vezetékeket az anyák érintkezőihez és a Dupont csatlakozójához. Elkülönítjük a forrasztás helyét. Használhat elektromos szalagot, vagy - mint én - vastagabb szigetelést helyezhet a huzalra.


És hátul:


Az alábbiak szerint néz ki:


Az ügyet tovább szereljük az utasítások szerint, amelyre a fenti linket mutatjuk be.
A fotorezisztrátorok lézerponttal szembeni érzékenységének növelése és a felesleges interferencia megszabadulásának érdekében ezeket meg kell festeni egy piros jelölővel vagy festékkel. A lényeg az, hogy a fény behatoljon a bevonaton. Ne festesse őket teljesen.


Ily módon növeljük az érzékelők érzékenységét a lézer vörös pontjával szemben.

3. lépés Villanyszerelő.
A negyedik lépésben a tartály készítésére vonatkozó utasítások részletesen leírják, hogy mit és hogyan kell csatlakoztatni. Mindent megteszünk ennek megfelelően, kivéve a Bluetooth modul csatlakoztatását. Nincs rá szükség. Összekapcsoljuk a fényérzékelők egyik érintkezőjét a GND-vel. A második a séma szerint kapcsolódik Arduino-hoz:

Elöl jobbra az A0-hoz (Pin14)
Első balról A1-ig (Pin15)
Hátsó balról A2-re (Pin16)
Hátsó jobb A3-ig (Pin17)

Vezérlő eszközként a szokásos kínai lézermutatót fogjuk használni vörös sugárral:


4. lépés Vázlat szerkesztése.
A vázlat szerkesztéséhez és kitöltéséhez le kell töltenie az Arduino IDE-t. Megyünk a hivataloshoz projekt helyén és töltse le a legújabb verziót.

Nincs szükség további könyvtárakra.
A fénymérők messze vannak a legpontosabb mérőeszköztől. Jellemzői a gyakorlatban számos tényezőtől függnek. Ezért a megfelelő működéshez meg kell állítani az egyes fotorezisztort. A leolvasást a vázlat szerkesztésével, az Arduino IDE és a portmonitor segítségével javítjuk. Nyissa meg a vázlatot:
unitank_laser.rar [1,01 Kb] (letöltések: 76)


Kezdjük az első fényellenállásokkal. Az alján húzza ki az első érzékelőkhöz tartozó három sort:

//Serial.print(senLF); // Az első fotorezisztrátorok beállításának megjegyzését
//Serial.print ("");
//Serial.println(senRF);


Ezenkívül szünetet kell adnia ahhoz, hogy időben megnézhesse őket. Ezért ezt a sort is meg kell szüntetni:

// késleltetés (500);

Töltse ki a vázlatot. A tartályt az asztalra tesszük, amikor a helyiséget egy normál csillárral világítják meg, az asztali lámpa nem szabad bekapcsolva. Nyissa meg az Arduino IDE portmonitorot. Normál megvilágítás esetén az értéknek nagyobbnak kell lennie, mint 500, és ugyanakkor nagyjából azonosnak kell lennie mindkét érzékelőnél. Próbáljuk mozgatni a lézermutatót a tartály orra előtt. A javallatoknak változniuk kell. Minél közelebb van a pont, annál kisebbnek kell lennie a számoknak. Ezeknek 80 (a pont maximális közelségénél) és 500 (legfeljebb 2-3 cm távolságra) tartományban kell lenniük.
A beállításhoz használja a vázlat változóit:

int corLF = 0; // Javítási változók, bal első
int corRF = 30; // Jobb elöl


A korrekciós változók lehetnek pozitívak (hozzáadva az érzékelőhöz) vagy negatívak (kivonva a leolvasásokból). Ezeknek a változóknak a megváltoztatásával ismét töltse ki a vázlatot, és látja, hogy a mutatók a szükséges tartományban vannak-e.

Most tegye ugyanezt a hátsó fényérzékelőkkel. Ehhez kommentálja az első érzékelők vonalait, és szüntesse meg a következő sorokat:

//Serial.print(senLB); // Kommentáció a hátsó fényérzékelők beállításához
//Serial.print ("");
//Serial.println(senRB);


A szünetet nem kell kommentálnunk. Ugyanezeket a méréseket végezzük, csak most a hátul található fényérzékelőkkel. És írja be a javító változókat:

int corLB = 0; // Hátsó bal
int corRB = 35; // Jobb hátsó


Hogy világossá tegyük, hogyan működik minden. A bal első érzékelő a jobb oldali sáv előrehaladását, a jobb első érzékelő a bal sávot előre irányítja, és így tovább. Az érzékelő adatait a következő képletek szerint kell beállítani:

senLF = (analogRead (senLFPin) + corLF); // bal első
senRF = (analogRead (senRFPin) + corRF); // Jobb elöl
senLB = (analogRead (senLBPin) + corLB); // Hátsó bal
senRB = (analogRead (senRBPin) + corRB); // Jobb hátsó


Hol, senLF, senRF, senLB, sen RB - korrigált értékek
analogRead (senLFPin), (analogRead (senRFPin), (analogRead (senLBPin), (analogRead (senRBPin)) - „tiszta” érzékelő leolvasások
colLF, colRF, corLB, corRB - korrekciós változók.

És akkor a leolvasásokat lefordítják az ellenkező sáv forgási sebességére:

walRF = térkép (senLF, 80, 500, 100, 255);
walLF = térkép (senRF, 80, 500, 100, 255);
walRB = térkép (senLB, 80, 500, 100, 255);
walLB = térkép (senRB, 80, 500, 100, 255);


Ha a leolvasást semmilyen módon nem tudja korrigálni, akkor változtassa meg a maximális és minimális értéket, amelyen a sávok mozogni kezdenek. Ezek a fenti 80 és 500 számok az átalakítási sorokban.

Az összes eljárás befejezése után kommentálja ezeket a sorokat, és töltse ki a vázlatot. A tartály most a lézermutató piros pontja mögött lovagol.

Lovaglási pont
Szavazók száma: 53
9
7.9
8.1

Adj hozzá egy megjegyzést

    • smilemosolyogxaxarendbendontknowjehunea
      főnökkarcolásbolondigenigen-igenagresszívtitok
      Bocsánattáncdance2dance3megbocsátássegítségitalok
      megállásbarátokjógoodgoodsípájulásnyelv
      füsttapsolóCrayállapítsagúnyosdon-t_mentionletöltés
      hőségingerültlaugh1MDAtalálkozómoskingnegatív
      not_ipopcornbüntetolvasmegijesztijesztkeresés
      gúnyolódásthank_youeztto_clueumnikakutegyetért
      rosszbeeeblack_eyeblum3pírdicsekvésunalom
      cenzúrázottvidámságsecret2fenyegetgyőzelemyusun_bespectacled
      ShokRespektlolprevedfogadtatáskrutoyya_za
      ya_dobryisegítőne_huliganne_othodiFLUDtilalomközel
6 megjegyzés
Oleg Olegov
nem, nem igazán ügyes. rendben
indítson egy műholdat egy lézerrel a pályára
És mi ez a téma, többoldalú nemzetközi megállapodást kötünk az egységes szoftverstandardokról, és globális szinten tartályokká vágjuk magunkat! smile
A szerző
Kézfogás és csalás nélkül!
A fenébe, már itt félünk, veled a környéken-)))) ne_huligan
indítson műholdat egy lézerrel a pályára, szerelje fel újra az összes tartályt és aydat
A francba, gondosan megteszed, tisztelet!

Azt javasoljuk, hogy olvassa el:

Adja át az okostelefon számára ...