Sensori con Arduino

Sensore di campo magnetico lineare ad effetto Hall

Sensore di campo magnetico lineare ad effetto Hall - Sensori con Arduino

Descrizione

I sensori magnetici ad effetto Hall sono strumenti versatili e disponibili in diverse tipologie, tra cui lineari, unipolari e bipolari. Ogni tipo ha applicazioni specifiche, ma i sensori lineari ad effetto Hall sono particolarmente apprezzati per la loro capacità di misurare l’intensità dei campi magnetici.

In questa guida, scoprirai come utilizzare un sensore Hall lineare con Arduino, passando attraverso ogni fase del processo: dal collegamento del sensore alla scheda, alla scrittura dello sketch per acquisire dati sul campo magnetico. Con questo sensore, non solo puoi rilevare la presenza di un campo magnetico, ma anche misurarne l'intensità e la polarità, aprendo nuove possibilità per progetti sempre più interessanti.

Scarica le risorse

Progetto: Sensore Hall lineare

Schema

Componenti

Codice

#define ANALOG_PIN A0#define DIGITAL_PIN 2 void setup() {  Serial.begin(9600);  pinMode(DIGITAL_PIN, INPUT);} void loop() {  int analogValue = analogRead(ANALOG_PIN);  int digitalValue = digitalRead(DIGITAL_PIN);   Serial.print("A: ");  Serial.print(analogValue);  Serial.print("\t\tD: ");  Serial.println(digitalValue ? "HIGH" : "LOW");  delay(100);}
scarica il file

Progetto: Misurazione del campo magnetico

Schema

Componenti

Codice

#include <LiquidCrystal_I2C.h> #define ANALOG_PIN A0 LiquidCrystal_I2C lcd(0x27162); void setup() {  lcd.init();  lcd.backlight();} void loop() {  int analogValue = analogRead(ANALOG_PIN);  int gauss = map(analogValue, 205819-10001000);   lcd.clear();  printCentered("SENSORE HALL"0);  printCentered(String(gauss) + " Gauss"1);  delay(200);} void printCentered(String text, int row) {  lcd.setCursor((16 - text.length()) / 2, row);  lcd.print(text);}
scarica il file

Progetto: Rilevamento dei poli magnetici

Schema

Componenti

Codice

#include <LiquidCrystal_I2C.h> #define ANALOG_PIN A0#define N_LED_PIN 8#define S_LED_PIN 7#define N_TRESHOLD 480#define S_TRESHOLD 540 LiquidCrystal_I2C lcd(0x27162); void setup() {  lcd.init();  lcd.backlight();  pinMode(N_LED_PIN, OUTPUT);  pinMode(S_LED_PIN, OUTPUT);} void loop() {  int analogValue = analogRead(ANALOG_PIN);   digitalWrite(N_LED_PIN, analogValue < N_TRESHOLD);  digitalWrite(S_LED_PIN, analogValue > S_TRESHOLD);   lcd.clear();  printCentered("CAMPO MAGNETICO"0);  if (analogValue < N_TRESHOLD) {    printCentered("NORD"1);  } else if (analogValue > S_TRESHOLD) {    printCentered("SUD"1);  } else {    printCentered("---"1);  }  delay(200);} void printCentered(String text, int row) {  lcd.setCursor((16 - text.length()) / 2, row);  lcd.print(text);}
scarica il file

Arduino Software Hero

Vuoi imparare a programmare Arduino, ma non sai da dove cominciare?

Iscriviti al corso online

Libri consigliati

In qualità di Affiliato Amazon riceviamo un guadagno dagli acquisti idonei


Tutorial consigliati

E-commerce di elettronica

Sul nostro negozio online trovi tutti i componenti usati nei tutorial.
Inoltre hai un'ampia scelta di prodotti tra:

  • Arduino
  • Raspberry Pi
  • Sensori
  • Robotica
  • Componenti elettronici
  • Accessori

Compra online, ricevi comodamente a casa

Visita il negozio