Mit dem Linearen Hall Sensor können wir messen ob sich ein Magnet in der nähe Befindet. Wie genau der Hall Sensor und der Hall Effeckt könnt ihr hier nachlesen, das ist uns dann doch etwas zu Physisch. Trotzdem können wir die Hall Sonde für tolle Sachen nutzen und das nicht nur um ein Magnetfeld zu messen. Da wir messen können ob ein Magnet in der nähe ist bzw. wie weit ein Magnet entfernt ist lässt sich damit z.B. Messen ob ein Fenster oder eine Tür geöffnet oder geschlossen ist. Alles was es dafür noch braucht ist ein Magnet auf der Gegenseite.
Zum Anschließen, für dieses Projekt brauchst du einen angeschlossenen MCP3008.
Pi/MCP3008 | Sensor |
---|---|
CH0 | AO |
GND Pi | G |
+ Pi | 5V |
GPIO 16 | DO |
Python
import spidev
import time
import os
import RPi.GPIO as gpio
digital = 16
gpio.setmode(gpio.BCM)
gpio.setup(digital, gpio.IN)
# SPI Verbindung herstellen
spi = spidev.SpiDev()
spi.open(0,0)
# Liest Daten vom MCP3008
def analogEingang(channel):
adc = spi.xfer2([1,(8+channel)<<4,0])
data = ((adc[1]&3) << 8) + adc[2]
return data
while True:
print("AO: "+str(analogEingang(0)))
print("DO: "+str(gpio.input(digital)))
time.sleep(0.2)
Wenn ihr einen Magnet nun in die nähe Bewegt, sollte sich die Messwerte verändern. Dazu sollte die LED auf dem Sensor aufblinken.