Hallsensoren sind Sensoren, die an ihrem Ausgang ein elektrisches Signal erzeugen, wenn sie mit einem Magnetfeld in Kontakt kommen. Der Analogwert des elektrischen Signals am Ausgang des Sensors ist eine Funktion der Stärke des Magnetfeldes. Hallsensoren sind heutzutage allgegenwärtig. Sie werden aus verschiedenen Gründen und in allen Arten von Geräten eingesetzt, von Mobiltelefonen bis zu Schaltern, zur Messung von Geschwindigkeit, Position und Entfernung in Autos und anderen Produkten der Automobilindustrie. Diese Vielseitigkeit des Hallsensors macht sie zu einem Muss für Hersteller und Elektrotechniker. Deshalb zeige ich uns heute, wie man einen Hallsensor in einem Raspberry Pi-basierten Projekt verwendet.
Sie können jederzeit unsere anderen auf Hallsensoren basierenden Projekte überprüfen, einschließlich der Schnittstelle des Hallsensors mit Arduino.
Erforderliche Komponenten
Die folgenden Komponenten / Teile sind erforderlich, um dieses Projekt zu erstellen.
- Himbeer pi 2 oder 3
- SD-Karte (mindestens 8 GB)
- Hall-Effekt-Sensor
- Überbrückungsdrähte
- Steckbretter
- LAN-Kabel
- Energiequelle
Einige optionale Teile, die verwendet werden können, umfassen:
- Monitor
- Tastatur und Maus
- HDMI Kabel
- Wi-Fi Dongle
Dieses Tutorial basiert auf dem Raspbian-Stretch-Betriebssystem. Um wie gewohnt fortzufahren, gehe ich davon aus, dass Sie mit dem Einrichten des Raspberry Pi mit dem Raspbian-Stretch-Betriebssystem vertraut sind und wissen, wie Sie mit einer Terminalsoftware wie Putty SSH in den Raspberry-Pi einfügen. Wenn Sie Probleme damit haben, finden Sie auf dieser Website unzählige Raspberry Pi-Tutorials, die Ihnen helfen können.
Für diejenigen, die das Raspbian Stretch OS zum ersten Mal installieren, ist ein Problem, das ich bei den meisten Menschen entdeckt habe, der Einstieg in den Raspberry Pi über ssh. Es ist zu beachten, dass ssh ursprünglich auf dem Betriebssystem deaktiviert ist und Sie entweder einen Monitor benötigen, um es zu aktivieren, oder unter den Konfigurationsoptionen des Himbeer-Pi, oder Sie erstellen eine leere Datei mit dem Namen ssh unter Verwendung Ihres Windows- oder Linux-Computers und kopieren die leere Datei in das Stammverzeichnis der SD-Karte. Sie müssen den SD-Wagen in den SDd-Kartensteckplatz Ihres Computers einlegen, um ihn darauf kopieren zu können.
Die Verwendung der zweiten Methode eignet sich besser für Benutzer, die den Pi im Headless-Modus ausführen. Wenn alle Teile fertig sind, können wir mit dem Bau fortfahren.
Schaltplan:
Wenn Sie einen Hall-Effekt-Sensor mit Raspberry Pi verwenden möchten, schließen Sie die Komponenten gemäß dem folgenden Schema an.
Der in diesem Lernprogramm verwendete Hallsensor kann sowohl analoge als auch digitale Werte am Ausgang liefern. Um das Tutorial zu vereinfachen, habe ich mich für den digitalen Wert entschieden, da für die Verwendung des analogen Ausgangs ein ADC an den Raspberry Pi angeschlossen werden muss.
Python-Code und Funktionserklärung:
Der Python-Code für dieses Hallsensor-Projekt ist sehr einfach. Wir müssen lediglich die Ausgabe des Hallsensors lesen und die LED entsprechend ein- oder ausschalten. Die LED ist einzuschalten, wenn der Magnet erkannt wird, und andernfalls auszuschalten.
Schalten Sie Ihren Raspberry Pi und SSH mit Putty ein (wenn Sie wie ich im Headless-Modus verbunden sind). Wie bei den meisten meiner Projekte üblich, erstelle ich ein Verzeichnis im Home-Verzeichnis, in dem alles über jedes Projekt gespeichert ist. Für dieses Projekt erstellen wir ein Verzeichnis namens hall . Bitte beachten Sie, dass dies nur eine persönliche Präferenz ist, um die Dinge organisiert zu halten.
Erstellen Sie das Verzeichnis mit;
mkdir hallsensor
Wechseln Sie in das neu erstellte Verzeichnis und öffnen Sie einen Editor, um das Python-Skript mit zu erstellen.
CD Hallsensor
gefolgt von;
nano hallsensorcode.py
Sobald der Editor geöffnet ist, geben wir den Code für das Projekt ein. Ich werde den Code kurz aufschlüsseln, um die wichtigsten Konzepte zu zeigen, und danach wird der vollständige Python-Code zur Verfügung gestellt.
Wir beginnen den Code mit dem Import der RPI.GPIO-Bibliothek, mit der wir Python-Skripte schreiben können, um mit den Himbeer-Pi-GPIO-Pins zu interagieren.
importiere RPi.GPIO als gpio
Als nächstes legen wir die Nummerierungskonfiguration für das GPIO des RPI fest, das wir verwenden möchten, und deaktivieren die GPIO-Warnungen, um die Ausführung des Codes im freien Fluss zu ermöglichen.
gpio.setmode (gpio.BCM) gpio.setwarnings (False)
Anschließend setzen wir die GPIO-Pins, an die die LED und der digitale Ausgang des Hallsensors angeschlossen sind, gemäß der ausgewählten BCM-Nummerierung.
Hallpin = 2 Ledpin = 3
Als nächstes richten wir die GPIO-Pins als Ein- oder Ausgang ein. Der Pin, mit dem die LED verbunden ist, wird als Ausgang und der Pin, mit dem der Hallsensor verbunden ist, als Eingang festgelegt.
gpio.setup (hallpin, gpio.IN) gpio.setup (ledpin, gpio.OUT)
Damit schreiben wir den Hauptteil des Codes, eine while- Schleife, die ständig die Ausgabe des Hallsensors auswertet und die LED einschaltet, wenn ein Magnet erkannt wird, und die LED ausschaltet, wenn ein Magnet nicht erkannt wird.
while True: if (gpio.input (hallpin) == False): gpio.output (ledpin, True) print ("Magnet erkannt") else: gpio.output (ledpin, False) print ("Magnetfeld nicht erkannt")
Der vollständige Python-Code mit Demo-Video wird am Ende des Projekts angegeben.
Kopieren und speichern Sie den Code und beenden Sie den Editor, nachdem Sie ihn mit eingegeben haben.
STRG + X gefolgt von y .
Gehen Sie nach dem Speichern noch einmal Ihre Verbindungen durch und führen Sie das Python-Skript mit aus.
sudo python hallsensorcode.py
Wenn das Skript ausgeführt wird, leuchtet die LED wie in der Abbildung unten gezeigt auf, wenn ein Magnet oder ein Magnet in die Nähe des Hallsensors gebracht wird.
Von Reed-Schaltern für ein Smart Home bis hin zu Tachometern für ein Fahrrad gibt es einige super coole Sachen, die mit diesem Tutorial an der Basis gebaut werden können. Sie können jedes Projekt, das Sie erstellen möchten, im Kommentarbereich unten teilen.
Alle überprüfen unsere vorherigen Hall-Sensor-basierten Projekte:
- DIY Tachometer mit Arduino und Verarbeitung Android App
- Digitaler Tachometer und Kilometerzähler mit PIC-Mikrocontroller
- Virtuelle Realität mit Arduino und Verarbeitung
- Messung der Magnetfeldstärke mit Arduino