Hei kaverit, tervetuloa tämän päivän opetusohjelmaan. Tänään katsomme, kuinka käyttää hall-ilmiöanturia Arduinon kanssa.
Hall-ilmiöanturi on anturi, joka muuttaa ulostuloaan magneettikentän läsnä- tai poissaolon perusteella. Tämä tarkoittaa, että Hall-efektianturin tuottama lähtösignaali on sen ympärillä olevan magneettikentän tiheyden funktio. Kun magneettivuon tiheys sen ympärillä ylittää tietyn ennalta asetetun raja-arvon, anturi havaitsee sen ja tuottaa lähtöjännitteen, jota kutsutaan joskus hall-jännitteeksi, osoittaakseen magneettikentän läsnäolon.
Hall-anturit ovat tulossa hyvin suosituiksi monipuolisuutensa vuoksi, ja niitä käytetään monissa eri sovelluksissa. Yksi hall-antureiden suosituimmista sovelluksista on autoteollisuuden järjestelmissä, joissa niitä käytetään sijainnin havaitsemiseen, etäisyyden ja nopeuden mittaamiseen. Niitä käytetään myös nykyaikaisissa laitteissa, kuten älypuhelimissa ja tietokoneissa, ja niitä käytetään myös erilaisissa kytkimissä, joissa magneettikentän läsnäoloa käytetään joko piirin aktivoimiseen tai deaktivoimiseen.
Hall-anturit tuottavat joko analogisen tai digitaalisen ulostulon kyseisestä anturista riippuen. Riippumatta siitä, kumpaa tyyppiä ne ovat, ne tulevat yleensä kolmipinnisessä paketissa, jossa yksi tappi edustaa signaalia ja kaksi muuta antavat anturille virtaa. Tämä helpottaa liittämistä mihin tahansa mikrokontrolleriin.
Tämän päivän opetusohjelmassa näytämme, miten halli-ilmiöanturi toimii liittämällä se LEDin ohella Arduinoon. Arduino ohjelmoidaan siten, että kun magneetti tuodaan lähelle hallivaikutusanturia, LED syttyy ja kun magneetti poistetaan, se sammuu.
Tarvittavat komponentit
Tämän projektin rakentamiseen tarvitaan seuraavat komponentit.
- Hall-efektianturi
- Halpa Arduino Uno
- Breadboard mini
- LED
- Johdot
- Magneetit
Tavanomaista on, että tarkat komponentit, joita käytetään tässä tutoriaalissa, voi ostaa linkkien kautta, jotka on liitetty kuhunkin yllä olevaan komponenttiin.
Skeemapiirros
Tämän projektin skeema on yksinkertainen, sillä meidän tarvitsee vain liittää hallianturin kolme nastaa ja LED Arduinoon. Kytke komponentit alla olevan kaavion osoittamalla tavalla.
Kytkentä on kuvattu tarkemmin alla, jotta sitä on helppo seurata.
Hallianturi – Arduino
VCC - 5VGND - GNDSIG - D2
LED voidaan kytkeä suoraan Arduinoon siten, että positiivinen jalka on Arduinon nastassa 13 ja toinen jalka kytketään maadoituspinniin ilman vastusta, koska arduinossa on sisäinen vastus liitettynä nastaan 13.
Kun kaaviot on tehty, voimme siirtyä tämän projektin koodiin.
Koodi
Tämän projektin koodi on todella yksinkertainen, kaikki mitä haluamme tehdä, kuten aiemmin mainittiin, on tarkistaa, havaitaanko magneettikenttä ja jos kyllä, sytytetään LED, jos ei, sammutetaan LED.
Tehdäksemme lyhyen selityksen tämän projektin koodista, ensimmäinen asia, jonka teemme, on ilmoittaa Arduinon nastat, joihin hall-anturimme ja LED on kytketty, minkä jälkeen luomme muuttujan ”tila”, joka tallentaa hall-anturin arvon.
////////////////////////////////////////////// // HALL EFFECT SENSOR DEMO // // Author: Nick Koumaris //// http://www.educ8s.tv ///////////////////////////////////////////////int hallSensorPin = 2; int ledPin = 13; int state = 0;
Seuraavaksi siirrymme void setup -funktioon, jossa ilmoitamme nastatilan Arduinon nastoille, joihin LED ja hallianturi on kytketty.
void setup() { pinMode(ledPin, OUTPUT); pinMode(hallSensorPin, INPUT); }
Seuraavaksi tulee void loop -funktio, tehtävä tässä on sama kuin jos haluamme käyttää painonappia LEDin ohjaamiseen Arduinon välissä. Luemme hallianturin ulostulon ja tallennamme sen muuttujaan nimeltä state. Kun arvo on LOW, käännämme LEDin, HIGH ja kun arvo on korkea, käännämme LEDin Low. Hall-anturisi kokoonpano voi olla erilainen, koska anturi voi muuttua korkeaksi, kun magneettikenttä havaitaan. Tämä on varmistettava anturin tietolehdestä.
void loop(){ state = digitalRead(hallSensorPin); if (state == LOW) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }}
Tämän projektin täydellinen koodi on esitetty alla ja se on myös ladattavissa tämän ohjeen lopussa olevasta latausosiosta.
////////////////////////////////////////////// // HALL EFFECT SENSOR DEMO // // //// http://www.educ8s.tv ///////////////////////////////////////////////int hallSensorPin = 2; int ledPin = 13; int state = 0; void setup() { pinMode(ledPin, OUTPUT); pinMode(hallSensorPin, INPUT); }void loop(){ state = digitalRead(hallSensorPin); if (state == LOW) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }}
Demo
Kopioi koodi ja lataa se Arduino-levyllesi. Sinun pitäisi nähdä LEDin vaihtuvan, kun magneetti tuodaan sen lähelle alla olevan kuvan mukaisesti.