- Reikalingos medžiagos:
- Salės efekto jutikliai:
- Grandinės schema ir paaiškinimas:
- „Hall“ efekto jutiklis „Arduino“ kodas:
- „Arduino Hall“ efekto jutiklis veikia:
Jutikliai visada buvo gyvybiškai svarbus bet kurio projekto komponentas. Tai yra tie, kurie realius realaus laiko aplinkos duomenis paverčia skaitmeniniais / kintamaisiais, kad juos būtų galima apdoroti elektronikoje. Rinkoje yra daugybė skirtingų tipų jutiklių, kuriuos galite pasirinkti atsižvelgdami į savo poreikius. Šiame projekte sužinosime, kaip naudoti „Hall“ jutiklį, dar vadinamą „Hall“ efekto jutikliu, su „Arduino“. Šis jutiklis gali aptikti magnetą ir magneto polių.
Kodėl aptinkamas magnetas ?, galite paklausti. Na, yra daugybė programų, kurios praktiškai naudoja „Hall Effect“ jutiklį, ir mes jų galbūt niekada nepastebėjome. Vienas įprastas šio jutiklio pritaikymas yra matuoti greitį dviračiuose ar bet kokiose besisukančiose mašinose. Šis jutiklis taip pat naudojamas BLDC varikliuose, norint pajusti rotoriaus magnetų padėtį ir atitinkamai suveikti statoriaus ritinius. Programų yra begalė, todėl sužinokime, kaip „ Interface Hall“ efekto jutiklį „Arduino“ pridėti prie kito įrankio mūsų arsenale. Štai keletas projektų su „Hall“ jutikliu:
- Pasidarykite spidometrą naudodami „Arduino“ ir apdorodami „Android“ programą
- Skaitmeninis spidometras ir odometro grandinė naudojant PIC mikrovaldiklį
- Virtuali tikrovė naudojant „Arduino“ ir apdorojimą
- Magnetinio lauko stiprumo matavimas naudojant „Arduino“
Šioje pamokoje mes naudosime „Arduino“ pertraukimo funkciją, kad aptiktume magnetą šalia „Hall“ jutiklio ir švytėtume šviesos diodu. Dažniausiai „Hall“ jutiklis bus naudojamas tik su pertraukimais dėl jų programų, kuriose reikalingas didelis skaitymo ir vykdymo greitis, todėl pamokoje taip pat naudokime pertraukiklius.
Reikalingos medžiagos:
- „Hall“ efekto jutiklis (bet koks skaitmeninis vertimas)
- „Arduino“ (bet kokia versija)
- 10k omų ir 1K omų rezistorius
- LED
- Laidų sujungimas
Salės efekto jutikliai:
Prieš pasinerdami į jungtis, turite keletą svarbių dalykų, kuriuos turėtumėte žinoti apie „Hall Effect“ jutiklius. Iš tikrųjų yra du skirtingi „Hall“ jutiklių tipai, vienas yra „Digital Hall“ jutiklis, kitas - „Analog Hall“ jutiklis. Skaitmeninis „Hall“ jutiklis gali nustatyti tik magnetą, ar jo nėra (0 arba 1), tačiau analoginio „Hall“ jutiklio išvestis skiriasi priklausomai nuo magnetinio lauko aplink magnetą, t. Šiame projekte bus siekiama tik skaitmeninių „Hall“ jutiklių, nes jie yra dažniausiai naudojami.
Kaip rodo pavadinimas, „Hall“ efekto jutiklis veikia pagal „„ Hall “efekto“ principą. Pagal šį įstatymą „kai laidininkas ar puslaidininkis, kurio srovė teka viena kryptimi, buvo įvestas statmenai magnetiniam laukui, įtampa galėjo būti matuojama stačiu kampu į srovės kelią“. Naudodamas šią techniką, salės jutiklis galės aptikti magnetą aplink jį. Užteks teorijos, pereikime prie aparatūros.
Grandinės schema ir paaiškinimas:
Visą „ Hall“ jutiklio sąsajos su „Arduino“ schemą galite rasti žemiau.
Kaip matote, salės efekto jutiklio „Arduino“ schema yra gana paprasta. Tačiau vieta, kur dažniausiai darome klaidų, yra nustatyti salės jutiklių kaiščių skaičių. Įdėkite rodmenis į save, o pirmasis kaištis kairėje yra „Vcc“, tada atitinkamai įžeminimas ir signalas.
Mes naudosime pertraukiklius, kaip pasakyta anksčiau, todėl „Hall“ jutiklio išvesties kaištis yra prijungtas prie „Arduino“ 2 kaiščio. Kaištis yra prijungtas prie šviesos diodo, kuris bus įjungtas, kai bus aptiktas magnetas. Paprasčiausiai padariau ryšius ant duonos lentos ir, kai baigta, tai atrodė žemiau.
„Hall“ efekto jutiklis „Arduino“ kodas:
Visiškai Arduino kodas yra vos keletas eilučių, ir tai galima rasti šio puslapio, kuris gali būti tiesiogiai įkeltas į jūsų Arduino valdybos apačioje. Jei norite sužinoti, kaip programa veikia, skaitykite toliau.
Mes turime vieną įėjimą, kuris yra jutiklis, ir vieną išėjimą, kuris yra šviesos diodas. Jutiklis turi būti prijungtas kaip pertraukimo įvestis. Taigi, naudodamiesi sąrankos funkcija, mes inicializuojame šiuos kaiščius ir taip pat priverčiame PIN 2 veikti kaip pertrauką. Čia kaištis 2 vadinamas „ Hall_sensor“, o kaištis 3 - „ LED“ .
negaliojanti sąranka () {pinMode (LED, OUTPUT); // LED yra išvesties kaištis pinMode (Hall_sensor, INPUT_PULLUP); // „Hall“ jutiklis yra įvesties kaištis attachInterrupt (digitalPinToInterrupt (Hall_sensor), toggle, CHANGE); // Antras kaištis yra pertraukimo kaištis, kuris iškvies perjungimo funkciją}
Kai yra nutraukti aptikta, perjungimo funkcija bus vadinamas kaip minėta pirmiau linija. Yra daug pertraukimo parametrų, tokių kaip „ Toggle“ , „ Change“, „Rise“, „Fall“ ir kt., Tačiau šioje pamokoje aptinkame „Hall“ jutiklio išvesties pasikeitimą.
Dabar perjungimo funkcijos viduje mes naudojame kintamąjį, vadinamą „ būsena “, kuris tiesiog pakeis savo būseną į 0, jei jau 1, ir į 1, jei jau nulis. Tokiu būdu galime priversti šviesos diodą įjungti arba išjungti.
void toggle () {būsena =! būsena; }
Pagaliau mūsų ciklo funkcijoje mes tiesiog turime valdyti šviesos diodą. Kintama būsena bus keičiama kiekvieną kartą, kai aptinkamas magnetas, todėl mes jį naudojame norėdami nustatyti, ar šviesos diodas turėtų likti įjungtas ar ne.
void loop () {digitalWrite (LED, būsena); }
„Arduino Hall“ efekto jutiklis veikia:
Kai būsite pasirengę aparatinei įrangai ir kodui, tiesiog įkelkite kodą į „Arduino“. Aš naudoju 9 V akumuliatorių, kad galėčiau maitinti visą komplektą. Galite naudoti bet kurį pageidaujamą maitinimo šaltinį. Dabar prijunkite magnetą prie jutiklio ir jūsų šviesos diodas šviečia, o jei jį atimsite, jis išsijungs.
Pastaba: Hallo jutiklis yra jautrus poliui, tai reiškia, kad viena jutiklio pusė gali aptikti tik Šiaurės ašigalį arba tik Pietų ašigalį, bet ne abi. Taigi, jei pietų ašigalį priartinsite prie šiaurinio jutimo paviršiaus, jūsų šviesos diodas nešvies.
Tai, kas iš tikrųjų vyksta viduje, yra tai, kai priartiname magnetą prie jutiklio, jutiklis keičia savo būseną. Šį pokytį jaučia pertraukimo kaištis, kuris iškvies perjungimo funkciją, kurios metu mes pakeisime kintamojo „būseną“ iš 0 į 1. Taigi šviesos diodas įsijungs. Dabar, kai magnetą atitolinsime nuo jutiklio, jutiklio galia vėl pasikeis. Šį pokytį vėl pastebi mūsų pertraukimo teiginys, todėl kintamasis „būsena“ bus pakeistas iš 1 į 0. Taigi šviesos diodas bus išjungtas. Tas pats pasikartoja kaskart priartinant magnetą prie jutiklio.
Pilnas darbo vaizdo projekto galima rasti žemiau. Tikiuosi, kad supratote projektą ir patiko kurti ką nors naujo. Jei kitaip prašome, naudokitės žemiau esančia komentarų skiltimi arba forumais.