- Nødvendige materialer:
- Hall-effekt sensorer:
- Kretsdiagram og forklaring:
- Hall Effect Sensor Arduino-kode:
- Arduino Hall Effect Sensor Arbeider:
Sensorer har alltid vært en viktig komponent i ethvert prosjekt. Dette er de som konverterer sanntids miljødata til digitale / variable data slik at de kan behandles av elektronikk. Det finnes mange forskjellige typer sensorer tilgjengelig i markedet, og du kan velge en basert på dine behov. I dette prosjektet vil vi lære å bruke en Hall-sensor aka Hall-effekt-sensor med Arduino. Denne sensoren er i stand til å oppdage en magnet og også polen til magneten.
Hvorfor oppdage en magnet ? , spør du kanskje. Vel, det er mange applikasjoner som praktisk talt bruker Hall Effect-sensor, og vi har kanskje aldri lagt merke til dem. En vanlig anvendelse av denne sensoren er å måle hastighet på sykler eller andre roterende maskiner. Denne sensoren brukes også i BLDC-motorer for å fornemme posisjonen til rotormagneter og utløse statorspolene tilsvarende. Applikasjonene er uendelige, så la oss lære hvordan vi kan grensesnitt Hall effekt sensor Arduino for å legge til et annet verktøy i vårt arsenal. Her er noen prosjekter med Hall-sensor:
- DIY Speedometer ved hjelp av Arduino og Processing Android App
- Digital hastighetsmåler og kilometertellerkrets ved bruk av PIC Microcontroller
- Virtual Reality ved hjelp av Arduino og Processing
- Måling av magnetisk feltstyrke ved hjelp av Arduino
I denne opplæringen vil vi bruke avbruddsfunksjonen til Arduino for å oppdage magneten nær Hall-sensoren og glød en LED. Hall-sensoren vil mesteparten av tiden bare brukes med Interrupts på grunn av deres applikasjoner der det kreves høy lese- og utføringshastighet, og la oss derfor også bruke interrupt i vår tutorial.
Nødvendige materialer:
- Hall Effect Sensor (enhver digital verison)
- Arduino (hvilken som helst versjon)
- 10k ohm og 1K ohm motstand
- LED
- Koble ledninger
Hall-effekt sensorer:
Før vi dykker inn i tilkoblingene, er det få viktige ting du bør vite om Hall Effect-sensorer. Det er faktisk to forskjellige typer Hall-sensorer, den ene er Digital Hall-sensor og den andre er Analog Hall-sensor. Den digitale Hall-sensoren kan bare oppdage om en magnet er tilstede eller ikke (0 eller 1), men utgangen fra en analog hallsensor varierer basert på magnetfeltet rundt magneten, det kan oppdage hvor sterk eller hvor langt magneten er. I dette prosjektet vil det bare sikte mot de digitale Hall-sensorene, for de er de mest brukte.
Som navnet antyder fungerer Hall Effect-sensoren med prinsippet "Hall-effekt". I følge denne loven "når en leder eller halvleder med strøm som strømmer i en retning ble introdusert vinkelrett på et magnetfelt, kunne en spenning måles i rett vinkel på strømbanen". Ved bruk av denne teknikken vil hallsensoren kunne oppdage tilstedeværelsen av magnet rundt den. Nok av teorien, la oss komme inn på maskinvare.
Kretsdiagram og forklaring:
Det komplette kretsskjemaet for grensesnitt mellom Hall-sensor og Arduino finner du nedenfor.
Som du kan se, er kretsdiagrammet for hall-effekt-sensoren arduino ganske enkel. Men stedet hvor vi ofte gjør feil, er å finne ut tallene til hallsensorene. Plasser målingene som vender mot deg, og den første pinnen til venstre er henholdsvis Vcc og deretter Ground og Signal.
Vi skal bruke Interrupts som fortalt tidligere, og derfor er utgangspinnen til Hall-sensoren koblet til Pin 2 på Arduino. Pinnen er koblet til en LED som slås PÅ når en magnet oppdages. Jeg har rett og slett opprettet tilkoblingene på et brødbrett, og det så litt slik ut nedenfor når de ble fullført.
Hall Effect Sensor Arduino-kode:
Den komplette Arduino-koden er bare noen få linjer, og den finner du nederst på denne siden som kan lastes opp direkte til Arduino Board. Hvis du vil vite hvordan programmet fungerer, kan du lese videre.
Vi har en inngang, som er sensoren og en utgang som er en LED. Sensoren må kobles til som en avbruddsinngang. Så inne i vår oppsettfunksjon initialiserer vi disse pinnene og får også Pin 2 til å fungere som et avbrudd. Her kalles pin 2 Hall_sensor og pin 3 kalles LED .
ugyldig oppsett () {pinMode (LED, OUTPUT); // LED er en pin pin-modus (Hall_sensor, INPUT_PULLUP); // Hall-sensoren er inngangsstiftfesteInterrupt (digitalPinToInterrupt (Hall_sensor), veksle, ENDRE); // Pin to er interrupt pin som vil kalle vekselfunksjon}
Når det oppdages et avbrudd, vil vekslefunksjonen kalles som nevnt i linjen ovenfor. Det er mange avbruddsparametere som Toggle , Change, Rise, Fall etc., men i denne opplæringen oppdager vi endring av utdata fra Hall-sensor.
Nå inne i vippefunksjonen, bruker vi en variabel kalt “ state ”, som vil bare endre status til 0 dersom det allerede en og en hvis den allerede er null. På denne måten kan vi få lysdioden til å slå seg PÅ eller AV.
void toggle () {state =! state; }
Endelig inne i sløyfefunksjonen vår, må vi bare kontrollere LED-lampen. Den variable tilstanden vil bli endret hver gang en magnet oppdages, og derfor bruker vi den til å avgjøre om LED-en skal forbli på eller av.
ugyldig sløyfe () {digitalWrite (LED, tilstand); }
Arduino Hall Effect Sensor Arbeider:
Når du er klar med maskinvare og kode, er det bare å laste opp koden til Arduino. Jeg har brukt et 9V batteri for å drive hele oppsettet. Du kan bruke hvilken som helst foretrukket strømkilde. Ta magneten nær sensoren, og lysdioden din vil lyse, og hvis du tar den bort, vil den slås av.
Merk: Hall-sensoren er polssensitiv, noe som betyr at den ene siden av sensoren enten bare kan oppdage Nordpolen eller bare Sydpolen og ikke begge deler. Så hvis du tar en sørpol nær den nordlige sensingoverflaten, lyser ikke LED-en.
Det som faktisk skjer inni er at når vi bringer magneten nær sensoren, endrer sensoren sin tilstand. Denne endringen oppdages av avbruddspinnen som vil kalle vekselfunksjonen der vi endrer variabelen “tilstand” fra 0 til 1. Derfor vil LED-en slås på. Nå, når vi flytter magneten vekk fra sensoren, vil utgangen fra sensoren igjen endre seg. Denne endringen blir igjen lagt merke til av avbruddssetningen vår, og derfor vil variabelen “tilstand” endres fra 1 til 0. Dermed vil LED-lampen hvis den er slått av. Det samme gjentas hver gang du tar en magnet nær sensoren.
Den komplette arbeidsvideoen av prosjektet finner du nedenfor. Håper du forsto prosjektet og likte å bygge noe nytt. Hvis du ellers ber om å bruke kommentarseksjonen nedenfor eller forumene for å få hjelp.