In diesem Build erkunden wir, wie man mit der CodeCell weißes Licht erkennt und die Helligkeit von LEDs automatisch anpasst. Dieses Projekt demonstriert den integrierten Lichtsensor der CodeCell und hilft Ihnen, reaktionsschnelle Lichteffekte zu erzeugen, die sich an wechselnde Lichtverhältnisse anpassen.
Die CodeCell verfügt über einen integrierten VCNL4040-Sensor, der sowohl Lichtstärke als auch Nähe bis zu 20 cm messen kann. Dieser Sensor verwendet I2C-Kommunikation und kommuniziert mit dem ESP32 in der CodeCell -Bibliothek, wo der Sensor automatisch initialisiert wird, um seine Sensorauflösung zu optimieren. Dies macht die Einrichtung unkompliziert, sodass Sie sich auf die Erstellung Ihres Projekts konzentrieren können.
Der VCNL4040-Sensor auf der CodeCell kann sowohl Umgebungslicht als auch Weißlicht erfassen, wobei jeder Sensor unterschiedliche Zwecke erfüllt:
In diesem Projekt verwenden wir die Weißlichtsensorfunktion, um die LED-Helligkeit basierend auf den erkannten Weißlichtstärken direkt zu beeinflussen und so im Vergleich zur allgemeinen Umgebungslichtsensorik eine gezieltere Reaktion zu erzielen.
In diesem Beispiel misst die CodeCell kontinuierlich das weiße Umgebungslicht und passt die Helligkeit einer integrierten LED basierend auf der erkannten Lichtstärke an. Wenn der Raum dunkler wird, wird die LED gedimmt und sorgt so für einen sanften Übergang, den Sie für Ihre eigenen Beleuchtungsprojekte optimieren und anpassen können.
Unten finden Sie den Beispielcode, der Ihnen den Einstieg erleichtert. Stellen Sie sicher, dass Ihre CodeCell richtig verbunden ist, und befolgen Sie die Kommentare im Code, um jeden Schritt zu verstehen.
#include <CodeCell.h>
CodeCell myCodeCell;
void setup() {
Serial.begin(115200); // Set Serial baud rate to 115200. Ensure Tools/USB_CDC_On_Boot is enabled if using Serial.
myCodeCell.Init(LIGHT); // Initialisiert die Lichterkennung.
}
void schleife() {
delay(100); // Kleine Verzögerung – Sie können sie entsprechend anpassen
// Weißes Licht vom Sensor lesen und Helligkeit für 8-Bit anpassen
uint16_t Helligkeit = (myCodeCell.Light_WhiteRead()) >> 3;
Serial.println(Helligkeit); // Drucke den Helligkeitswert zum Debuggen auf den seriellen Monitor.
// Begrenzen Sie die Sensorwerte auf den Helligkeitsbereich der LED (1 bis 254)
wenn (Helligkeit == 0U) {
Helligkeit = 1U; // Stellen Sie eine Mindesthelligkeit ein, um ein vollständiges Ausschalten der LED zu vermeiden
} sonst wenn (Helligkeit > 254U) {
Helligkeit = 254U; // Begrenzen Sie die Helligkeit auf das maximale Niveau der LED
}
Helligkeit = 255U - Helligkeit; //Kehre die Helligkeit um, sodass die LED dunkler wird, wenn sie heller wird
myCodeCell.LED(0, 0, Helligkeit); // Lasse die integrierte blaue RGB-LED mit der neu eingestellten Helligkeit leuchten
}
myCodeCell.LED()
können Sie RGB-Werte angeben. Experimentieren Sie mit verschiedenen Farben je nach Lichtstärke.Dieses Projekt ist nur der Ausgangspunkt für die Nutzung der Lichtsensorfunktionen von CodeCell . Tauchen Sie ein in den Code, machen Sie ihn zu Ihrem eigenen und bringen Sie Licht in Ihr nächstes Projekt!
Erfahren Sie als Erster von neuen Projekten und sichern Sie sich spannende Angebote!
© 2024 Microbots.