Hallove snímače sú snímače, ktoré na svojom výstupe vytvárajú elektrický signál, keď prichádzajú do styku s magnetickým poľom. Analógová hodnota elektrického signálu na výstupe zo snímača je funkciou sily magnetického poľa. Hallove senzory sú dnes všade, používajú sa z rôznych dôvodov a vo všetkých druhoch zariadení od mobilných telefónov po prepínače, na meranie rýchlosti, polohy a vzdialenosti v automobiloch a v iných výrobkoch z automobilového priemyslu. Táto všestrannosť Hallovho snímača z nich robí nevyhnutnosť pre výrobcov a elektrotechnikov, preto mi dnes ukážem, ako používať Hallov senzor v projekte založenom na Raspberry Pi.
Kedykoľvek môžete skontrolovať naše ďalšie projekty založené na Hallových senzoroch, vrátane prepojenia Hallového senzora s Arduinom.
Požadované komponenty
Na zostavenie tohto projektu sú potrebné nasledujúce komponenty / súčasti;
- Raspberry pi 2 alebo 3
- SD karta (minimálne 8 GB)
- Hallov snímač
- Prepojovacie vodiče
- Nepájivé pole
- Kábel LAN
- Zdroj energie
Niektoré voliteľné časti, ktoré sa môžu použiť, zahŕňajú:
- Monitor
- Klávesnica a myš
- Kábel HDMI
- Dongle Wi-Fi
Tento tutoriál bude založený na Raspbian stretch OS, takže aby som postupoval ako obvykle, predpokladám, že ste oboznámení s nastavením Raspberry Pi s Raspbian stretch OS a viete, ako SSH do maliny pi používať pomocou terminálového softvéru, ako je tmel. Ak máte problémy s niečím z toho, na tomto webe nájdete množstvo návodov na Raspberry Pi, ktoré vám môžu pomôcť.
Pre tých, ktorí budú inštalovať Raspbian stretch OS prvýkrát, som zistil, že väčšina ľudí má problém s prístupom na Raspberry Pi cez ssh. Je potrebné poznamenať, že ssh je pôvodne v operačnom systéme vypnutý a na jeho povolenie budete potrebovať buď monitor, alebo v rámci možností konfigurácie malinového pi alebo vytvoríte prázdny súbor ssh pomocou počítača so systémom Windows alebo Linux a skopírujete ho do koreňový adresár SD karty. Ak chcete kartu skopírovať, budete musieť vložiť vozík SD do zásuvky na kartu SDd v počítači.
Použitie druhej metódy je vhodnejšie pre tých, ktorí pracujú s pí v bezhlavom režime. Keď sú všetky diely pripravené, môžeme pokračovať v stavbe.
Schéma zapojenia:
Pre použitie senzora Hall efektu s Raspberry Pi pripojte komponenty podľa nižšie uvedenej schémy.
Hallov senzor použitý v tomto výučbe môže na výstupe poskytovať analógové aj digitálne hodnoty. Aby som ale tutoriál zjednodušil, rozhodol som sa použiť digitálnu hodnotu, pretože použitie analógového výstupu bude vyžadovať pripojenie ADC k Raspberry Pi.
Pythonský kód a pracovné vysvetlenie:
Python kód pre tento projekt Hallov snímač je veľmi jednoduchá, všetko, čo potrebujete urobiť, je prečítať výstup z Hallov snímač a zapnúť alebo vypnúť podľa toho LED. LED dióda sa musí rozsvietiť, ak je detekovaný magnet, a inak musí byť vypnutá.
Zapnite doň svoje Raspberry Pi a SSH pomocou tmelu (ak je pripojený v bezhlavom režime ako ja). Ako je zvykom u väčšiny mojich projektov, v domovskom adresári vytvorím adresár, kde je uložené všetko o každom projekte, takže pre tento projekt vytvoríme adresár s názvom hala . Upozorňujeme, že toto je iba osobná preferencia, aby ste mali poriadok.
Vytvorte adresár pomocou;
mkdir hallsensor
Zmeňte adresár na nový priečinok, ktorý ste práve vytvorili, a otvorte editor, pomocou ktorého vytvoríte skript python;
cd hallsensor
nasledovaný;
nano hallsensorcode.py
Po otvorení editora napíšeme kód pre projekt. Urobím krátke rozdelenie kódu, aby som ukázal kľúčové pojmy, a potom bude k dispozícii kompletný kód pythonu.
Kód začneme importom knižnice RPI.GPIO, ktorá nám umožňuje písať skripty pythonu na interakciu s pinmi GPIO maliny pi.
importovať RPi.GPIO ako gpio
Ďalej nastavíme konfiguráciu číslovania pre GPIO Rpi, ktorú budeme chcieť použiť, a vypneme varovania GPIO, aby sme umožnili vykonávanie kódu voľne.
gpio.setmode (gpio.BCM) gpio.setwarnings (False)
Potom nastavíme deklaráciu pinov GPIO, ku ktorým sú pripojené LED a digitálny výstup hallového snímača v súlade s vybraným číslovaním BCM.
hallpin = 2 ledpin = 3
Ďalej sme nastavili piny GPIO ako vstupné alebo výstupné. Pin, s ktorým je pripojená LED, je nastavený na výstup a ten, ku ktorému je pripojený Hallov senzor, je nastavený na vstup.
gpio.setup (hallpin, gpio.IN) gpio.setup (ledpin, gpio.OUT)
Po dokončení napíšeme hlavnú časť kódu, čo je časová slučka, ktorá neustále vyhodnocuje výstup z Hallovho snímača a rozsvieti LED, ak je detekovaný magnet, a zhasne LED, keď nie je detekovaný magnet.
while True: if (gpio.input (hallpin) == False): gpio.output (ledpin, True) print ("magnet zistený") else: gpio.output (ledpin, False) print ("magnetické pole nezistené")
Kompletné python code s demo Video je uvedený na konci projektu.
Skopírujte a uložte kód a po zadaní pomocou zatvorte editor;
CTRL + X a za nimi y .
Po uložení znova prejdite svoje pripojenia a spustite skript python pomocou;
sudo python hallsensorcode.py
Ak je skript spustený, kedykoľvek sa magnet alebo niečo magnetické priblíži k Hallovmu senzoru, rozsvieti sa LED dióda, ako je to znázornené na obrázku nižšie.
Od tohto spínača pre inteligentnú domácnosť až po rýchlomery na bicykel - s týmto tutoriálom v základni je možné zostaviť niekoľko vynikajúcich riešení. V sekcii komentárov nižšie môžete zdieľať akýkoľvek projekt, ktorý plánujete postaviť.
Všetky skontrolujte naše predchádzajúce projekty založené na Hallovom senzore:
- DIY rýchlomer pomocou Arduina a spracovania aplikácie pre Android
- Obvod digitálneho tachometra a počítadla kilometrov pomocou mikrokontroléra PIC
- Virtuálna realita pomocou Arduina a spracovania
- Meranie sily magnetického poľa pomocou Arduina