Umgebungslicht messen mit TEMT6000

Einleitung

Das TEMT6000 Ambient Light Sensor Modul ist ein einfaches, aber leistungsfähiges Gerät zur Messung der Umgebungslichtintensität.

Er ist ein Fototransistor, der Licht im sichtbaren Spektrum erkennt. Das bedeutet, dass er ähnlich wie das menschliche Auge reagiert und besonders im Bereich von 570 nm (grünes Licht) empfindlich ist. Er funktioniert ist ähnlich wie ein NPN-Transistor. Wenn Licht auf den Transistor fällt, steigt die Basenstromstärke, was zu einem höheren Stromfluss vom Kollektor zum Emitter führt.
Der Sensor gibt somit ein analoges Signal aus, das proportional zur Lichtintensität ist.
Je mehr Licht auf den Sensor fällt, desto höher ist die Spannung am Ausgang und ist für Anwendungen geeignet, bei denen die Helligkeit der Umgebung gemessen werden muss.

Hardware

Das TEMT6000 Modul hat drei Pins:

  • Out oder SIG: Analoger Daten Pin, Ausgangsspannung des Spannungsteilers
  • GND: GND (Masse)
  • VCC: 5V Spannung

TEMT6000 Datenblatt (PDF)

Verkabelung

  1. Verbinde den Out-Pin mit einem Analogeingang A0 des Mikrocontrollers
  2. Verbinde den GND-Pin mit GND (Masse) des Mikrocontrollers
  3. Verbinde den VCC-Pin mit 5V des Mikrocontrollers

Programmierung

Hier ist ein einfaches Beispiel in Arduino, um die Lichtintensität zu messen:

const int lightSensorPin = A0; // Analog Pin für den Lichtsensor

void setup() {
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(lightSensorPin);
  Serial.println(sensorValue);
  delay(1000);
}

Ergebnis

In der Regel steht eine höhere Spannung am Ausgang des TEMT6000 für eine höhere Lichtintensität, während eine niedrigere Spannung eine geringere Lichtintensität bedeutet.

0 V entspricht einer sehr niedrigen Lichtintensität, also stockduster.
5 V (oder nahe daran) entspricht einer hohen Lichtintensität, also hell.

Der Analog-Digital-Wandler (ADC) des Arduino wandelt die Spannung in einen 10-Bit-Wert um, wobei:

0 V (stockdunkel) einem ADC-Wert von 0 entspricht.
5 V (helles Licht) einem ADC-Wert von 1023 entspricht.

Im Seriellen Monitor sieht man nun, das die niedrigeren Werte dunkler und die höheren Werte hell sind.

Modul steuert Licht

Mit diesem Wissen, wollen wir nun eine LED steuern, die ab einem Helligkeitswert unter „100“ das Licht sich einschaltet. Hier im Experiment lediglich die bereits vorhandene LED (Pin 13) auf dem Arduino.

const int lightSensorPin = A0; // Analog Pin für den Lichtsensor
const int ledPin = 13;         // Digital Pin für die LED

void setup() {
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);   // LED initial ausschalten
}

void loop() {
  int sensorValue = analogRead(lightSensorPin);
  Serial.println(sensorValue);

  if (sensorValue < 100) {
    digitalWrite(ledPin, HIGH); // LED einschalten
  } else {
    digitalWrite(ledPin, LOW);  // LED ausschalten
  }

  delay(1000);
}

Nach dem hochladen auf den Arduino, wird nun beim abdecken des Temt6000 Module die LED eingeschaltet und geht aus sobald es heller wird.

Fazit

Das TEMT6000 Licht Sensor Modul ist ein einfaches Werkzeug für die Messung der Umgebungslichtintensität. Mit seiner einfachen Verkabelung und Programmierung ist es ideal für Einsteiger und fortgeschrittene Projekte.

Das TEMT6000 Modul kann in vielen Projekten verwendet werden, wie z.B.:

DIY-Nachtlichter, Lichtdetektoren für Sicherheitssysteme, Automatische Helligkeitseinstellungen für Display, LED u.s.w.