Senzorii Hall sunt senzori care produc un semnal electric la ieșire atunci când intră în contact cu un câmp magnetic. Valoarea analogică a semnalului electric la ieșirea senzorului este o funcție a puterii câmpului magnetic. Senzorii Hall sunt peste tot în zilele noastre, sunt folosiți din diferite motive și pentru toate tipurile de dispozitive, de la telefoane mobile la comutatoare, pentru măsurarea vitezei, poziției și distanței în mașini și în alte produse din industria auto. Această versatilitate a senzorului de hală îi face să fie o necesitate pentru producători și ingineri electrici, de aceea astăzi ne vom arăta cum să folosim un senzor de hală într-un proiect bazat pe Raspberry Pi.
Puteți verifica oricând celelalte proiecte bazate pe senzorul nostru Hall, inclusiv interfața senzorului Hall cu Arduino.
Componente necesare
Următoarele componente / piese sunt necesare pentru a construi acest proiect;
- Raspberry pi 2 sau 3
- Card SD (minim 8 GB)
- Senzor de efect Hall
- Sârme de jumper
- Plăci de pâine
- Cablu de retea
- Sursa de putere
Unele părți opționale care pot fi utilizate includ:
- Monitor
- Tastatură și mouse
- Cablu HDMI
- Dongle Wi-Fi
Acest tutorial se va baza pe sistemul de operare stretch Raspbian, așa că, pentru a continua ca de obicei, presupun că sunteți familiarizat cu configurarea Raspberry Pi cu sistemul de operare stretch Raspbian și știți cum să SSH în raspberry pi folosind un software terminal cum ar fi chit. Dacă aveți probleme cu oricare dintre acestea, există o mulțime de tutoriale Raspberry Pi pe acest site web care vă pot ajuta.
Pentru cei care vor instala pentru prima dată sistemul de operare extensibil Raspbian, o problemă pe care am descoperit-o, majoritatea oamenilor o are, este accesarea Raspberry Pi prin ssh. Trebuie remarcat faptul că ssh este inițial dezactivat pe sistemul de operare și veți avea nevoie fie de un monitor pentru a-l activa, fie sub opțiunile de configurare ale raspberry pi, fie creați un fișier gol numit ssh folosind computerul Windows sau Linux și copiați fișierul gol în directorul rădăcină al cardului SD. Va trebui să introduceți coșul SD în slotul cardului SDd al computerului pentru a copia pe el.
Utilizarea celei de-a doua metode este mai potrivită pentru cei care rulează pi în modul fără cap. Cu toate piesele gata, putem trece la construcție.
Diagrama circuitului:
Pentru utilizarea senzorului de efect Hall cu Raspberry Pi, conectați componentele conform schemei de mai jos.
Senzorul Hall utilizat pentru acest tutorial poate furniza atât valori analogice, cât și digitale la ieșire. Dar, pentru a simplifica tutorialul, am decis să folosesc valoarea digitală, deoarece utilizarea ieșirii analogice va necesita conectarea unui ADC la Raspberry Pi.
Codul Python și explicația de lucru:
Codul Python pentru acest proiect Hall Sensor este unul foarte simplu, tot ce trebuie să facem este să citiți de ieșire de la senzor Hall, și activați sau dezactivați LED - ul corespunzător. LED-ul trebuie aprins dacă magnetul este detectat și trebuie oprit în caz contrar.
Porniți Raspberry Pi și SSH în el folosind chit (dacă este conectat în modul fără cap, așa cum sunt eu). Ca de obicei, în majoritatea proiectelor mele, creez un director în directorul de acasă unde este stocat totul despre fiecare proiect, astfel încât pentru acest proiect, vom crea un director numit hall . Vă rugăm să rețineți că aceasta este doar o preferință personală pentru a menține lucrurile organizate.
Creați directorul folosind;
mkdir hallsensor
Schimbați directorul în noul director recent creat și deschideți un editor pentru a crea scriptul python folosind;
cd hallsensor
urmat de;
nano hallsensorcode.py
Odată ce editorul se deschide, tastăm codul pentru proiect. Voi face o scurtă defalcare a codului pentru a arăta conceptele cheie, iar codul complet Python va fi disponibil după aceea.
Începem codul importând biblioteca RPI.GPIO care ne permite să scriem scripturi python pentru a interacționa cu pinii GPIO raspberry pi.
import RPi.GPIO ca gpio
Apoi stabilim configurația de numerotare pentru GPIO-ul Rpi pe care ne va plăcea să o folosim și dezactivăm avertismentele GPIO pentru a permite executarea liberă a codului.
gpio.setmode (gpio.BCM) gpio.setwarnings (Fals)
Apoi stabilim declarați pinii GPIO la care LED-ul și ieșirea digitală a senzorului de hol sunt conectate în conformitate cu numerotarea BCM selectată.
ax = 2 ledpin = 3
Apoi, configurăm pinii GPIO ca intrare sau ieșire. Pinul cu care este conectat LED-ul este setat ca ieșire și cel la care este conectat senzorul de hol setat ca intrare.
gpio.setup (hallpin, gpio.IN) gpio.setup (ledpin, gpio.OUT)
După ce facem acest lucru, scriem partea principală a codului, care este o buclă de timp care evaluează în mod constant ieșirea din senzorul de hol și aprinde LED-ul dacă este detectat un magnet și stinge LED-ul atunci când nu este detectat un magnet.
în timp ce True: if (gpio.input (hallpin) == False): gpio.output (ledpin, True) print („magnet detectat”) altfel: gpio.output (ledpin, False) print („câmp magnetic nu a fost detectat”)
Codul complet Python cu demo Video este dat la sfârșitul proiectului.
Copiați și salvați codul și ieșiți din editor după ce l-ați tastat folosind;
CTRL + X urmat de y .
După salvare, treceți din nou peste conexiunile dvs. și rulați scriptul python folosind;
sudo python hallsensorcode.py
Cu scriptul rulat, ori de câte ori un magnet sau ceva magnetic este apropiat de senzorul de hol, LED-ul se aprinde așa cum se arată în imaginea de mai jos.
De la comutatoare reed pentru o casă inteligentă la vitezometre pentru o bicicletă, există mai multe lucruri super cool care pot fi construite cu acest tutorial la bază. Simțiți-vă liber să împărtășiți orice proiect pe care intenționați să-l construiți în secțiunea de comentarii de mai jos.
Toți verificați proiectele noastre anterioare bazate pe senzori de sală:
- Vitezometru DIY utilizând aplicația Android Arduino și Processing
- Vitezometru digital și circuit de kilometraj folosind microcontrolerul PIC
- Realitate virtuală folosind Arduino și Procesare
- Măsurarea puterii câmpului magnetic folosind Arduino