» Elektronika » Arduino »Tančikas vairuoja lazerinį žymeklį

Tančikas vairuoja lazerinį rodyklę

Tančikas vairuoja lazerinį rodyklę

Laba diena, mes ir toliau gaminame robotus ir žaislus. Šiandien kitas žingsnis yra mano rezervuaro modelio modifikavimas. Perskaitomos gamybos instrukcijos čia

Modifikacijos esmė yra pakeisti valdymo būdą. Šį kartą valdymui naudosime lazerinį žymiklį. Tiksliau, bakas važiuos už lazerio taško. Per fotorezistorius bakas nustatys taško vietą. Būtinų sąrašas yra panašus į aukščiau pateiktą sąrašą naminisbet ne visai:

- „Tamiya 70168“ dviguba pavara
- „Tamiya 70100“ ritinėlių ir vikšrų rinkinys
- „Tamiya 70157“
- 10 mm fanera (mažas gabalas)
- Arduino „Pro Mini 5V AtMega 328“
- DRV 8833
- Fotorezistoriai 5506 4 vnt.
- „Arduino“ programinės įrangos USB-UART
- Stačiakampiai raudoni ir žali šviesos diodai
- Baltos lemputės 5 mm 2vnt.
- Rezistoriai 3x 150 omų
- Li-ion 18650 baterijos
- „Dupont“ tėčio ir mamos jungtys
- Įvairių spalvų laidai
- litavimas
- Rosinas
- lituoklis
- 3x40, 3x20 varžtai, veržlės ir poveržlės jiems
- 2x10 medsraigčiai
- Medienos grąžtai 3 mm ir 6 mm
- Elektrinis pjūklas
- Akrilo dažai

1 žingsnis Cisternų dalių gamyba.
Išsamus rezervuaro gamybos procesas aprašytas namie.

Tai kartoti nėra prasmės. Todėl pirmas ir antras aukščiau paminėtų namų darbų žingsnis yra baigtas.

2 žingsnis Fotorezistorių įrengimas.
Mums reikės labiausiai paplitusių fotorezistorių, juos lengva nusipirkti radijo parduotuvėje:


Toliau, prieš diegdami takelius, turite paruošti vietas fotorezistoriams ir ten įterpti. Taigi, mes turime keturis fotorezistorius, du priekyje, du gale. Jie visi bus apatinėje dėklo dalyje, kampuose. Pasitraukdami 5 mm atstumu nuo kiekvienos pusės, padarykite dvi skylutes fotorezistoriaus kojoms. Atstumas tarp skylių yra 4 mm. Galite naudoti mažiausio skersmens grąžtą arba tiesiog pradurti fanerą pliaukštelėjimu. Tai padarę, įdėkite fotorezistorius. Pradėkime nuo priekio:


Įdėję fotorezistorius į fanerą, suklijuokite laidus prie kontaktų ir motinos „Dupont“ jungties. Mes išskiriame litavimo vietą. Galite naudoti elektrinę juostelę arba galite, kaip ir aš, storesnę vielos izoliaciją.


Mes taip pat darome:


Žemiau atrodys taip:


Mes surenkame dėklą toliau pagal instrukcijas, kurių saitas nurodytas aukščiau.
Norėdami padidinti fotorezistorių jautrumą lazerio taškui ir atsikratyti nereikalingų trukdžių, juos reikia nudažyti raudonu žymekliu arba dažais. Svarbiausia, kad šviesa prasiskverbtų per dangą. Negalima jų visiškai dažyti.


Tokiu būdu padidinsime jutiklių jautrumą raudonam lazerio taškui.

3 žingsnis Elektrikas.
Ketvirtame etape rezervuaro pagaminimo instrukcijos išsamiai apibūdina, ką ir kaip prijungti. Mes darome viską pagal tai, išskyrus „Bluetooth“ modulio prijungimą. Mums jo nereikia. Mes sujungiame vieną iš fotorezistorių kontaktų su GND. Antrasis yra prijungtas prie Arduino pagal schemą:

Priekinė dešinė į A0 (14 pin)
Priekinis kairysis link A1 (Pin15)
Galinė kairė į A2 (Pin16)
Galinė dešinė į A3 (Pin17)

Kaip valdymo įrankį naudosime įprastą kinų lazerinį žymeklį su raudonu pluoštu:


4 žingsnis Redaguoti eskizą.
Norėdami redaguoti ir užpildyti eskizą, turite atsisiųsti „Arduino IDE“. Einame pas pareigūną projekto svetainė ir atsisiųskite naujausią versiją.

Jokių papildomų bibliotekų nereikia.
Fotorezistoriai toli gražu nėra tiksliausias matavimo prietaisas. Jos ypatybės praktiškai priklauso nuo daugelio veiksnių. Todėl, norint tinkamai veikti, būtina sureguliuoti kiekvieną fotorezistorių. Mes ištaisysime rodmenis, redaguodami eskizą, naudodami „Arduino IDE“ ir prievado monitorių. Atidarykite eskizą:
unitank_laser.rar [1,01 Kb] (atsisiuntimų: 76)


Pradėkime nuo priekinių foto rezistorių. Pačioje apačioje atšaukite tris priekinių jutiklių eilutes:

//Serial.print(senLF); // Neatmena priekinių fotorezistorių reguliavimo
//Serial.print ("");
//Serial.println(senRF);


Taip pat turite pridėti pauzę, kad turėtumėte laiko jas peržiūrėti. Todėl nekomentuokite šios eilutės taip pat:

