Hej killar, välkommen till dagens tutorial. Idag ska vi titta på hur man använder en hall-effektsensor med Arduino.

En hall-effektsensor är en sensor som varierar sin utgång baserat på närvaron eller frånvaron av ett magnetfält. Detta innebär att den utsignal som produceras av en hall-effektsensor är en funktion av magnetfältets täthet runtomkring den. När den magnetiska flödestätheten runt omkring den överskrider ett visst förinställt tröskelvärde upptäcker sensorn detta och genererar en utgångsspänning som ibland kallas hallspänning för att indikera närvaron av magnetfältet.

Halleffektsensor

Hall-sensorer blir mycket populära på grund av sin mångsidighet och de används i många olika applikationer. En av de populära tillämpningarna av hallsensorer är i fordonssystem där de används för att upptäcka position, mäta avstånd och hastighet. De används också i moderna apparater som smartphones och datorer och används också i olika typer av brytare där närvaron av ett magnetfält används för att antingen aktivera eller inaktivera en krets.

Hall-sensorer producerar antingen analog eller digital utgång beroende på den specifika sensorn. Oavsett vilken typ kommer de vanligtvis i ett paket med tre stift där ett stift representerar signalen och de andra två ger ström till sensorn. Detta gör det enkelt att ansluta till vilken mikrokontroller som helst.

För dagens handledning kommer vi att demonstrera hur hall-effektsensorn fungerar genom att ansluta den tillsammans med en lysdiod till en Arduino. Arduino kommer att programmeras så att när en magnet förs nära hall-effektsensorn tänds lysdioden och när magneten avlägsnas släcks den.

Bedömda komponenter

Följande komponenter behövs för att bygga det här projektet.

  1. Hall Effect Sensor
  2. Billig Arduino Uno
  3. Breadboard mini
  4. LED
  5. Ledningar
  6. Vajrar
  7. Magneter

Som vanligt kan de exakta komponenterna som används för den här handledningen köpas via länkarna som är bifogade till var och en av de komponenter som anges ovan.

Schematics

Schemat för det här projektet är enkelt, eftersom allt vi behöver göra är att ansluta hallsensorns tre stift och en lysdiod till Arduino. Anslut komponenterna enligt schemat nedan.

Schematics

Anknytningen beskrivs ytterligare nedan för att göra den lätt att följa.

Hallsensor – Arduino

VCC - 5VGND - GNDSIG - D2

LED:n kan anslutas direkt till Arduino med det positiva benet i Arduinos stift 13 och det andra benet i jordstiftet utan motstånd eftersom Arduino har ett internt motstånd kopplat till stift 13.

Med schematiken klar kan vi gå vidare till koden för detta projekt.

Kod

Koden för detta projekt är verkligen enkel, allt vi vill göra som tidigare nämnts är att kontrollera om ett magnetfält känns av och om ja, tänder vi lysdioden, om nej, stänger vi av lysdioden.

För att göra en kort förklaring av koden för det här projektet, är det första vi gör att deklarera stift i Arduino till vilka vår hallsensor och lysdiod är anslutna, varefter vi skapar en variabel ”state” som kommer att lagra värdet från hallsensorn.

 ////////////////////////////////////////////// // HALL EFFECT SENSOR DEMO // // Author: Nick Koumaris //// http://www.educ8s.tv ///////////////////////////////////////////////int hallSensorPin = 2; int ledPin = 13; int state = 0;

Nästan fortsätter vi till void setup-funktionen där vi deklarerar stiftläget för de stift i Arduino till vilka lysdioden och hallsensorn är anslutna.

void setup() { pinMode(ledPin, OUTPUT); pinMode(hallSensorPin, INPUT); }

Nästan är void loop-funktionen, uppgiften här är densamma som om vi vill använda en tryckknapp för att styra en lysdiod med en Arduino emellan. Vi läser utgången från hallsensorn och lagrar den i en variabel som heter state. När värdet är LOW slår vi på lysdioden, HIGH och när värdet är high slår vi på lysdioden Low. Konfigurationen av din hallsensor kan vara annorlunda eftersom sensorn kan slå Hög när ett magnetfält upptäcks. Detta bör bekräftas på sensorns datablad.

void loop(){ state = digitalRead(hallSensorPin); if (state == LOW) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }}

Den fullständiga koden för detta projekt visas nedan och finns även tillgänglig för nedladdning under nedladdningsavsnittet i slutet av denna handledning.

 ////////////////////////////////////////////// // 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

Kopiera koden och ladda upp den till ditt Arduino-kort. Du bör se att lysdioden växlar när en magnet förs nära den som visas i bilden nedan.

Demo

Articles

Lämna ett svar

Din e-postadress kommer inte publiceras.