Inhaltsverzeichnis:

Ein Arduino WiFi-Netzwerk (Sensoren und Aktoren) - der Farbsensor - Gunook
Ein Arduino WiFi-Netzwerk (Sensoren und Aktoren) - der Farbsensor - Gunook

Video: Ein Arduino WiFi-Netzwerk (Sensoren und Aktoren) - der Farbsensor - Gunook

Video: Ein Arduino WiFi-Netzwerk (Sensoren und Aktoren) - der Farbsensor - Gunook
Video: «Grundlagen der Informatik für Schweizer Maturitätsschulen»: Robotik 2024, November
Anonim
Ein Arduino WiFi-Netzwerk (Sensoren und Aktoren) - der Sensor der Farbe
Ein Arduino WiFi-Netzwerk (Sensoren und Aktoren) - der Sensor der Farbe

Wie oft haben Sie in Ihren Anwendungen einen Sensor oder einen Aktor weit entfernt von Ihnen? Wie viel könnte es sein, nur ein Master-Gerät in der Nähe Ihres Computers zu verwenden, um verschiedene Slave-Geräte zu verwalten, die über ein Wi-Fi-Netzwerk verbunden sind?

In diesem Projekt werden wir sehen, wie Sie ein Wi-Fi-Netzwerk konfigurieren, das aus einem Master-Modul und einem oder mehreren Slave-Geräten besteht. Jedes Gerät wird von einem Arduino Nano und einem NRF24L01-Funkmodul angetrieben. Um die Machbarkeit des Projekts zu zeigen, erstellen wir schließlich ein einfaches Netzwerk, in dem ein Slave-Modul eine Farbe erkennen und sein RGB-Modell an das Master-Modul übertragen kann.

Schritt 1: Das Kommunikationsprotokoll

Das Kommunikationsprotokoll
Das Kommunikationsprotokoll
Das Kommunikationsprotokoll
Das Kommunikationsprotokoll

Die Grundidee dieses Projekts ist die Schaffung eines Netzwerks aus Sensormodulen und Aktormodulen, das von einem Mastermodul angetrieben wird, das über eine Wi-Fi-Verbindung mit dem Slave kommuniziert.

Das Master-Modul ist über eine serielle Kommunikation mit dem Computer verbunden und bietet eine kleine Schnittstelle, die es dem Benutzer ermöglicht, die angeschlossenen Geräte zu durchsuchen, eine Liste der möglichen Operationen für jedes Gerät zu erhalten und darauf zu reagieren. Das Master-Modul muss also nicht von vornherein wissen, wie viele und welche Geräte mit dem Netzwerk verbunden sind, sondern ist immer in der Lage, die Geräte zu scannen und zu finden und von ihnen Informationen wie ihre Konfigurationen oder ihre Eigenschaften zu erhalten. Der Benutzer kann jederzeit die Module zum Netzwerk hinzufügen oder daraus entfernen und braucht nur einen neuen Scan des Netzwerks, um mit der Kommunikation mit den neuen Geräten zu beginnen.

In diesem Projekt zeigen wir ein einfaches Beispiel für ein Netzwerk bestehend aus einem Master-Modul und zwei Slaves, das erste ist ein "LED-Modul", oder besser gesagt ein einfaches Modul, das eine LED (rot oder grün) einschalten und ausschalten kann diese LEDs oder senden Informationen über deren Status an den Master. Das zweite ist ein "Sensor Color Module", das mit Hilfe des Farbsensors (TCS3200) in der Lage ist, eine Farbe zu erkennen und sein RGB-Modell zurückzugeben, wenn es einen Befehl von einem Benutzer (über eine Taste) oder eine Anfrage vom Master erhält Modul. Zusammenfassend besteht jedes in diesem Projekt verwendete Gerät aus einem Funkmodul (NRF24L01) und einem Arduino Nano, der das Funkmodul und die anderen einfachen Vorgänge verwaltet. Während das "Led Module" zwei zusätzliche LEDs enthält und das "Sensor Color Module" den Farbsensor und eine Taste enthält.

Schritt 2: Das Master-Modul

Das Master-Modul
Das Master-Modul
Das Master-Modul
Das Master-Modul
Das Master-Modul
Das Master-Modul

Das wichtigste Modul ist wie gesagt das "Master-Modul", das mit einer kleinen intuitiven Oberfläche die Kommunikation zwischen Benutzer- und Slave-Modulen verwaltet, die an das Netzwerk angeschlossen sind.

