- Reikalingos medžiagos
- Kas yra magnetometras ir kaip jis veikia?
- Kaip veikia jutiklio modulis HMC5883L
- Grandinės schema
- Skaitmeninio kompaso PCB gamyba
- PCB surinkimas
- „Arduino“ programavimas
Žmogaus smegenys yra sudarytos iš sudėtingo struktūrų sluoksnio, kuris padeda mums būti dominuojančia rūšimi žemėje. Pavyzdžiui, smegenų entorhinalinė žievė gali suteikti jums krypties pojūtį, padedantį lengvai pereiti jums nepažįstamas vietas. Tačiau skirtingai nei mes, robotams ir bepilotėms „Ariel“ transporto priemonėms reikia kažko, kad įgautų šią krypties pojūtį, kad jie galėtų savarankiškai manevruoti naujose vietovėse ir peizažuose. Skirtingi robotai tam naudoja skirtingo tipo jutiklius, tačiau dažniausiai naudojamas magnetometras, kuris galėtų informuoti robotą, kuria geografine kryptimi jis šiuo metu yra nukreiptas. Tai ne tik padės robotui suvokti kryptį, bet ir pasisukti iš anksto nustatyta kryptimi ir angelu.
Kadangi jutiklis gali nurodyti geografinį vaizdą šiaurėje, pietuose, rytuose ir vakaruose, mes, žmonės, prireikus taip pat galime jį naudoti. Taigi šiame straipsnyje pabandykime suprasti, kaip veikia magnetometro jutiklis ir kaip jį susieti su tokiu mikrovaldikliu kaip „Arduino“. Čia sukursime šaunų skaitmeninį kompasą, kuris padės mums rasti kryptis švytėdamas šiaurės kryptimi rodančiu šviesos diodu. Šis skaitmeninis kompasas yra gražiai pagamintas iš PCBGOGO PCB, kad galėčiau jį nešti kitą kartą, kai išeisiu į laukinę gamtą ir norėčiau, kad pasimestų, kad galėčiau naudoti šį dalyką ieškodamas namo. Pradėkime.
Reikalingos medžiagos
- „Arduino Pro mini“
- HMC5883L magnetometro jutiklis
- LED žibintai - 8Nos
- 470Ohm rezistorius - 8Nos
- Barelis Džekas
- Patikimas PCB gamintojas, toks kaip PCBgogo
- FTDI programuotojas mini
- PC / nešiojamas kompiuteris
Kas yra magnetometras ir kaip jis veikia?
Prieš pasinerdami į grandinę, šiek tiek supraskime apie magnetometrą ir kaip jie veikia. Kaip rodo pavadinimas, terminas „Magneto“ nereiškia to pašėlusio stebuklo mutanto, kuris galėtų valdyti metalus tiesiog grodamas oru. Ohh! Bet man patinka tas vaikinas, jis šaunus.
Magnetometras iš tikrųjų yra įranga, galinti suvokti žemės magnetinius polius ir pagal tai nukreipti kryptį. Mes visi žinome, kad Žemė yra didžiulis sferinio magneto gabalas su Šiaurės ašigaliu ir Pietų ašigaliu. Ir dėl to yra magnetinis laukas. Magnetometras pajunta šį magnetinį lauką ir, remdamasis magnetinio lauko kryptimi, gali nustatyti kryptį, su kuria susiduriame.
Kaip veikia jutiklio modulis HMC5883L
HMC5883L būdamas magnetometras daviklis daro tą patį. Ant jo yra HMC5883L IC, kuris yra iš Honeywell. Šis IC turi 3 magnetiškai atsparias medžiagas, kurios yra išdėstytos ašyse x, y ir z. Per šias medžiagas tekančios srovės kiekis yra jautrus žemės magnetiniam laukui. Taigi matuodami per šias medžiagas tekančios srovės pokytį galime aptikti Žemės magnetinio lauko pokytį. Kai absorbuojamas magnetinio lauko pokytis, reikšmes galima siųsti į bet kurį įterptąjį valdiklį, pvz., Mikrovaldiklį ar procesorių, naudojant I2C protokolą.
Kadangi jutiklis veikia jutdamas magnetinį lauką, išėjimo reikšmės bus labai paveiktos, jei šalia bus metalas. Tokį elgesį galima panaudoti ir naudojant šiuos jutiklius kaip metalo detektorius. Turėtų būti atsargūs, kad magnetai nebūtų priartinti prie šio jutiklio, nes dėl stipraus magneto lauko gali atsirasti klaidingos jutiklio vertės.
Skirtumas tarp HMC5883L ir QMC5883L
Apie šiuos jutiklius dažnai kyla painiava daugeliui pradedančiųjų. Taip yra todėl, kad kai kurie pardavėjai (iš tikrųjų dauguma) parduoda QMC5883L jutiklius, o ne originalius „Honeywell“ HMC5883L. Daugiausia todėl, kad QMC5883L yra daug pigesnis nei HMC5883L modulis. Liūdna tai, kad šių dviejų jutiklių veikimas šiek tiek skiriasi ir tas pats kodas negali būti naudojamas abiem. Taip yra todėl, kad abiejų jutiklių I2C adresas nėra tas pats. Šiame vadovėlyje pateiktas kodas veiks tik QMC5883L dažniausiai naudojamam jutiklio moduliui.
Norėdami sužinoti, kokį jutiklio modelį turite, tiesiog turite atidžiai pažvelgti į patį IC, kad galėtumėte perskaityti tai, kas parašyta ant jo. Jei parašyta kažkas panašaus į L883, tai yra HMC58836L, o jei parašyta kažkas panašaus į DA5883, tai yra QMC5883L IC. Abu moduliai parodyti paveikslėlyje žemiau, kad būtų lengva suprasti.
Grandinės schema
Šio „ Arduino“ pagrindu veikiančio skaitmeninio kompaso grandinė yra gana paprasta, mes tiesiog turime susieti HMC5883L jutiklį su „Arduino“ ir prijungti 8 šviesos diodus prie „Arduino Pro mini“ GPIO kaiščių. Visa grandinės schema parodyta žemiau
Jutiklio modulis turi 5 kaiščius iš kurių DRDY (duomenų Paruošta) nėra naudojami mūsų projekto, nes dirbame su nenutrūkstamu režimu jutiklį. „Vcc“ ir įžeminimo kaištis naudojamas moduliui su 5 V maitinti iš „Arduino“ plokštės. SCL ir SDA yra I2C ryšio magistralės linijos, kurios yra sujungtos su „Arduino Pro mini“ atitinkamai A4 ir A5 I2C kaiščiais. Kadangi pats modulis turi aukštą atsparumą varžoms linijose, jų nereikia pridėti iš išorės.
Norėdami nurodyti kryptį, mes naudojome 8 šviesos diodus, kurie visi yra prijungti prie „Arduino“ GPIO kaiščių per 470 omų srovės ribotuvą. „Complete“ grandinę maitina 9 V baterija per vamzdžio lizdą. Šis 9V tiekiamas tiesiai į „Arduino“ „Vin“ kaištį, kur jis reguliuojamas iki 5V naudojant „Arduino“ borto reguliatorių. Tada šis 5 V naudojamas jutikliui ir „Arduino“ maitinti.
Skaitmeninio kompaso PCB gamyba
Grandinės idėja yra išdėstyti 8 šviesos diodus sukamaisiais būdais, kad kiekvienas šviesos diodas nukreiptų visas 8 kryptis, būtent į šiaurę, šiaurės rytus, rytus, pietryčius, pietus, pietvakarius, vakarus ir šiaurės vakarus. Taigi nėra lengva juos tvarkingai išdėlioti ant duonos lentos ar net ant lentos. Sukūrę šios grandinės PCB, ji atrodys tvarkingesnė ir patogesnė naudoti. Taigi aš atidarė savo PCB projektavimo programinę įrangą ir įdėjau šviesos diodus ir rezistorių į dailų apskritą modelį ir sujungiau takelius, kad susidarytu jungtys. „Mano dizainas“ atrodė maždaug toks, kai jis bus baigtas. Gerber failą taip pat galite atsisiųsti iš toliau pateiktos nuorodos.
- Atsisiųskite „Gerber“ failą, skirtą skaitmeninio kompaso PCB
Aš suprojektavau ją kaip dvigubą šoninę lentą, nes noriu, kad „Arduino“ būtų apatinėje mano PCB pusėje, kad ji nesugadintų mano PCB viršaus. Jei nerimaujate, kad už dvipusę PCB turite mokėti brangiai, tada laikykitės, aš gavau gerą naują atėjimą.
Dabar, kai mūsų dizainas yra paruoštas, atėjo laikas juos pagaminti. Norėdami padaryti PCB yra gana lengva, tiesiog atlikite toliau nurodytus veiksmus
1 žingsnis: Eikite į www.pcbgogo.com, užsiregistruokite, jei tai jūsų pirmas kartas. Tada skirtuke PCB Prototype įveskite savo PCB matmenis, sluoksnių skaičių ir reikalingą PCB skaičių. Mano PCB yra 80 cm × 80 cm, todėl skirtukas atrodo taip žemiau
2 žingsnis: tęskite spustelėdami mygtuką „ Pasiūlyti dabar “. Būsite nukreipti į puslapį, kuriame prireikus nustatysite keletą papildomų parametrų, pvz., Naudojamos medžiagos takų tarpai ir pan. Tačiau dažniausiai numatytosios vertės veiks gerai. Vienintelis dalykas, į kurį turime atsižvelgti, yra kaina ir laikas. Kaip matote, pastatymo laikas yra tik 2-3 dienos, o mūsų PSB jis kainuoja tik 5 USD. Tada galite pasirinkti pageidaujamą pristatymo būdą pagal savo reikalavimus.
3 žingsnis: Paskutinis žingsnis yra įkelti „Gerber“ failą ir tęsti mokėjimą. Norėdami įsitikinti, kad procesas vyksta sklandžiai, prieš tęsdamas mokėjimą, PCBGOGO patikrina, ar jūsų „Gerber“ failas galioja. Tokiu būdu galite būti tikri, kad jūsų PCB yra draugiškas gamybai ir pasieks jus kaip įsipareigojusį.
PCB surinkimas
Užsakius lentą, ji mane pasiekė po kelių dienų, nors kurjeris tvarkingai paženklintoje, gerai supakuotoje dėžutėje ir kaip visada PCB kokybė buvo nuostabi. Dalinuosi keliomis lentų nuotraukomis žemiau, kad galėtumėte įvertinti.
Aš įjungiau litavimo strypą ir pradėjau montuoti lentą. Kadangi pėdsakai, įklotai, vijokliai ir šilkografija yra tinkamos formos ir dydžio, neturėjau jokių problemų surenkant lentą. Lenta buvo paruošta per 10 minučių nuo dėžutės išpakavimo.
Žemiau parodytos kelios lentos nuotraukos po litavimo.
„Arduino“ programavimas
Dabar, kai mūsų aparatinė įranga yra paruošta, pažvelkime į programą, kurią reikia įkelti į mūsų „Arduino“ plokštę. Kodo paskirtis yra nuskaityti duomenis iš QMC5883L magnetometro jutiklio ir paversti laipsniu (nuo 0 iki 360). Sužinoję laipsnį, turime įjungti šviesos diodą, nurodantį tam tikrą kryptį. Kryptis, kurią naudojau šioje programoje, yra šiaurinė. Taigi, nepaisant to, kur esate, lentoje šviečia tik vienas šviesos diodas, o šviesos diodo kryptis rodo ŠIAURĖS kryptį. Kai vėliau būtų galima apskaičiuoti kitą kryptį, yra žinoma viena kryptis.
Visą šio skaitmeninio kompaso projekto kodą galite rasti šio puslapio pabaigoje. Įtraukę biblioteką, galite ją tiesiogiai įkelti į savo lentą ir būsite pasirengę eiti. Bet, jei norite žinoti