Sadržaj:

Arduino Hall efekt senzor s prekidima: 4 koraka
Arduino Hall efekt senzor s prekidima: 4 koraka

Video: Arduino Hall efekt senzor s prekidima: 4 koraka

Video: Arduino Hall efekt senzor s prekidima: 4 koraka
Video: Winson WCS1800 WCS2750 WCS1500 Hall Effect Current Sensor with dispaly with over current protection 2024, Juli
Anonim
Image
Image
Šta je senzor Hall efekta?
Šta je senzor Hall efekta?

Zdravo svima, Danas ću vam pokazati kako možete spojiti senzor Hall efekta na Arduino i koristiti ga s prekidom.

Alati i materijali korišteni u videu (partnerske veze): Arduino Uno:

Senzori Hall efekta:

Odabrani otpornici:

Korak 1: Šta je Hall -ov senzor?

Šta je senzor Hall efekta?
Šta je senzor Hall efekta?
Šta je senzor Hall efekta?
Šta je senzor Hall efekta?
Šta je senzor Hall efekta?
Šta je senzor Hall efekta?

Hall -ov senzor je uređaj koji se koristi za mjerenje veličine magnetskog polja. Njegov izlazni napon je direktno proporcionalan jačini magnetskog polja kroz njega.

Senzori Hall efekta koriste se za primjenu senzora blizine, pozicioniranja, detekcije brzine i trenutnog mjerenja.

Ona s kojom ću danas raditi označena je kao 3144, što je prekidač s Hall efektom koji se prvenstveno koristi za aplikacije na visokim temperaturama i u automobilima. Njegov izlaz je prema zadanim postavkama visok i jednom se smanjuje u prisutnosti magnetskog polja.

Senzor ima 3 pina, VCC, masu i izlaz. Možete ih identificirati tim redoslijedom ako držite senzor s oznakama prema vama. VCC je na lijevoj strani, a izlaz na desnoj strani. Da bi se spriječio bilo kakav pad napona, koristi se otpornik od 10 k između VCC-a i izlaza u konfiguraciji pull-up.

Korak 2: Šta je prekid?

Šta je prekid?
Šta je prekid?
Šta je prekid?
Šta je prekid?

Za povezivanje senzora na Arduinu koristit ćemo jednostavnu, ali vrlo moćnu funkciju koja se zove Prekini. Zadatak prekida je osigurati da procesor brzo reagira na važne događaje. Kada se detektira određeni signal, prekid (kao što naziv sugerira) prekida sve što procesor radi i izvršava neki kod dizajniran da reagira na bilo koji vanjski stimulus koji se dovodi na Arduino. Kada se taj kod završi, procesor se vraća na ono što je prvobitno radio, kao da se ništa nije dogodilo!

Ono što je strašno u vezi ovoga je da strukturira vaš sistem da brzo i efikasno reaguje na važne događaje koje nije lako predvidjeti u softveru. Najbolje od svega, oslobađa vaš procesor za obavljanje drugih stvari dok čeka na pojavljivanje događaja.

Arduino Uno ima dva pina koje možemo koristiti kao prekide, pin 2 i 3. Funkcija koju koristimo za registraciju pina kao prekida naziva se attachInterrupt gdje kao prvi parametar šaljemo pin koji će se koristiti, drugi parametar je naziv funkcije koju želimo pozvati nakon otkrivanja prekida i kao treći parametar šaljemo u načinu rada u kojem želimo da prekid radi. U opisu videa postoji veza do potpune reference za ovu funkciju.

Korak 3: Veze i kod

Veze i kod
Veze i kod
Veze i kod
Veze i kod
Veze i kod
Veze i kod

U našem primjeru povezujemo senzor Hall efekata na pin 2 na Arduinu. Na početku skice definiramo varijable za broj pina ugrađene LED diode, pin za prekid kao i varijablu bajta koju ćemo koristiti za promjenu kroz prekid. Od ključne je važnosti da ovu označimo kao nestabilnu kako bi kompajler znao da se mijenja izvan glavnog toka programa kroz prekid.

U funkciji postavljanja prvo određujemo načine na pinovima koji se koriste, a zatim pričvršćujemo prekid kao što je prethodno objašnjeno. Još jedna funkcija koju ovdje koristimo je digitalPinToInterrupt koja, kako naziv implicira, prevodi pin broj u broj prekida.

U glavnoj metodi samo zapisujemo varijablu stanja na LED pin i dodajemo vrlo malo kašnjenje kako bi procesor mogao imati vremena za ispravan rad.

Tamo gdje smo priložili prekid, naveli smo blink kao drugi parametar i ovo je naziv funkcije koju treba pozvati. Unutra samo obrćemo državnu vrijednost.

Treći parametar funkcije attachIntertupt je način na koji ona radi. Kad ga imamo kao CHANGE, funkcija treptanja će se izvršavati svaki put kada se promijeni stanje prekida, pa će se jednom pozvati kada magnetu priđemo blizu senzora i ponovo se aktivirati kada ga uklonimo. Na ovaj način LED svijetli dok magnet držimo blizu senzora.

Ako sada promijenimo način rada u RISING, funkcija treptanja će se aktivirati tek kada se na prekinutnoj iglici vidi rastuća ivica signala. Svaki put kad magnet približimo senzoru, LED dioda se ili isključi ili uključi pa smo u osnovi napravili magnetski prekidač.

Posljednji način rada koji ćemo pokušati je NISAK. Uz to, kada je magnet blizu, funkcija treptanja će se stalno aktivirati, a LED će treperiti, pri čemu će njegovo stanje biti stalno obrnuto. Kad uklonimo magnet, zaista je nepredvidljivo kako će stanje završiti jer to ovisi o vremenu. Međutim, ovaj način rada je zaista koristan ako moramo znati koliko dugo je tipka pritisnuta jer možemo koristiti funkcije mjerenja vremena da to odredimo.

Korak 4: Dalje radnje

Dalje radnje
Dalje radnje

Prekidi su jednostavan način da učinite vaš sistem osjetljivijim na vremenski osjetljive zadatke. Oni takođe imaju dodatnu prednost oslobađanja vaše glavne `loop ()` za fokusiranje na neki primarni zadatak u sistemu. (Smatram da ovo čini moj kôd malo organiziranijim kada ih koristim - lakše je vidjeti za šta je glavni dio koda dizajniran, dok prekidi obrađuju periodične događaje.) Primjer prikazan ovdje je otprilike većina osnovni slučaj korištenja prekida - možete ih koristiti za čitanje I2C uređaja, slanje ili primanje bežičnih podataka ili čak pokretanje ili zaustavljanje motora.

Ako imate zanimljivu upotrebu prekidača ili senzora za efekte Hall -a, svakako me obavijestite u komentarima, lajkujte i podijelite ovaj Instructable, a ne zaboravite se pretplatiti na moj YouTube kanal za još sjajnih vodiča i projekata u budućnost.

Svaka čast i hvala na gledanju!

Preporučuje se: