Bewegungsdetektoren
Bewegungsdetektoren, wie ihr Name schon sagt, sind Sensoren, die zur Erfassung von Bewegungen verwendet werden. Sie werden häufig in Sicherheitsalarmen und Bewegungen ausgelöst, die Beleuchtungssysteme ausgelöst werden, können jedoch in Verbindung mit linearen Aktuatoren für eine Vielzahl von kühlen Anwendungen verwendet werden. Eine gemeinsame Anwendung von Lineare Aktuatoren und Bewegungsdetektoren, die zusammen verwendet werden, befinden sich in Spukhäusern, um Sprungschrecken zu erhalten. Zusammen können lineare Aktuatoren und Bewegungsdetektoren auch für eine breite Palette von Heimautomationsprojekten verwendet werden.
Wenn Sie an Bewegungsmelder denken, denken Sie im Allgemeinen über 2 Typen nach:
- Passiv Infrarot - die Veränderungen der Körperwärme (Infrarotenergie) misst, um die Bewegung zu erkennen
- Mikrowelle - die Reflexionen von Objekten unter Verwendung von Mikrowellen misst, um Bewegung zu erkennen
Diese beiden Arten von Bewegungsdetektoren sind am häufigsten, da sie häufig in Anwendungen wie Sicherheitssystemen verwendet werden. Obwohl es viele andere Arten von Bewegungsdetektoren gibt, einschließlich reflektierender Sensoren, die abgeleitete Licht, Vibrationssensoren und Ultraschallsensoren verwenden [1]. Für die Verwendung mit Hobbyisten und DIY -Projekten ist der am häufigsten verfügbare und verwendete Bewegungsdetektor der PIR -Bewegungssensor (PIR) Infrarot (PIR). Aus diesem Grund wird sich der Rest dieses Blogs darauf konzentrieren, wie ein PIR -Bewegungsdetektor mit Ihrem linearen Aktuator verwendet wird. Während jede Art von Sensor unterschiedliche Implementierungen hat, ist ein Großteil der nachstehend beschriebenen, wie ein linearer Aktuator mit einem Bewegungsdetektor für alle Arten von Bewegungsdetektoren ähnlich ist.
Was ist mit Näherungssensoren?
Näherungssensoren sind keine Bewegungsdetektoren, da sie die Nähe eines Objekts und nicht der Bewegung erkennen. Funktionell a Proximity -Sensor Kann Ihnen sagen, wie nahe ein Objekt dem Sensor ist, ob sich das Objekt bewegt oder nicht. Während Bewegungsdetektoren werden nur dann ausgelöst, wenn Bewegung vorhanden ist, unabhängig davon, wie nahe ein Objekt ist. Sie können Näherungssensoren als Bewegungsdetektoren verwenden, wenn sich die Ausgabe der Näherungssensoren ändert, wenn sich ein Objekt oder eine Person vor dem Sensor bewegt. Proximity -Sensoren erkennen jedoch nur, wie nahe das am engste Objekt am Sensor am nächsten liegt. Wenn sich also etwas hinter dem nächsten Objekt bewegen sollte, würde der Näherungssensor diese Bewegung nicht erkennen. Während die Verwendung eines Näherungssensors als Bewegungsdetektor möglich ist, ist dies möglicherweise nicht die beste Lösung für Ihr Design.
Einrichten Ihres PIR -Bewegungsdetektors
Wenn Sie Ihren eigenen Sprung -Scare -Roboter für Halloween entwerfen oder ein weiteres bewegungsempfindliches Projekt im Auge haben, möchten Sie Ihren PIR -Bewegungsdetektor als Eingabebereich verwenden, um festzustellen, wann sich Ihr linearer Aktuator bewegen sollte. Dazu wollen Sie wie einen einen Mikrocontroller verwenden Arduino, um die Ausgabe Ihres PIR -Bewegungsdetektors zu lesen und Ihren linearen Aktuator voranzutreiben. Der Ausgang des PIR -Bewegungsdetektors ähnelt einem einfachen Druckknopf. Wenn Bewegung vorhanden ist, sendet der Sensor ein hohes Signal oder eine Spannung an den Mikrocontroller. Wenn es keine Bewegung gibt, sendet er ein niedriges Signal oder eine Spannung. Möglicherweise möchten Sie Ihren PIR -Sensor auch testen, bevor Sie ihn in Ihr Design einbauen, da einige PIR -Sensoren die Empfindlichkeit des Sensors für eine bessere Leistung anpassen können.
Da Sie nicht wissen, wann jemand Ihren Bewegungsdetektor verhandelt, müssen Sie entweder die Ausgabe des PIR -Sensors in der Hauptschleife Ihres Codes ständig lesen oder externe Interrupts verwenden. Externe Interrupts sind Stifte des Arduino, die eine Spannungsänderung nachweisen, und in unserem Fall kann der Arduino darauf aufmerksam gemacht werden, dass unser PIR -Sensor Bewegung erkannt hat. Abhängig von Ihrer Anwendung ist die entweder Methode zum Lesen der Ausgabe des PIR -Sensors machbar, obwohl letzteres als bewährter Verfahren angesehen wird, da Ihr Code keine vom PIR -Sensor erkannte Bewegung verpasst. Wenn Sie vorhaben, einen externen Interrupt zu verwenden, um eine Änderung aus Ihrem Bewegungsdetektor zu erkennen, müssen Sie das Datenblatt Ihres Arduino konsultieren, um sicherzustellen, welche Stifte Ihres Mikrocontrollers als Interrupt -Stifte verwendet werden können. Wenn nicht, können Sie einfach die Ausgabe des PIR -Sensors an eine der digitalen Eingangsnadeln des Arduino anschließen. Der PIR -Sensor muss auch mit einer geeigneten Stromquelle und einer Gemeinsamkeiten angeschlossen werden.
Bewegungsgesteuerte lineare Aktuator
In beiden folgenden Beispielen steuert der Arduino den linearen Aktuator mit a Kraftfahrer. Um zu lernen, wie man einen linearen Aktuator mit einem Motorfahrer oder anderen Zwischenkomponenten fährt, wie StaffelnSie können unseren Beitrag über überprüfen Wie man einen linearen Aktuator mit einem Arduino steuert. Außerdem verwendet kein Beispiel unten a Feedback Linear Aktuator oder Externe Grenzschalter In ihrem Design, der Ihnen mehr Kontrolle über Ihren Aktuator gibt als ohne. Wenn Sie daran interessiert sind, wie und welche Feedback -Optionen verfügbar sind, können Sie unseren Beitrag zum Thema überprüfen Hier.
Das obige Codebeispiel zeigt, wie ein Interrupt in der Arduino -IDE eingerichtet wird, wobei der Interrupt am steigenden Rand des Spannungsimpulses ausgelöst wird. Sie können Ihren Interrupt so einrichten, dass er an verschiedenen Stellen in einer Spannungsänderung ausgelöst werden soll, und sollten das Datenblatt Ihres Mikrocontrollers konsultieren, um die verfügbaren Optionen zu ermitteln. Sobald Sie einen geeigneten Interrupt -PIN identifiziert und ausgewählt haben, ist der letzte Aspekt, den Sie tun müssen, um Ihren Interrupt einzurichten, Ihre Interrupt -Serviceroutine zu schreiben. Die Interrupt -Service -Routine ist eine einfache Funktion, die der Code jedes Mal ausgeführt wird, wenn der Interrupt ausgelöst wird. In unserem Fall setzt unser Interrupt Service Routine MotionDetektor einfach das Flag -Motiondetiert auf Hoch, wenn der Interrupt ausgelöst wird.
Sobald Ihr Arduino die Ausgabe Ihres PIR -Sensors gelesen hat, entweder durch die Verwendung eines externen Interrupts oder durch einfaches Lesen der Ausgabe hängt die Verwendung dieses Feedbacks, um Ihren linearen Aktuator zu steuern, von Ihrem Design und Ihrer Anwendung ab. Da der PIR -Sensor nur ein binäres Feedback wie einen Druckknopf liefert, ist der Steuerungsgrad über den linearen Aktuator begrenzt. Eine Möglichkeit, den linearen Aktuator mit diesem Feedback zu kontrollieren, besteht darin, den Aktuator zu bewegen, wenn sich die Bewegung erkennt, was bei Anwendungen wie Robotersprung in einem Spukhaus nützlich sein könnte. Der obige Code zeigt, wie Sie dieses Design implementieren können. Sobald das MotionDeted Flag auf hoch eingestellt ist, erweitern wir den linearen Aktuator vorwärts und nach 10 Sekunden wird das Flag auf niedrig zurückgesetzt und der Aktuator zieht sich für die nächste Sprungschreck zurück. Da wir den Bewegungsdetektor nur verwenden, um dem Arduino mitzuteilen, dass jemand da ist, verwenden wir einen Timer, um die Flagge zurückzusetzen und darauf zu warten, dass die nächste Person vorbeikommt.
Eine andere Methode besteht darin, zwischen erweiterten und zurückgezogenen Positionen des linearen Aktuators bei jedem Erkennung von Bewegung umzuschalten, was möglicherweise bei den Anwendungen der Heimautomatisierung hilfreich sein kann. Die Implementierung dieses Ansatzes ist oben gezeigt. In der Interrupt -Service -Routine wird das Flag -MotionDeted jedes Mal umgeschaltet, wenn der PIR -Sensor die Bewegung erkennt. Wenn das Flag auf hoch eingestellt ist, wird der lineare Aktuator verlängert und wenn das Flag auf niedrig eingestellt ist, wird der Aktuator zurückgezogen. Wir haben auch eine weitere Flaggen -Timerflag hinzugefügt, die verwendet wird, nachdem der PIR -Bewegungsdetektor ausgelöst wurde. Dieses Flag ist hoch eingestellt, wenn der Interrupt zum ersten Mal ausgelöst wird und erst nach der entworfenen Zeitverzögerung zugeschickt wird, was in diesem Beispiel eine Minute beträgt. Es wird auch verwendet, um sicherzustellen, dass sichergestellt wird, dass der Wert des Flag -MotionDeted erst nach dieser Zeitverzögerung umgeschaltet wird.
Referenz:
- Tross, K. (2019, Oktober). Der Anfängerleitfaden für Bewegungssensoren. Abgerufen von: https://www.safewise.com/resources/motion-sensor-guide/