Der APDS-9960 ist ein Sensor der über den I2C Bus mit einem Mikrocontroller wie dem ESP8266 verbunden werden kann.
Mithilfe des Sensors ist es möglich einfache Gesten zu erkennen, die Helligkeit, den Abstand eines Objekts zum Sensor und die Farbe des auf den Sensor treffenden Lichts zu messen.
Die Integration in ESPEasy ist dank des passenden Plugins recht einfach.
Die notwendigen Schritte zur Integration des APDS-9960 in Eure ESPEasy-Instanz sind im folgenden Artikel beschrieben.
Sicherheitshinweise
Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/
Affiliatelinks/Werbelinks
Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂
Voraussetzungen
Hilfreiche Artikel:
Zusätzliche Tipps zum Thema ESPEasy findet Ihr in den folgenden Artikeln.
- ESPEasy – Befehle und Aktionen per HTTP, MQTT, UDP und direkt ausführen
- ESPEasy – Firmware kompilieren, flashen und WLAN Zugangsdaten konfigurieren
- ESPEasy / Wemos D1 Mini – ADC an eine andere Maximalspannungen anpassen
Benötigtes Werkzeug:
Benötigtes Material:
Den APDS-9960 an den ESP8266 anschließen
Der APDS-9960 wird über den I2C Bus mit dem ESP8266 bzw. Wemos D1 Mini verbunden.
Wenn der I2C Bus Standardmäßig konfiguriert ist, könnt Ihr dazu den abgebildeten Schaltplan als Orientierung nutzen.
Konfiguration des APDS-9960 in ESPEasy
Damit der APDS-9960 in ESPEasy konfiguriert werden kann sollte die ESPEasy Firmware schon auf den ESP8266 bzw. ESP32 aufgespielt und erreichbar sein. Informationen dazu findet Ihr auch im Artikel ESPEasy – Firmware kompilieren, flashen und WLAN Zugangsdaten konfigurieren.
Öffnet zunächst die Konfigurationswebseite Eures mit ESPEasy programmierten ESP8266, indem Ihr dessen IP-Adresse in Euren Webbrowser eingebt. Infos dazu wie Ihr die IP-Adresse herausfinden könnt, sind auch im Artikel IP-Adresse der Geräte im Netzwerk anzeigen/herausfinden zusammengefasst.
Sobald Ihr die Konfigurationswebseite geöffnet habt, müsst Ihr auf den “Devices”-Tab wechseln. Klickt dazu auf den “Devices”-Button.
Im “Devices”-Tab müsst Ihr nun auf den “Add”-Button in einer der noch leeren Zeilen klicken.
Ihr werdet dann automatisch zu der dargestellten Ansicht weitergeleitet und…
…könnt hier auswählen, welches Device Ihr erstellen wollt.
Wählt hier den Eintrag
- Gesture – APDS9960 [DEVELOPMENT]
aus.
Sollte der gesuchte Eintrag bei Euch nicht sichtbar sein ist das Plugin in Eurer ESPEasy-Installation nicht enthalten. Eine vorkompilierte binary welche auch dieses Plugin beinhaltet findet Ihr unter folgendem Link.
Dadurch werdet Ihr wieder auf eine Übersichtsseite weitergeleitet.
Hier könnt Ihr Alle Einstellungen bezüglich des APDS-9960 vornehmen.
Wenn Ihr den oben gezeigten Schaltplan genutzt habt, könnt Ihr die abgebildeten Einstellungen so übernehmen.
Wichtig ist, dass Ihr den Haken bei “Force Slow I2C Speed” setzt.
Außerdem müsst Ihr im Abschnitt “Plugin Mode” einstellen ob der Sensor die Gesten, Annäherung und Helligkeitswerte oder die RGB-Farbwerte des auftreffenden Lichts messen soll.
Zur RGB-Farbmessung muss der APDS-9960 also wie links dargestellt konfiguriert werden.
Zur Messung der Gesten- Näherungs- und Helligkeitswerte muss der APDS-9960 dagegen wie hier dargestellt konfiguriert werden.
Ansicht der weiteren Einstellungen im Modus zur Messung der Gesten- Näherungs- und Helligkeitswerte.
Klickt zum übernehmen der Einstellungen auf “Submit”.
Ansicht der weiteren Einstellungen im Modus zur Messung der RGB-Farbmessung
Klickt zum übernehmen der Einstellungen auf “Submit”.
Messwerte des APDS-9960 anzeigen lassen
Nachdem Ihr den APDS-9960 konfiguriert habt könnt Ihr Ihn direkt testen.
In der Übersicht der konfigurierten Devices sind in der Zeile des APDS-9960 auf der rechten Seite die Messwerte zu sehen.
Diese aktualisieren sich spätestens alle 60 Sekunden. Dieses Intervall lässt sich in der Konfiguration des APDS-9960 im Abschnitt “Interval” einstellen.
Falls Ihr den APDS-9960 zuvor auf die Messung der RGB-Farbwerte konfiguriert habt, sieht die Ansicht wie links dargestellt aus.
Helligkeitswert des APDS-9960 mithilfe von Rules nutzen
Wenn Ihr den APDS-9960 im Modus zur Messung der Gesten- Näherungs- und Helligkeitswerte nutzt könnt Ihr den gemessenen Helligkeitswert auch nutzen um zum Beispiel die Helligkeit einer Lampe automatisch an die Umgebungshelligkeit anzupassen. Auch zur Anpassung von Displayhelligkeiten ist dies praktisch, da das Display bei dunkler Umgebungshelligkeit nicht zu hell und bei heller Umgebungshelligkeit nicht zu dunkel dargestellt wird.
Ein Beispiel zur automatischen Nutzung des vom APDS-9960 gemessenen Helligkeitswert findet Ihr in den folgenden Rules. Das dargestellte Beispiel führt dazu, dass die Helligkeit der LEDs welche vom pxlBlck-Plugin angesteuert werden automatisch an die Umgebungshelligkeit angepasst wird.
On gesture#Light do
pbbr,0,[gesture#Light],1,1,15,
endon
Sensordaten per MQTT versenden
Die gesammelten Sensordaten könnt Ihr nun auch per MQTT an Euer SmartHome senden und dort ggf. weiter verarbeiten. Was Ihr dazu konfigurieren müsst ist im folgenden Artikel beschrieben.
Weitere Sensoren zum Anschluss an den ESP8266 / ESP32
Eine Übersicht über weitere Artikel zum Anschluss von Sensoren und Aktoren an ESPEasy findet Ihr in der folgenden Kategorie.
Viel Spaß mit dem Projekt
Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂
P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