» Elektronika » Arduino »Diapazono ieškiklis Arduino platformoje!

Diapazono ieškiklis Arduino platformoje!


Geros dienos visiems! Šiame straipsnyje norėčiau papasakoti, kaip naudojant Arduino, šviesos diodų rinkinį ir ultragarso jutiklį, galite surinkti prietaisą, kuris nustato atstumą nuo stebėtojo iki objekto, kitaip tariant, diapazono ieškiklis. Ir taip einam!
Ko mums reikia:
Paprasta dėžutė. Pageidautina, kad jis būtų mažas, nes jame bus tik vienas mikrovaldiklis.

Naudojant ultragarsinis keitiklis HC-SR04 galime nustatyti atstumą.

Keturių skaitmenų indikatorius turime išvesti gautas vertes.

Rinkinys Šviesos diodai bet kokios spalvos (aš naudojau žalią, nes jos ryškesnės), rezistoriai esant 220 omų laidai ar šuolininkai taip pat bandelė.





Kad mūsų prietaiso komponentai būtų tvirtai pritvirtinti, aš juos lituoju.
Tam mums reikia lituoklis, srautas, lydmetalistaip pat bandelė litavimui.

Ir, žinoma, be Arduino mes negalime padaryti! (Galite pasirinkti bet kurį mikrovaldiklį, aš pirmenybę teikiau Arduino Leonardo ar jam lygiaverčiam Iskra Neo)

Kaip minėjau aukščiau, iš visų įrankių, kuriems mums reikia lituoklio, peilis ir žnyplės.

Dabar pradėkime surinkti įrenginį.
1 žingsnis
Norėdami pradėti, naudodami duonos lentelę, surinksime būsimojo įrenginio prototipą. Tai atrodys maždaug taip ..

Nesijaudink! Šioje laidų netvarkoje nėra nieko baisaus!
„HC-SR04“ jutiklis turi keturis kaiščius: plius, minus (kuriuos mes priklijuojame prie valdiklio 5 V ir GND), „Trig“ ir „Echo“ (mes įterpiame arduino kaiščius atitinkamai į 12 ir 11).
Keturių skaitmenų indikatorius turi 3 laidus: maitinimą, žemę ir signalą. Pastarasis yra prijungtas prie 9 kontaktų Arduino.
Mes prijungiame tris šviesos diodus prie 6, 5 ir 4 valdiklio kontaktų nuosekliai su rezistoriais. Nepamirškite apie poliškumą. Srovė teka iš ilgesnės kojos į trumpesnę.
Štai viskas, kai mes surinkome savo prietaisą ant duonos lentos, įkėlėme eskizą (jis bus straipsnio pabaigoje) ir įsitikinome, kad viskas veikia, nesivaržykite pradėti lituoti.
2 žingsnis
Pirmiausia pritvirtinkite ultragarso jutiklį prie lentos. Aš naudojau mažą bandelę pagal dydį, nes elementų skaičius neviršija 7.

Po to, naudodamiesi žnyplėmis, nusipjaukite kojas (atsiprašau už tautologiją), padarydami jas trumpesnes, kad jos netrukdytų ir atrodytų gražiau!

Po to prijunkite keturis laidus prie jutiklio kontaktų.


Taip pat nepamirškite apie spenelius!


3 žingsnis
Jutiklis yra vietoje, belieka išlydyti tris šviesos diodus kartu su rezistoriais.


Iš kitos pusės jis atrodo taip:

4 žingsnis
Dėžutės šone išpjaukite apvalią skylę maistui.

Ant dangtelio turite iškirpti ertmę iki dydžio (šiek tiek mažesnio ilgio) savo lentos, taip pat gręžti skylutes varžtams.


Dabar, jei apsukame tuščią lentos lentą be elementų (aš tai padariau tik demonstravimui ..), gauname kažką panašaus:

5 žingsnis
Taigi, kad būtų patogiau, siūlau pirmiausia prijungti laidus prie arduino, o tik tada prisukti duonos lentą prie dėžutės dangčio. Be to, nepamirškite apie mūsų indikatorių, kurį pateikiau virš maketo.

Viskas šiame įrenginio komplekte baigta!
Belieka tik atsisiųsti kitą eskizas ir mėgaukitės žaislu!
# įtraukti
# įtraukti
„NewPing“ hidrolokatorius (12.11, 400);
int a, j, b;
nepasirašytas ilgas t = 0;
int masiv [] = {1,0,0,0,1,0,0,0,1};
negaliojanti sąranka ()
{
 už (int i = 4; i & lt; 7; i ++)
 {
   pinMode (i, OUTPUT);
 }
 displayClear (9);
 už (int i = 4; i & lt; 7; i ++)
 {
   „digitalWrite“ (i, 0);
 }
  }
tuščia kilpa ()
{
  j = 7;
  už (int i = 0; i100) toną (2,70);
    „digitalWrite“ (j, masiv [i]);
    tuo tarpu (milis () & lt; = t + b)
    {
    vėlavimas (50);
    a = sonaras.ping_cm ();
    „displayInt“ (9, a);
    b = a;
    }
    t = milis ();
    if (j == 4) j = 7;
    jei (i == 8)
    {
     „digitalWrite“ (4.1);
     o (milis () & lt; = (t + b) + (b * 2))
     {
    vėlavimas (50);
    a = sonaras.ping_cm ();
    „displayInt“ (9, a);
    b = a;
     }
     „digitalWrite“ (4.0);
     t = milis ();
    }
  }



Keletas žodžių programos kodas. Jo dėka, trys mūsų šviesos diodai mirksės pakaitomis vienas po kito, o jų mirksėjimo greitis priklausys nuo atstumo iki objekto, kurį apskaičiuoja ultragarso jutiklis. Tačiau norint, kad šviesos diodai mirksėtų, nėra visiškai logiška naudoti delsos () funkciją, nes kai jis naudojamas, valdiklis užšąla ir jokie skaičiavimai neatliekami. Yra keletas būdų, kaip išspręsti šią problemą. Visų pirma, vienas iš jų yra funkcijos „millis“ () naudojimas, kuris grąžina skaičių milisekundėmis nuo valdiklio veikimo momento. Ir kaip atidėti sąlyginę 100 milisekundžių? Norėdami tai padaryti, aš sukūriau iš esmės tuščią ciklą, kurio išėjimas bus tik po šių 100 milisekundžių, o tada programa tęsis, kad įjungtų / išjungtų šviesos diodus.

Na, viskas! Ačiū, kad perskaitėte šį straipsnį iki galo. Tikiuosi, kad jūs jai ne tik patiko, bet ir įkvėpėte naują jūrą amatai ir išradimai!
6
5
5

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
7 komentarai
Autorius
Sveiki)
Gal dar turite eskizą dirbantį? Čia paaiškėja, kad net ženklas „<“ buvo pakeistas „& lt;“)
Sveiki! Kai įkeliu jūsų eskizą, dėl kokių nors priežasčių jis sukuria krūvą sintaksės klaidų. Aišku, nelabai mąstau apie sintaksę, bet kai kuriose vietose tiesiog negaliu suprasti, ką reikia taisyti. Pavyzdžiui, kūrinyje:
už (int i = 0; i100) toną (2,70);
„digitalWrite“ (j, masiv [i]);
, ką reiškia sujungtas i100? kodėl ne padidinimas? Ar jums reikia garbanotų petnešų, kad kitos dvi funkcijos po to priklausytų tai pačiai kilpai, ar aš klystu? Taigi kompiliatorius prisiekia visame kodekse. Ar galiu kažkaip su jumis susisiekti, paaiškinti kodą? Bandau sudaryti kurso projektą pagal tavo straipsnį.

Taip pat toje vietoje, kurioje bibliotekos yra sujungtos, kodai nenurodomi. Žinoma, galite atspėti, bet vis tiek šis eskizas nėra tinkamas momentiniam testavimui, jūs turite jį apgalvoti)
Autorius
Taip, tai įmanoma)
T. y., Priešpaskutinė nuotrauka (kurioje 77) tiesiog nesėkminga dėl tam tikro parazitinio viršutinių segmentų apšvietimo dėl netinkamo dinaminio ekrano veikimo? Šešis taip pat pasižymi klaidingu foniniu apšvietimu, nors ir nėra toks akivaizdus.
Autorius
Ivanas, rodmenys 6cm ir 11cm yra atstumas nuo jutiklio iki delno)
Paaiškinkite, kodėl toks keistas liudijimas paskutinėse dviejose nuotraukose.

Mes patariame perskaityti:

Perduokite jį išmaniajam telefonui ...