- Nepieciešamie materiāli:
- Hall efekta sensori:
- Shēmas shēma un skaidrojums:
- Hall efekta sensors Arduino kods:
- Arduino Hall efekta sensora darbība:
Sensori vienmēr ir bijuši būtiska sastāvdaļa jebkurā projektā. Tie ir tie, kas reālā laika vides datus pārvērš ciparu / mainīgos datos, lai tos varētu apstrādāt elektronika. Tirgū ir pieejami daudz dažādu veidu sensoru, un jūs varat to izvēlēties, pamatojoties uz savām prasībām. Šajā projektā mēs iemācīsimies izmantot Hall sensoru jeb Hall efekta sensoru ar Arduino. Šis sensors spēj noteikt magnētu un arī magnēta polu.
Kāpēc atklāt magnētu? Jūs varat jautāt. Nu, ir daudz lietojumu, kuros praktiski tiek izmantots Hall Effect sensors, un mēs, iespējams, nekad tos nebūtu pamanījuši. Viens no šī sensora parastajiem pielietojumiem ir ātruma mērīšana velosipēdos vai jebkurās rotējošās mašīnās. Šis sensors tiek izmantots arī BLDC motoros, lai uztvertu rotora magnētu stāvokli un attiecīgi iedarbinātu Statora spoles. Lietojumprogrammas ir bezgalīgas, tāpēc uzzināsim, kā Interface Hall efekta sensoram Arduino pievienot vēl vienu rīku mūsu arsenālā. Šeit ir daži projekti ar Hall sensoru:
- DIY spidometrs, izmantojot Arduino un apstrādājot Android lietotni
- Digitālais spidometrs un odometra shēma, izmantojot PIC mikrokontrolleru
- Virtuālā realitāte, izmantojot Arduino un apstrādi
- Magnētiskā lauka stipruma mērīšana, izmantojot Arduino
Šajā apmācībā mēs izmantosim Arduino pārtraukuma funkciju, lai noteiktu magnētu pie Hall sensora un spīdētu LED. Lielāko daļu laika Hall sensors tiks izmantots tikai ar pārtraucējiem to lietojumu dēļ, kuros ir nepieciešams liels lasīšanas un izpildes ātrums, tāpēc izmantojiet arī pārtraukumus mūsu apmācībā.
Nepieciešamie materiāli:
- Hall efekta sensors (jebkura digitālā versija)
- Arduino (jebkura versija)
- 10k omi un 1K omi rezistors
- LED
- Vadu savienošana
Hall efekta sensori:
Pirms ienirstam savienojumos, ir dažas svarīgas lietas, kas jums jāzina par Hall Effect sensoriem. Faktiski ir divi dažādi Hall sensoru veidi, viens ir Digital Hall sensors, bet otrs ir Analog Hall sensors. Digitālais Hall sensors var noteikt tikai to, vai magnēts ir vai nav (0 vai 1), bet analogā Hall sensora izeja mainās atkarībā no magnēta lauka ap magnētu, tas ir, tas var noteikt, cik spēcīgs vai cik tālu ir magnēts. Šajā projektā mērķis būs tikai digitālie Hall sensori, jo tie ir visbiežāk izmantotie sensori.
Kā norāda nosaukums, Hall Effect sensors darbojas pēc “Hall effect” principa. Saskaņā ar šo likumu "kad vadītājs vai pusvadītājs ar strāvu, kas plūst vienā virzienā, tika ievadīts perpendikulāri magnētiskajam laukam, spriegumu varēja izmērīt taisnā leņķī pret strāvas ceļu". Izmantojot šo tehniku, zāles sensors varēs noteikt magnēta klātbūtni ap to. Pietiekami daudz teorijas, iesim aparatūrā.
Shēmas shēma un skaidrojums:
Pilna ķēdes shēma Hall sensora saskarnei ar Arduino ir atrodama zemāk.
Kā redzat, zāles efekta sensora arduino shēmas shēma ir diezgan vienkārša. Bet vieta, kur mēs parasti pieļaujam kļūdas, ir noskaidrot zāles sensoru tapu skaitu. Novietojiet rādījumus pret sevi, un pirmā tapa pa kreisi ir Vcc un pēc tam attiecīgi Zeme un Signāls.
Mēs izmantosim pārtraukumus, kā teicām iepriekš, tāpēc Hall sensora izejas tapa ir savienota ar Arduino 2. tapu. Adata ir savienota ar gaismas diodi, kas tiks ieslēgta, kad tiks atklāts magnēts. Es vienkārši esmu izveidojis savienojumus uz maizes dēļa, un tas pēc pabeigšanas izskatījās zemāk.
Hall efekta sensors Arduino kods:
Pilnīga Arduino kods ir tikai dažas rindiņas, un to var atrast pie šīs lapas apakšā, ko var tieši augšupielādēti jūsu Arduino kuģa. Ja vēlaties uzzināt, kā programma darbojas, lasiet tālāk.
Mums ir viena ieeja, kas ir sensors, un viena izeja, kas ir LED. Sensors jāpievieno kā pārtraukuma ieeja. Tāpēc iestatīšanas funkcijas ietvaros mēs inicializējam šīs tapas un arī piespraudām tapu 2 kā pārtraukumu. Šeit tapu 2 sauc par Hall_sensor, bet tapu 3 - par LED .
void setup () {pinMode (LED, OUTPUT); // LED ir izejas tapa pinMode (Hall_sensor, INPUT_PULLUP); // Hall sensors ir ievades tapa attachInterrupt (digitalPinToInterrupt (Hall_sensor), toggle, CHANGE); // Pin divi ir pārtraukuma piespraudes, kas izsauks pārslēgšanas funkciju}
Kad tiek konstatēts pārtraukums, pārslēgšanas funkcija tiks izsaukta, kā minēts iepriekšējā rindā. Ir daudz pārtraukuma parametru, piemēram, Toggle , Change, Rise, Fall utt., Taču šajā apmācībā mēs atklājam Hall sensora izejas izmaiņas.
Tagad pārslēgšanas funkcijas iekšpusē mēs izmantojam mainīgo ar nosaukumu “ stāvoklis ”, kas tikai mainīs savu stāvokli uz 0, ja tas jau ir 1, un uz 1, ja tas jau ir nulle. Tādā veidā mēs varam padarīt LED ieslēgtu vai izslēgtu.
void toggle () {stāvoklis =! stāvoklis; }
Visbeidzot, mūsu cilpas funkcijā mums vienkārši ir jākontrolē LED. Mainīgais stāvoklis tiks mainīts katru reizi, kad tiek atklāts magnēts, tāpēc mēs to izmantojam, lai noteiktu, vai gaismas diode paliek ieslēgta vai izslēgta.
void loop () {digitalWrite (LED, stāvoklis); }
Arduino Hall efekta sensora darbība:
Kad esat gatavs aparatūrai un kodam, vienkārši augšupielādējiet kodu Arduino. Es izmantoju 9 V akumulatoru, lai darbinātu visu iestatījumu. Jūs varat izmantot jebkuru vēlamo enerģijas avotu. Tagad novietojiet magnētu tuvu sensoram, un jūsu gaismas diode spīdēs, un, ja jūs to noņemsit, tas izslēgsies.
Piezīme: Hall sensors ir jutīgs pret polu, tas nozīmē, ka viena sensora puse var noteikt tikai ziemeļpolu vai tikai dienvidpolu, nevis abus. Tātad, ja jūs pietuvojat dienvidu polu tuvu ziemeļu uztverošajai virsmai, jūsu LED nedeg.
Tas, kas patiesībā notiek iekšpusē, ir tas, ka, tuvinot magnētu sensoram, sensors maina stāvokli. Šīs izmaiņas tiek uztvertas ar pārtraukšanas tapu, kas izsauks pārslēgšanas funkciju, kurā mainām mainīgo “stāvokli” no 0 līdz 1. Tādējādi LED iedegsies. Tagad, kad mēs pārvietojam magnētu prom no sensora, sensora izeja atkal mainīsies. Šīs izmaiņas atkal tiek pamanītas mūsu pārtraukuma paziņojumā, un tāpēc mainīgais “stāvoklis” tiks mainīts no 1 uz 0. Tādējādi, ja izslēgts LED. Tas pats atkārtojas katru reizi, kad sensoru tuvina magnēts.
Pilns projekta darba video atrodams zemāk. Ceru, ka sapratāt projektu un patika uzcelt kaut ko jaunu. Ja citādi, lūdzu, izmantojiet komentāru sadaļu zemāk vai forumus, lai saņemtu palīdzību.