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, Prosinac
Anonim
Image
Image
Što je Hall -ov senzor?
Što je Hall -ov senzor?

Pozdrav 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: Što je Hall -ov senzor?

Što je Hall -ov senzor?
Što je Hall -ov senzor?
Što je Hall -ov senzor?
Što je Hall -ov senzor?
Što je Hall -ov senzor?
Što je Hall -ov senzor?

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

Senzori Hall efekta koriste se za primjenu senzora blizine, pozicioniranja, otkrivanja brzine i mjerenja struje.

Ona s kojom ću danas raditi označena je kao 3144, što je prekidač s Hall efektom koji se prvenstveno koristi za primjene 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 s lijeve strane, a izlaz s desne strane. Kako bi se spriječio bilo kakav pomak napona, koristi se 10k otpornik između VCC-a i izlaza u konfiguraciji pull-up.

Korak 2: Što je prekid?

Što je prekid?
Što je prekid?
Što je prekid?
Što je prekid?

Za povezivanje senzora na Arduinu koristit ćemo jednostavnu, ali vrlo moćnu značajku pod nazivom 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 kôd osmišljen da reagira na bilo koji vanjski podražaj koji se dovodi na Arduino. Nakon što se taj kod završi, procesor se vraća na ono što je prvotno radio, kao da se ništa nije dogodilo!

Ono što je strašno u ovom je to što strukturira vaš sustav da brzo i učinkovito reagira na važne događaje koje nije lako predvidjeti u softveru. Najbolje od svega je što oslobađa vaš procesor za obavljanje drugih poslova 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 nalazi se 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 mijenjanje kroz prekid. Od ključne je važnosti da ovu označimo kao nestabilnu kako bi prevoditelj mogao znati da se ona mijenja izvan glavnog toka programa kroz prekid.

U funkciji postavljanja prvo specificiramo načine rada 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, kao što 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, a to 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 izvoditi svaki put kad se promijeni stanje prekida, pa će se jednom pozvati kad magnetu priđemo blizu senzora i ponovno se aktivirati kad 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 kad se na prekinutnoj iglici vidi rastući rub 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 na koji ćemo pokušati je NISAK. S njim, kada je magnet blizu, funkcija treptanja će se stalno aktivirati, a LED će treperiti, pri čemu će mu stanje biti stalno obrnuto. Kad uklonimo magnet, doista je nepredvidljivo kako će stanje završiti jer to ovisi o vremenu. Međutim, ovaj je način doista koristan ako moramo znati koliko je dugo tipka pritisnuta jer možemo upotrijebiti vremenske funkcije da to odredimo.

Korak 4: Daljnje radnje

Daljnje radnje
Daljnje radnje

Prekidi su jednostavan način da učinite vaš sustav osjetljivijim na vremenski osjetljive zadatke. Oni također imaju dodatnu prednost oslobađanja vaše glavne `loop ()` za fokusiranje na neki primarni zadatak u sustavu. (Smatram da ovo čini moj kôd malo organiziranijim kada ih koristim - lakše je vidjeti za što je glavni dio koda dizajniran, dok prekidi obrađuju periodične događaje.) Primjer koji je ovdje prikazan 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 vam je zanimljivo koristiti prekid ili senzor za efekte Hall -a, svakako mi javite 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.

Živjeli i hvala na gledanju!

Preporučeni: