Sisällysluettelo:

Arduino Hall Effect -anturi keskeytyksillä: 4 vaihetta
Arduino Hall Effect -anturi keskeytyksillä: 4 vaihetta

Video: Arduino Hall Effect -anturi keskeytyksillä: 4 vaihetta

Video: Arduino Hall Effect -anturi keskeytyksillä: 4 vaihetta
Video: Arduino Tutorial: Hall Effect Sensor with Arduino Uno. 2024, Heinäkuu
Anonim
Image
Image
Mikä on Hall Effect -anturi?
Mikä on Hall Effect -anturi?

Hei kaikki, Tänään näytän sinulle, kuinka voit liittää hall -tehosteanturin Arduinoon ja käyttää sitä keskeytyksen kanssa.

Videossa käytetyt työkalut ja materiaalit (kumppanilinkit): Arduino Uno:

Hall -tehosteanturit:

Erilaisia vastuksia:

Vaihe 1: Mikä on Hall Effect -anturi?

Mikä on Hall Effect -anturi?
Mikä on Hall Effect -anturi?
Mikä on Hall Effect -anturi?
Mikä on Hall Effect -anturi?
Mikä on Hall Effect -anturi?
Mikä on Hall Effect -anturi?

Hall -tehosteanturi on laite, jota käytetään magneettikentän suuruuden mittaamiseen. Sen lähtöjännite on suoraan verrannollinen sen läpi kulkevaan magneettikentän voimakkuuteen.

Hall -tehosteantureita käytetään läheisyyden tunnistamiseen, paikannukseen, nopeuden havaitsemiseen ja virran tunnistamiseen.

Se, jonka kanssa työskentelen tänään, on merkitty numerolla 3144, joka on halliefektikytkin, jota käytetään pääasiassa korkeissa lämpötiloissa ja autoteollisuudessa. Sen teho on oletuksena korkea ja laskee kerran alhaiseksi magneettikentän läsnä ollessa.

Anturissa on 3 nastaa, VCC, maadoitus ja lähtö. Voit tunnistaa ne tässä järjestyksessä, jos pidät tunnistinta tarroja itseäsi kohti. VCC on vasemmalla ja lähtö on oikealla puolella. Jännitteen ajautumisen estämiseksi käytetään 10 k: n vastusta VCC: n ja ulostulon välillä vedettävässä kokoonpanossa.

Vaihe 2: Mikä on keskeytys?

Mikä on keskeytys?
Mikä on keskeytys?
Mikä on keskeytys?
Mikä on keskeytys?

Arduinon anturin liittämiseen käytämme yksinkertaista, mutta erittäin tehokasta ominaisuutta nimeltä Keskeytä. Keskeytystyö on varmistaa, että prosessori reagoi nopeasti tärkeisiin tapahtumiin. Kun tietty signaali havaitaan, keskeytys (kuten nimestä voi päätellä) keskeyttää prosessorin tekemän toiminnan ja suorittaa jonkin koodin, joka on suunniteltu reagoimaan kaikkiin ulkoisiin ärsykkeisiin, jotka syötetään Arduinolle. Kun koodi on kääritty, prosessori palaa siihen, mitä se alun perin teki, ikään kuin mitään ei olisi tapahtunut!

Hienoa tässä on se, että se rakentaa järjestelmäsi reagoimaan nopeasti ja tehokkaasti tärkeisiin tapahtumiin, joita ei ole helppo ennakoida ohjelmistossa. Mikä parasta, se vapauttaa suorittimesi tekemään muita asioita, kun se odottaa tapahtumaa.

Arduino Unossa on kaksi nastaa, joita voimme käyttää keskeytyksinä, nasta 2 ja 3. Toimintoa, jota käytämme nastan rekisteröimiseksi keskeytyksenä, kutsutaan liitteeksiInterrupt, jossa ensimmäiseksi parametriksi lähetämme käytettävän nastan, toinen parametri on sen toiminnon nimi, jonka haluamme kutsua, kun keskeytys havaitaan, ja kolmantena parametrina lähetämme tilassa, jossa haluamme keskeytyksen toimivan. Videon kuvauksessa on linkki tähän toimintoon.

Vaihe 3: Yhteydet ja koodi

Liitännät ja koodi
Liitännät ja koodi
Liitännät ja koodi
Liitännät ja koodi
Liitännät ja koodi
Liitännät ja koodi

Esimerkissämme liitämme hallitehosteanturin Arduinon nastaan 2. Luonnoksen alussa määritämme muuttujat sisäänrakennetun LEDin pin -numerolle, keskeytysnastalle sekä tavumuuttujalle, jota käytämme muokkaamaan keskeytyksen kautta. On tärkeää, että merkitsemme tämän haihtuvaksi, jotta kääntäjä voi tietää, että sitä muutetaan keskeisen ohjelman päävirran ulkopuolella.

Asetustoiminnossa määritämme ensin tilat käytetyille nastoille ja liitämme sitten keskeytyksen kuten aiemmin selitettiin. Toinen tässä käyttämämme toiminto on digitalPinToInterrupt, joka nimensä mukaisesti kääntää pin -numeron keskeytysnumeroksi.

Päämenetelmässä kirjoitamme vain tilamuuttujan LED -nastaan ja lisäämme hyvin pienen viiveen, jotta prosessorilla on aikaa toimia kunnolla.

Kun lisäsimme keskeytyksen, määritimme vilkkua toiseksi parametriksi ja tämä on kutsuttava funktion nimi. Sisällä vain käännämme tila -arvon.

AttachIntertupt -toiminnon kolmas parametri on tila, jossa se toimii. Kun meillä on se CHANGE, vilkkuva toiminto suoritetaan joka kerta, kun keskeytystila muuttuu, joten sitä kutsutaan kerran, kun saamme magneetin lähelle anturia ja laukaisemme sen uudelleen, kun poistamme sen. Näin LED palaa, kun pidämme magneetin lähellä anturia.

Jos muutamme nyt tilan RISING, vilkkuva toiminto käynnistyy vasta, kun signaalin nouseva reuna näkyy keskeytystapissa. Nyt joka kerta kun tuomme magneetin lähelle anturia, LED joko sammuu tai syttyy, joten teimme periaatteessa magneettikytkimen.

Viimeinen tila, jota yritämme, on LOW. Kun magneetti on lähellä, vilkkutoiminto käynnistyy jatkuvasti ja LED -valo vilkkuu ja sen tila on käänteinen koko ajan. Kun irrotamme magneetin, on todella arvaamatonta, miten tila päättyy, koska tämä riippuu ajoituksesta. Tämä tila on kuitenkin todella hyödyllinen, jos meidän on tiedettävä, kuinka kauan painiketta painettiin, koska voimme käyttää ajoitustoimintoja sen määrittämiseksi.

Vaihe 4: Lisätoimet

Muut toimet
Muut toimet

Keskeytykset ovat yksinkertainen tapa saada järjestelmäsi paremmin reagoimaan aikaherkkiin tehtäviin. Niillä on myös lisäetu, koska ne vapauttavat tärkeimmän `` silmukan ('') keskittymään johonkin järjestelmän ensisijaiseen tehtävään. (Huomaan, että tämä tekee koodistani hieman järjestäytyneemmän, kun käytän niitä - on helpompi nähdä, mihin koodin pääosa on suunniteltu, kun taas keskeytykset käsittelevät jaksollisia tapahtumia.) Tässä esitetty esimerkki on lähes kaikkein keskeinen tapa käyttää keskeytystä - voit käyttää niitä I2C -laitteen lukemiseen, langattoman datan lähettämiseen tai vastaanottamiseen tai jopa moottorin käynnistämiseen tai pysäyttämiseen.

Jos käytät mielenkiintoista keskeytys- tai hallitehosteanturia, ilmoita siitä minulle kommenteissa, tykkää ja jaa tämä Instructable, äläkä unohda tilata YouTube -kanavaani saadaksesi mahtavia opetusohjelmia ja projekteja tulevaisuudessa.

Tsemppiä ja kiitos katsomisesta!

Suositeltava: