5.2 Lichtsteuerungssystem

5.2.1 Fotozellen-Sensor

Öffnen Sie den Code 5.2.1Photocell-sensor mit Arduino IDE.

#define PhotocecllPin 34  //Fotozellen-Pin definieren

void setup() {
  //Seriellen Port initialisieren
  Serial.begin(9600);
  //Pin in den Eingangsmodus setzen
  pinMode(PhotocecllPin,INPUT);
}

void loop() {
  //Wert des Fotowiderstands lesen
  int ReadValue = analogRead(PhotocecllPin);
  //Wert ausgeben. HINWEIS: Das ESP32-Board ist ein 12-Bit-ADC, dessen Erfassungsbereich zwischen 0 und 4095 liegt.
  Serial.print("Photocecll value: ");
  Serial.println(ReadValue);
  delay(500);
}

Wählen Sie das Board ESP32 Dev Module und den COM-Port und laden Sie den Code hoch.

5458448

Testergebnis:

Öffnen Sie den seriellen Monitor.

Je heller das vom Fotowiderstand erfasste Licht ist, desto größer ist der Wert.

image-20250417112320453

Ein Fotowiderstandsmodul wandelt ein Lichtsignal in ein elektrisches Signal (Spannung, Strom und Widerstand) um. Wenn Licht auf den Fotowiderstand trifft, ist der Widerstand umso kleiner, je stärker das Licht ist, sodass eine größere VCC-Spannung durch den Fotowiderstand fließt.

image

5.2.2 Lichtsteuerungssystem

Öffnen Sie den Code 5.2.2Light-Control-System mit Arduino IDE.

#define PhotocecllPin 34  //Fotozellen-Pin definieren
#define LED           27  //LED-Pin definieren

void setup() {
  //Seriellen Port initialisieren
  Serial.begin(9600);
  //Fotozellen-Pin in den Eingangsmodus setzen
  pinMode(PhotocecllPin,INPUT);
  //LED-Pin in den Ausgangsmodus setzen
  pinMode(LED,OUTPUT);
}

void loop() {
  //Wert des Fotowiderstands lesen
  int ReadValue = analogRead(PhotocecllPin);
  //Wert ausgeben. HINWEIS: Das ESP32-Board ist ein 12-Bit-ADC, dessen Erfassungsbereich zwischen 0 und 4095 liegt.
  Serial.print("Photocecll value: ");
  Serial.println(ReadValue);
  //Bestimmen:
  //Der Wert des Fotowiderstands >= 800, LED schaltet sich aus
  //Der Wert des Fotowiderstands =< 800, LED schaltet sich ein
  if(ReadValue >= 800) {
    digitalWrite(LED,LOW);
    Serial.println("LED OFF");
  }
  else{
    digitalWrite(LED,HIGH);
    Serial.println("LED ON");
  }
  delay(100);
}

Wählen Sie das Board ESP32 Dev Module und den COM-Port und laden Sie den Code hoch.

5458448

Testergebnis:

Wenn der Wert des Fotowiderstands größer als 800 ist (tagsüber), geht die LED aus. Ist der Wert jedoch kleiner als 800, schaltet sich die LED automatisch ein.

flo2

image-20250417113142484