Die Hardware des Master-Moduls ist einfach und besteht aus wenigen Komponenten, insbesondere gibt es einen Arduino Nano, der die serielle Kommunikation mit dem Computer und damit mit dem Benutzer und die Kommunikation mit den anderen Geräten verwaltet durch das Funkmodul NRF24L01, das über eine SPI-Kommunikation mit dem Arduino-Board verbunden ist. Schließlich gibt es zwei LEDs, die dem Benutzer ein visuelles Feedback zu den vom Modul ein- oder ausgehenden Daten geben.

Die Elektronikplatine des Mastermoduls hat eine relativ kleine Größe von ca. 65x30x25 mm, so dass sie problemlos in eine kleine Box eingesetzt werden kann. Hier die stl-Dateien der Box (oberer und unterer Teil).

Schritt 3: Das LED-Modul

Das LED-Modul
Das LED-Modul

Das "LED-Modul" montiert den Arduino Nano, das NRF24L01-Modul und vier LEDs. Das Arduino- und das NRF24L01-Modul werden verwendet, um die Kommunikation mit dem Master-Modul zu verwalten, während zwei der LEDs verwendet werden, um dem Benutzer ein visuelles Feedback über die ein- und ausgehenden Daten zu geben, und die anderen beiden LEDs werden für den normalen Betrieb verwendet.

Die Hauptaufgabe dieses Moduls besteht darin, anzuzeigen, ob das Netzwerk funktioniert, und ermöglicht dem Benutzer, eine der beiden LEDs ein-, auszuschalten oder ihren aktuellen Status abzurufen. Insbesondere ist dieses Modul eine Art Proof of Concept, oder besser gesagt, wir haben uns entschieden, es zu verwenden, um zu zeigen, wie es möglich ist, mit Aktoren zu interagieren und mit LEDs mit unterschiedlichen Farben ist es möglich, die Funktion des Farbmoduls zu testen.

Schritt 4: Das Farbsensormodul

Das Farbsensormodul
Das Farbsensormodul
Das Farbsensormodul
Das Farbsensormodul
Das Farbsensormodul
Das Farbsensormodul

Dieses letzte Modul ist in Bezug auf das andere etwas komplexer, tatsächlich enthält es die gleiche Hardware wie die anderen (Arduino Nano, NRF24L01-Modul und die beiden visuellen Feedback-LEDs) und andere Hardware zur Erkennung der Farbe und zur Verwaltung des Akkus.

Um eine Farbe zu erkennen und ihr RGB-Modell zurückzugeben, entscheiden wir uns für den TCS3200-Sensor, einen kleinen und kostengünstigen Sensor, der häufig in dieser Art von Anwendungen verwendet wird. Es besteht aus einem Photodiodenarray und einem Strom-Frequenz-Wandler. Das Array enthält 64 Fotodioden, 16 mit Rotfilter, 16 Grünfilter, 16 mit Blaufilter und die letzten 16 sind ohne Filter klar. Alle Fotodioden der gleichen Farbe sind parallel geschaltet und jede Gruppe kann über zwei spezielle Pins (S2 und S3) aktiviert werden. Der Strom-Frequenz-Wandler liefert eine Rechteckwelle mit einem Tastverhältnis von 50 % und einer Frequenz, die direkt proportional zur Lichtintensität ist. Die Full-Scale-Ausgangsfrequenz kann über zwei Steuereingangspins (S0 und S1) auf einen von drei voreingestellten Werten skaliert werden.

Das Modul wird von einem kleinen, zweizelligen Li-Po-Akku (7,4 V) mit Strom versorgt und vom Arduino verwaltet. Insbesondere ist eine der beiden Zellen mit einem analogen Eingang dieser Zelle verbunden, und dies ermöglicht dem Arduino, den Wert der Leistung der Zelle zu lesen. Wenn der Energiepegel der Zelle unter einen bestimmten Wert fällt, schaltet der Arduino zur Schonung der Batterie eine LED ein, die den Benutzer warnt, das Gerät auszuschalten. Um das Gerät ein- oder auszuschalten, gibt es einen Schalter, der den positiven Pin des Akkus mit dem Vin-Pin des Arduino-Boards oder mit einem Anschluss verbindet, der dann vom Benutzer zum Laden des Akkus verwendet werden kann.

Was das Master-Modul betrifft, so hat das Sensor-Farbmodul eine kleine Größe (40x85x30) und wurde in eine 3D-gedruckte Box eingefügt.

Empfohlen: