Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
TSL45315 ist ein digitaler Umgebungslichtsensor. Es nähert sich der Reaktion des menschlichen Auges unter einer Vielzahl von Lichtverhältnissen an. Die Geräte verfügen über drei wählbare Integrationszeiten und stellen über eine I2C-Bus-Schnittstelle eine direkte 16-Bit-Luxausgabe zur Verfügung. Das Gerät enthält ein Photodiodenarray, einen integrierenden Analog-Digital-Wandler (ADC), eine Signalverarbeitungsschaltung, eine Lux-Berechnungslogik und eine serielle I2C-Schnittstelle auf einer einzigen integrierten CMOS-Schaltung, um Lux-Daten bereitzustellen. Hier ist seine Demonstration mit Arduino Nano.
Schritt 1: Was Sie brauchen.
1. Arduino Nano
2. TSL45315
3. I²C-Kabel
4. I²C-Schild für Arduino Nano
Schritt 2: Verbindung:
Nehmen Sie ein I2C-Shield für Arduino Nano und schieben Sie es vorsichtig über die Pins von Nano.
Verbinden Sie dann das eine Ende des I2C-Kabels mit dem TSL45315-Sensor und das andere Ende mit der I2C-Abschirmung.
Die Anschlüsse sind im Bild oben dargestellt.
Schritt 3: Code:
Der Arduino-Code für TSL45315 kann von unserem GitHub-Repository-Dcube Store heruntergeladen werden.
Hier der Link dazu:
github.com/DcubeTechVentures/TSL45315…
Wir binden die Bibliothek Wire.h ein, um die I2c-Kommunikation des Sensors mit dem Arduino-Board zu erleichtern.
Sie können den Code auch von hier kopieren, er wird wie folgt angegeben:
// Wird mit einer frei wählbaren Lizenz vertrieben.
// Verwenden Sie es, wie Sie wollen, gewinnbringend oder kostenlos, sofern es in die Lizenzen der zugehörigen Werke passt.
// TSL45315
// Dieser Code wurde entwickelt, um mit dem TSl45315_I2CS I2C Mini-Modul zu arbeiten, das im Dcube Store erhältlich ist.
#enthalten
// TSL45315 I2C-Adresse ist 0x29(41)
#define Addr 0x29
Void-Setup ()
{
// I2C-Kommunikation als MASTER initialisieren
Wire.begin();
// Serielle Kommunikation initialisieren, Baudrate = 9600. einstellen
Serial.begin (9600);
// I2C-Übertragung starten
Wire.beginTransmission(Addr);
// Steuerregister auswählen
Wire.write (0x80);
// Normale Operation
Wire.write (0x03);
// I2C-Übertragung stoppen
Wire.endTransmission();
// I2C-Übertragung starten
Wire.beginTransmission(Addr);
// Konfigurationsregister auswählen
Wire.write (0x81);
// Multiplikator 1x, Farbton: 400ms
Wire.write (0x00);
// I2C-Übertragung stoppen
Wire.endTransmission();
Verzögerung (300);
}
Leere Schleife ()
{
unsignierte int-Daten[2];
// I2C-Übertragung starten
Wire.beginTransmission(Addr);
// Datenregister auswählen
Wire.write (0x84);
// I2C-Übertragung stoppen
Wire.endTransmission();
// 2 Byte Daten anfordern
Wire.requestFrom(Addr, 2);
// 2 Byte Daten lesen
// Luminanz lsb, Luminanz msb
if(Draht.verfügbar() == 2)
{
data[0] = Wire.read();
data[1] = Wire.read();
}
// Konvertieren Sie die Daten
Float-Luminanz = data[1] * 256 + data[0];
// Daten an Serial Monitor ausgeben
Serial.print ("Helligkeit des Umgebungslichts:");
Serial.print (Luminanz);
Serial.println("lux");
Verzögerung (300);
}
Schritt 4: Anwendungen:
Der große Dynamikbereich des Umgebungslichtsensors macht ihn besonders bei Außenanwendungen nützlich, wo er direkter Sonneneinstrahlung ausgesetzt ist. Das Gerät ist ideal für den Einsatz bei der automatischen Steuerung von Straßenbeleuchtung und Sicherheit, Plakaten und Fahrzeugbeleuchtung. Die TSL45315-Geräte können auch in Festkörper- und Allgemeinbeleuchtung zur automatischen Steuerung und Tageslichtnutzung verwendet werden, um die Energieeinsparung zu maximieren. Andere Anwendungen umfassen die Steuerung der Display-Hintergrundbeleuchtung, um die Akkulaufzeit zu verlängern und die Sichtbarkeit in Mobiltelefonen, Tablets und Notebooks zu optimieren.