Dieser Post ist Teil der Artikelserie über das Ultimate Arduino Sensor Kit mit 37 Sensoren. Das Kit, inklusive beider Sensoren, gibt es hier auf Amazon.
Reed Switches
Ein Reed Switch (auf dem Bild rechts) ist ein Switch, welches bei Kontakt mit einem Magneten öffnet. Es gibt auch Reed Switches die bei Kontakt schließen. Das liegt daran, dass die beiden Kontaktstücke durch den Magneten selbst magnetisch werden, und sich dadurch anziehen:
„Reed-relais-ani“ von Stefan Riepl (Quark48) - Eigenes Werk.. Lizenziert unter Gemeinfrei über Wikimedia Commons.
Dadurch schließt sich der Stromkreis, und Strom kann fließen.
Die Verbindung mit dem Arduino ist einfach: - muss mit dem Ground verbunden werden, S ist der Signalpin, welcher an einen digital Pin des Arduino angeschlossen werden muss, und der mittlere Pin muss mit den +5V des Arduino verbunden werden.
Da ein Reed Switch nur offen (LOW) oder geschlossen (HIGH) sein kann ist das Auslesen sehr einfach. Hier ein Beispielsketch mit einem Reed Switch an Pin 7:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void setup() { | |
Serial.begin(9600); | |
pinMode(7, INPUT); | |
} | |
void loop() { | |
if(digitalRead(7) == HIGH) | |
{ | |
Serial.println("Magnet gefunden!"); | |
} | |
else | |
{ | |
Serial.println("Kein Magnet in der Naehe..."); | |
} | |
delay(100); | |
} |
Hall Sensoren
Ein Hall Sensor (auf dem Bild links) kann, im Gegensatz zu einem Reed Switch, nicht nur feststellen, ob sich ein Magnet in der Nähe befindet, sondern auch, wie stark sein Magnetfeld ist. Die Funktionsweise von Hall Sensoren ist hier sehr gut beschrieben.
Wenn man nun einen Magneten in die Nähe des Sensors bringt, so verringert sich die Spannung am Signal Pin. Das man hier jedoch den Normalwert selbst bestimmen kann, ist der große Vorteil gegenüber einem Reed Switch.
Ein Beispielsketch sähe so aus:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void setup() { | |
Serial.begin(9600); | |
} | |
void loop() { | |
if(analogRead(7) < 890) | |
{ | |
Serial.println("Magnet gefunden!"); | |
} | |
else | |
{ | |
Serial.println("Kein Magnet in der Naehe..."); | |
} | |
delay(100); | |
} |
Keine Kommentare:
Kommentar veröffentlichen
Mit dem Veröffentlichen eines Kommentars erklären Sie sich mit unserer Datenschutzerklärung einverstanden.
https://michaelsarduino.blogspot.de/p/datenschutzerklarung.html