Hall-sensorer er sensorer, der producerer et elektrisk signal ved udgangen, når det kommer i kontakt med et magnetfelt. Den analoge værdi af det elektriske signal ved sensorens output er en funktion af magnetfeltets styrke. Hall-sensorer er overalt i disse dage, de bruges af forskellige årsager og i alle slags enheder fra mobiltelefoner til switche til måling af hastighed, position og afstand i biler og i andre bilindustribaserede produkter. Denne alsidighed med hallsensor gør dem til et must for producenter og elektroteknikere, hvorfor jeg i dag viser os, hvordan vi bruger en Hall-sensor i et Raspberry Pi-baseret projekt.
Du kan når som helst tjekke vores andre Hall Sensor-baserede projekter, herunder grænseflade mellem hallsensor og Arduino.
Nødvendige komponenter
Følgende komponenter / dele er nødvendige for at bygge dette projekt;
- Hindbær pi 2 eller 3
- SD-kort (8 GB minimum)
- Hall-effekt-sensor
- Jumper ledninger
- Brødbrædder
- LAN-kabel
- Strømkilde
Nogle valgfrie dele, der kan bruges, inkluderer:
- Overvåge
- Tastatur og mus
- HDMI-kabel
- Wi-Fi-dongle
Denne vejledning vil være baseret på Raspbian stretch OS, så for at fortsætte som normalt vil jeg antage, at du er fortrolig med at opsætte Raspberry Pi med Raspbian stretch OS, og du ved, hvordan man SSH ind i hindbær pi ved hjælp af en terminalsoftware som kitt. Hvis du har problemer med noget af dette, er der masser af Raspberry Pi-vejledninger på dette websted, der kan hjælpe.
For dem der vil installere Raspbian stretch OS for første gang, er et problem, jeg har opdaget, som de fleste mennesker har, at komme ind i Raspberry Pi via ssh. Det skal bemærkes, at ssh oprindeligt er deaktiveret på operativsystemet, og du skal enten bruge en skærm for at aktivere det, eller under raspberry pi's konfigurationsindstillinger, eller du opretter en tom fil med navnet ssh ved hjælp af din Windows- eller Linux-computer og kopierer den tomme fil til rodmappen på SD-kortet. Du bliver nødt til at indsætte SD-vognen i SDd-kortsporet på din computer for at kopiere til den.
Brug af den anden metode er mere egnet til dem, der kører pi i hovedløs tilstand. Med alle delene klar kan vi derefter fortsætte med at bygge.
Kredsløbsdiagram:
For at bruge Hall-effektsensor med Raspberry Pi, tilslut komponenterne i henhold til skemaet nedenfor.
Hall-sensoren, der bruges til denne tutorial, kan give både analoge og digitale værdier ved udgangen. Men for at forenkle vejledningen besluttede jeg at bruge den digitale værdi, fordi brug af den analoge udgang kræver tilslutning af en ADC til Raspberry Pi.
Python-kode og arbejdsforklaring:
Den Python-koden til dette Hall Sensor projekt er en meget simpel en, alt vi skal gøre, er at læse outputtet fra hallen sensor, og tænde eller slukke LED i overensstemmelse hermed. LED'en skal tændes, hvis magneten detekteres, og den ellers skal slukkes.
Tænd din Raspberry Pi og SSH til den ved hjælp af kitt (hvis den er tilsluttet i hovedløs tilstand som jeg er). Som sædvanlig med de fleste af mine projekter opretter jeg en mappe inde i hjemmekataloget, hvor alt om hvert projekt er gemt, så til dette projekt opretter vi en mappe kaldet hall . Bemærk, at dette kun er en personlig præference for at holde tingene organiseret.
Opret biblioteket ved hjælp af;
mkdir hallsensor
Skift mappe til den nye mappe, der lige er oprettet, og åbn en editor for at oprette python-scriptet ved hjælp af;
cd hallsensor
efterfulgt af;
nano hallsensorcode.py
Når editoren åbner, skriver vi koden til projektet. Jeg vil lave en kort opdeling af koden for at vise nøglebegreber, og den komplette pythonkode vil blive gjort tilgængelig efter det.
Vi starter koden ved at importere RPI.GPIO-biblioteket, som giver os mulighed for at skrive python-scripts for at interagere med hindbær pi GPIO-benene.
importer RPi.GPIO som gpio
Dernæst indstiller vi nummereringskonfigurationen for RPIs GPIO, som vi gerne vil bruge og deaktivere GPIO-advarsler for at tillade fri flowudførelse af koden.
gpio.setmode (gpio.BCM) gpio.setwarnings (Falsk)
Vi indstiller derefter deklarerer GPIO-ben, hvortil LED og den digitale udgang fra hallsensoren er tilsluttet i overensstemmelse med den valgte BCM-nummerering.
hallpin = 2 ledpin = 3
Dernæst opretter vi GPIO-benene som input eller output. Stiften, som LED'en er forbundet med, indstilles som output, og den, som hallsensoren er tilsluttet, indstilles som input.
gpio.setup (hallpin, gpio.IN) gpio.setup (ledpin, gpio.OUT)
Når det er gjort, skriver vi hoveddelen af koden, som er en stund- løkke, der konstant evaluerer output fra hallsensoren og tænder lysdioden, hvis en magnet registreres og slukker lysdioden, når en magnet ikke detekteres.
mens True: hvis (gpio.input (hallpin) == False): gpio.output (ledpin, True) print ("magnet detekteret") andet: gpio.output (ledpin, False) print ("magnetfelt ikke detekteret")
Den komplette pythonkode med demo-video gives i slutningen af projektet.
Kopier og gem koden, og afslut editoren, når du har skrevet den ved hjælp af;
CTRL + X efterfulgt af y .
Efter at have gemt, skal du gå igen over dine forbindelser og køre python-scriptet ved hjælp af;
sudo python hallsensorcode.py
Når scriptet kører, hver gang en magnet eller noget magnetisk bringes tæt på hallsensoren, lyser LED'en som vist på billedet nedenfor.
Fra reed-switches til et smart hjem til speedometers til en cykel er der flere super seje ting, der kan bygges med denne tutorial i bunden. Del gerne ethvert projekt, du planlægger at bygge, i kommentarfeltet nedenfor.
Se alle vores tidligere hallsensorbaserede projekter:
- DIY Speedometer ved hjælp af Arduino og Processing Android App
- Digital hastighedsmåler og kilometertællerkredsløb ved hjælp af PIC Microcontroller
- Virtual Reality ved hjælp af Arduino og Processing
- Måling af magnetisk feltstyrke ved hjælp af Arduino