I sensori Hall sono sensori che producono un segnale elettrico alla sua uscita quando entra in contatto con un campo magnetico. Il valore analogico del segnale elettrico all'uscita del sensore è una funzione dell'intensità del campo magnetico. I sensori Hall sono ovunque in questi giorni, vengono utilizzati per diversi motivi e in tutti i tipi di dispositivi, dai telefoni cellulari agli interruttori, per la misurazione di velocità, posizione e distanza nelle automobili e in altri prodotti dell'industria automobilistica. Questa versatilità del sensore Hall li rende un must per produttori e ingegneri elettrici, ecco perché oggi ci mostrerò come utilizzare un sensore Hall in un progetto basato su Raspberry Pi.
Puoi controllare in qualsiasi momento i nostri altri progetti basati sul sensore Hall, inclusa l'interfacciamento del sensore Hall con Arduino.
Componenti necessari
I seguenti componenti / parti sono necessari per costruire questo progetto;
- Raspberry pi 2 o 3
- Scheda SD (minimo 8 GB)
- Sensore ad effetto hall
- Cavi jumper
- Breadboard
- Cavo LAN
- Fonte di potere
Alcune parti opzionali che possono essere utilizzate includono:
- Tenere sotto controllo
- Tastiera e mouse
- Cavo HDMI
- Dongle Wi-Fi
Questo tutorial sarà basato sul sistema operativo stretch Raspbian, quindi per procedere come al solito presumo che tu abbia familiarità con la configurazione del Raspberry Pi con il sistema operativo stretch Raspbian e che tu sappia come eseguire SSH nel raspberry pi usando un software terminale come putty. Se hai problemi con uno di questi, ci sono tonnellate di tutorial su Raspberry Pi su questo sito Web che possono aiutarti.
Per coloro che installeranno per la prima volta il sistema operativo Raspbian stretch, un problema che ho scoperto, la maggior parte delle persone ha, è entrare nel Raspberry Pi tramite ssh. Va notato che ssh è originariamente disabilitato sul sistema operativo e avrai bisogno di un monitor per abilitarlo, o sotto le opzioni di configurazione di raspberry pi o crei un file vuoto chiamato ssh usando il tuo computer Windows o Linux e copia il file vuoto in la directory principale della scheda SD. Dovrai inserire il carrello SD nello slot per schede SDd del tuo computer per copiarlo.
L'uso del secondo metodo è più adatto a coloro che eseguono il pi greco in modalità senza testa. Con tutte le parti pronte possiamo quindi procedere alla costruzione.
Schema elettrico:
Per utilizzare il sensore ad effetto Hall con Raspberry Pi, collegare i componenti secondo lo schema seguente.
Il sensore Hall utilizzato per questo tutorial può fornire valori sia analogici che digitali in uscita. Ma per semplificare il tutorial, ho deciso di utilizzare il valore digitale perché l'utilizzo dell'uscita analogica richiederà il collegamento di un ADC al Raspberry Pi.
Codice Python e spiegazione di lavoro:
Il codice Python per questo progetto del sensore di hall è molto semplice, tutto ciò che dobbiamo fare è leggere l'output dal sensore di hall e accendere o spegnere il LED di conseguenza. Il LED deve essere acceso se viene rilevato il magnete e deve essere spento altrimenti.
Accendi il tuo Raspberry Pi e SSH usando lo stucco (se connesso in modalità headless come me). Come al solito con la maggior parte dei miei progetti, creo una directory all'interno della home directory in cui è memorizzato tutto ciò che riguarda ogni progetto, quindi per questo progetto creeremo una directory chiamata hall . Si prega di notare che questa è solo una preferenza personale per mantenere le cose organizzate.
Crea la directory usando;
mkdir hallsensor
Cambia directory nella nuova directory appena creata e apri un editor per creare lo script python usando;
cd hallsensor
seguito da;
nano hallsensorcode.py
Una volta che l'editor si apre, digitiamo il codice per il progetto. Farò una breve analisi del codice per mostrare i concetti chiave, dopodiché sarà reso disponibile il codice Python completo.
Iniziamo il codice importando la libreria RPI.GPIO che ci permette di scrivere script python per interagire con i pin GPIO raspberry pi.
importa RPi.GPIO come gpio
Successivamente impostiamo la configurazione della numerazione per il GPIO di Rpi che vorremo utilizzare e disabilitiamo gli avvisi GPIO per consentire l'esecuzione a flusso libero del codice.
gpio.setmode (gpio.BCM) gpio.setwarnings (False)
Impostiamo quindi dichiarare i pin GPIO a cui è collegato il LED e l'uscita digitale del sensore di hall in base alla numerazione BCM selezionata.
hallpin = 2 ledpin = 3
Successivamente, impostiamo i pin GPIO come input o output. Il pin con cui è collegato il LED impostato come uscita e quello a cui è collegato il sensore di hall impostato come ingresso.
gpio.setup (hallpin, gpio.IN) gpio.setup (ledpin, gpio.OUT)
Fatto ciò, scriviamo la parte principale del codice, che è un ciclo while che valuta costantemente l'uscita dal sensore hall e accende il LED se viene rilevato un magnete e spegne il LED quando un magnete non viene rilevato.
while True: if (gpio.input (hallpin) == False): gpio.output (ledpin, True) print ("magnete rilevato") else: gpio.output (ledpin, False) print ("campo magnetico non rilevato")
Il codice Python completo con il video dimostrativo è fornito alla fine del progetto.
Copia e salva il codice ed esci dall'editor dopo averlo digitato utilizzando;
CTRL + X seguito da y .
Dopo aver salvato, ripassare le connessioni ed eseguire lo script python usando;
sudo python hallsensorcode.py
Con lo script in esecuzione, ogni volta che un magnete o qualcosa di magnetico viene avvicinato al sensore di hall, il LED si accende come mostrato nell'immagine qui sotto.
Dagli interruttori a lamella per una casa intelligente ai tachimetri per una bicicletta, ci sono diversi oggetti fantastici che possono essere costruiti con questo tutorial alla base. Sentiti libero di condividere qualsiasi progetto che intendi realizzare nella sezione commenti qui sotto.
Tutti controllano i nostri precedenti progetti basati su sensori di hall:
- Tachimetro fai-da-te utilizzando Arduino e l'elaborazione dell'app Android
- Contachilometri digitale e circuito contachilometri utilizzando microcontrollore PIC
- Realtà virtuale utilizzando Arduino e Processing
- Misurazione della forza del campo magnetico utilizzando Arduino