Arduino Nano - Lichtsensor

Dieses Tutorial zeigt dir, wie du den Lichtsensor mit dem Arduino Nano verwendest. Im Detail:

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×Lichtsensor
1×10 kΩ Resistor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Der LDR-Lichtsensor ist sehr günstig, aber er benötigt einen Widerstand für die Verkabelung, was die Verkabelung komplizierter machen kann. Um die Verkabelung zu vereinfachen, kannst du alternativ ein LDR-Lichtsensor-Modul verwenden.

Über den Lichtsensor

Der in diesem Tutorial verwendete Lichtsensor ist ein Fotowiderstand, auch bekannt als Photocell, lichtabhängiger Widerstand oder LDR.

Es wird nicht nur verwendet, Licht zu erkennen, sondern auch die Helligkeit des Umgebungslichts zu messen.

Pinbelegung des Lichtsensors

Ein Fotowiderstand hat zwei Anschlüsse, die nicht unterschieden werden müssen, da es sich um einen Widerstand handelt und sie symmetrisch sind.

Lichtsensor-Pinbelegung

So funktioniert es

Die Menge an Licht, die auf die Oberfläche des Fotowiderstands trifft, bestimmt seinen Widerstand. Durch Messen dieses Widerstands können wir die Helligkeit des Umgebungslichts messen.

Wie funktioniert ein Lichtsensor?

WARNING

Der Wert des Lichtsensors gibt nur einen Hinweis auf die Lichtintensität und ist kein exaktes Maß für den Lichtstrom. Daher sollte er nur in Anwendungen verwendet werden, die kein hohes Maß an Präzision benötigen.

Arduino Nano - Lichtsensor

Die Pins A0 bis A7 des Arduino Nano können als analoge Eingänge verwendet werden. Diese analogen Eingänge wandeln die Spannung (von 0 Volt bis VCC) in Ganzzahlwerte von 0 bis 1023 um, die als ADC-Wert oder analoger Wert bezeichnet werden.

Schließen Sie einen Pin des Fotowiderstands an einen analogen Eingangspin an. Verwenden Sie die Funktion analogRead(), um den analogen Wert vom Pin auszulesen. Dies ermöglicht es uns, die Lichtstärken relativ zueinander zu bestimmen.

Verdrahtungsdiagramm

Arduino Nano Lichtsensor-Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Arduino Nano Programmcode

Der folgende Code liest den Wert eines Fotowiderstands aus und bestimmt das Lichtniveau qualitativ.

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano/arduino-nano-light-sensor */ void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); } void loop() { // reads the input on analog pin A0 (value between 0 and 1023) int analog_value = analogRead(A0); Serial.print("Analog reading: "); Serial.print(analog_value); // The raw analog reading // We'll have a few threshholds, qualitatively determined if (analog_value < 10) { Serial.println(" - Dark"); } else if (analog_value < 200) { Serial.println(" - Dim"); } else if (analog_value < 500) { Serial.println(" - Light"); } else if (analog_value < 800) { Serial.println(" - Bright"); } else { Serial.println(" - Very bright"); } delay(500); }

Schnelle Schritte

  • Kopieren Sie den Code und öffnen Sie ihn mit der Arduino IDE.
  • Klicken Sie auf die Upload-Schaltfläche in der IDE, um den Code auf den Arduino Nano zu übertragen.
  • Öffnen Sie den seriellen Monitor.
  • Richten Sie Licht auf den Sensor.
  • Schauen Sie sich das Ergebnis im seriellen Monitor an.
COM6
Send
Analog reading: 163 - Dim Analog reading: 152 - Dim Analog reading: 187 - Dim Analog reading: 188 - Dim Analog reading: 957 - Very bright Analog reading: 972 - Very bright Analog reading: 981 - Very bright
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Lichtsensor und LED

  • Wenn es dunkel ist, schaltet der untenstehende Code die LED ein. Andernfalls wird die LED ausgeschaltet.
/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano/arduino-nano-light-sensor */ const int LIGHT_SENSOR_PIN = A0; // The Arduino Nano pin connected to light sensor's pin const int LED_PIN = 2; // The Arduino Nano pin connected to LED's pin const int ANALOG_THRESHOLD = 500; int analog_value; void setup() { pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode } void loop() { analog_value = analogRead(LIGHT_SENSOR_PIN); // read the input on analog pin if(analog_value < ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }
  • Der Schaltplan für den obigen Code:
Arduino Nano Lichtsensor LED Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Fordere dich selbst heraus

  • Wenn das Licht in Ihrem Zimmer gedimmt ist, schalten Sie es automatisch ein.
  • Weitere Informationen finden Sie unter Arduino Nano - Relay.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!