// vėlavimas (500);

Užpildykite eskizą. Mes pastatėme baką ant stalo, apšviesdami kambarį įprasta liustra, stalo lempa neturėtų būti įjungta. Ir atidarykite „Arduino IDE“ prievado monitorių. Esant normaliam apšvietimui, rodmenys turėtų būti didesni nei 500 ir tuo pačiu metu maždaug vienodi abiejų jutiklių. Pabandykime perkelti lazerinį žymiklį priešais rezervuaro nosį. Indikacijos turėtų skirtis. Kuo arčiau taško, tuo mažesni skaičiai turėtų būti. Jie turėtų būti nuo 80 (maksimaliai arti taško) iki 500 (maždaug 2–3 cm atstumu).
Norėdami pakoreguoti, naudokite eskizo kintamuosius:

int corLF = 0; // Koregavimo kintamieji, priekis kairėje
int corRF = 30; // Priekinė dešinė


Pataisų kintamieji gali būti teigiami (pridedami prie jutiklio rodmenų) arba neigiami (atimami iš rodmenų). Pakeitę šiuos kintamuosius, vėl užpildykite eskizą ir pamatysite, kad rodikliai yra mums reikalingose ​​diapazonuose.

Dabar darykite tą patį su galiniais fotorezistoriais. Norėdami tai padaryti, komentuokite priekinių jutiklių linijas ir atšaukite šias eilutes:

//Serial.print(senLB); // Nekompensacija sureguliuoti galinius fotorezistorius
//Serial.print ("");
//Serial.println(senRB);


Pauzė turėtų būti nekomentuojama. Mes atliekame tuos pačius matavimus, tik dabar su fotorezistoriais gale. Ir parašykite taisomuosius kintamuosius:

int corLB = 0; // Kairė kairė
int corRB = 35; // Užpakalinė dešinė


Kad būtų aišku, kaip viskas veikia. Kairysis priekinis jutiklis kontroliuoja dešiniojo kelio judėjimą į priekį, o dešinysis priekinis jutiklis kontroliuoja kairiojo kelio judėjimą į priekį ir pan. Jutiklio rodmenys koreguojami pagal šias formules:

senLF = („analogRead“ (senLFPin) + corLF); // priekyje kairėje
senRF = („analogRead“ (senRFPin) + corRF); // Priekinė dešinė
senLB = („analogRead“ (senLBPin) + corLB); // Kairė kairė
senRB = („analogRead“ (senRBPin) + corRB); // Užpakalinė dešinė


Kur, senLF, senRF, senLB, sen RB - pataisyti rodmenys
analogRead (senLFPin), (analogRead (senRFPin), (analogRead (senLBPin), (analogRead (senRBPin)) - „švarus“ jutiklio rodmenys
colLF, colRF, corLB, corRB - korekcijos kintamieji.

Tada rodmenys paverčiami priešingos trasos sukimosi greičiu:

walRF = žemėlapis (senLF, 80, 500, 100, 255);
walLF = žemėlapis (senRF, 80, 500, 100, 255);
walRB = žemėlapis (senLB, 80, 500, 100, 255);
walLB = žemėlapis (senRB, 80, 500, 100, 255);


Jei negalite ištaisyti jutiklių rodmenų, pakeiskite didžiausius ir mažiausius rodmenis, kuriais takeliai pradeda judėti. Aukščiau parašytose konvertavimo eilutėse yra skaičiai 80 ir 500.

Baigę visas procedūras, pakomentuokite visas šias eilutes ir užpildykite eskizą. Dabar bakas važiuos už raudono lazerio rodyklės taško.

Jojimo taškas
Iš viso rinkėjų: 53
9
7.9
8.1

Pridėti komentarą

    • šypsotisšypsosixaxagerainežiniaYahoonea
      viršininkassubraižytikvailystaiptaip-taipagresyvusslapta
      atsiprašaušoktišokis2šokis3atleiskpadėtigėrimai
      sustotidraugaigeraigerašvilpukassupyktiliežuvis
      rūkytiplojimaiklastingaspareikštiniokojantisdon-t_mentionatsisiųsti
      šilumanedrąsusjuoktis1mdasusitikimasmoskingneigiamas
      not_ipopkornasnubaustiskaitytigąsdintigąsdinapaieška
      gundytiačiūtaito_clueumnikūmussusitarti
      blogaibičiųjuoda akisblum3skaistalaipasigirtinuobodulys
      cenzūruotamalonumasslapta2grasintipergalėju„sun_bespectacled“
      šoktipagarbalolišlenktaslaukiamekrutojusya_za
      ya_dobryipagalbininkasne_huliganne_othodifludisuždraustiarti
6 komentarai
Olegas Olegovas
ne, nelabai tvarkingas. gerai
paleiskite palydovą su lazeriu į orbitą
Kas yra ši tema, mes sudarome daugiašalį tarptautinį susitarimą dėl vienodų programinės įrangos standartų ir supjaustome save į rezervuarus pasauliniu mastu! šypsotis
Autorius
Reta ranka ir jokio sukčiavimo!
Po velnių, mes jau bijome čia, su jumis kaimynystėje-)))) ne_huligan
paleiskite palydovą su lazeriu į orbitą, iš naujo aprūpinkite visus tankus ir ayda
Po velnių kruopščiai padaryta, gerbk!

Mes patariame perskaityti:

Perduokite jį išmaniajam telefonui ...