KY-018 Fotowiderstand
Dieses Modul beinhaltet einen LDR-Widerstand, dessen Widerstandswert bei hellerer Umgebung kleiner wird.
- Arduino
- Raspberry Pi
- Raspberry Pi Pico
- Micro:Bit
Dieses Modul enthält einen LDR-Widerstand (Lichtsensor), dessen Widerstandswert bei zunehmender Helligkeit abnimmt. Der Widerstand des LDR kann mithilfe eines Spannungsteilers ermittelt werden, bei dem eine bekannte Spannung über einen festen Widerstand von 10 kΩ und den variablen Widerstand des LDR aufgeteilt wird. Durch das Messen der Spannung im Spannungsteiler kann der aktuelle Widerstand des LDR und damit die Lichtintensität berechnet werden. Die Betriebsspannung des Moduls liegt zwischen 3,3 V und 5 V, und die kompakten Abmessungen von 21 x 15 x 6 mm erleichtern die Integration in verschiedene Projekte. Dieses Modul ist ideal für Anwendungen, bei denen die Umgebungshelligkeit erfasst werden soll, wie z.B. in automatisierten Beleuchtungssystemen, Helligkeitssensoren und vielen anderen lichtabhängigen Anwendungen. Die genaue Berechnungsmethode zur Bestimmung der Helligkeit ist in den beigefügten Codebeispielen beschrieben.
Achtung! Dieser Sensor ist in der Revision 2 des Sensorkits nicht mehr enthalten und wurde durch den Sensor KY-054 ausgetauscht!
Technische Daten | |
---|---|
Betriebsspannung | 3,3 V - 5 V |
Fester, bekannter Widerstand | 10 kΩ |
Abmessungen | 21 x 15 x 6 mm |
Anschlussbelegung
Arduino | Sensor |
---|---|
Pin A5 | Signal |
5 V | +V |
GND | GND |
Code-Beispiel
Um das folgende Codebeispiel auf Ihren Arduino zu laden, empfehlen wir die Verwendung der Arduino IDE. In der IDE können Sie den passenden Port und das richtige Board für Ihr Gerät auswählen.
Kopieren Sie den unten stehenden Code in Ihre IDE. Um den Code auf Ihren Arduino hochzuladen, klicken Sie einfach auf den Upload-Button.
int photo_resistor = A5; // Hier wird der Eingangs-Pin deklariert
// Definiere benötigte Variablen
int rawValue;
float voltage;
float resistance;
void setup() {
Serial.begin(9600); // Serielle Ausgabe in 9600 Baud
Serial.println("KY-018 Fotowiderstandstest");
}
// Das Programm misst den aktuellen Spannungswert am Sensor,
// berechnet aus diesen und dem bekannten Serienwiderstand den aktuellen
// Widerstandswert des Sensors und gibt die Ergebnisse auf der seriellen Ausgabe aus
void loop() {
// Aktueller Spannungswert wird gemessen...
rawValue = analogRead(photo_resistor);
voltage = rawValue * (5.0/1023) * 1000;
resistance = 10000 * (voltage / (5000.0 - voltage));
// ... und hier auf die serielle Schnittstelle ausgegeben
Serial.print("Spannungswert: ");
Serial.print(voltage);
Serial.print(" mV");
Serial.print(",\t Widerstandswert: ");
Serial.print(resistance);
Serial.println(" Ohm");
Serial.println("----------------------------------------------------------------");
delay(500);
}
Dieses Modul enthält einen LDR-Widerstand (Lichtsensor), dessen Widerstandswert bei zunehmender Helligkeit abnimmt. Der Widerstand des LDR kann mithilfe eines Spannungsteilers ermittelt werden, bei dem eine bekannte Spannung über einen festen Widerstand von 10 kΩ und den variablen Widerstand des LDR aufgeteilt wird. Durch das Messen der Spannung im Spannungsteiler kann der aktuelle Widerstand des LDR und damit die Lichtintensität berechnet werden. Die Betriebsspannung des Moduls liegt zwischen 3,3 V und 5 V, und die kompakten Abmessungen von 21 x 15 x 6 mm erleichtern die Integration in verschiedene Projekte. Dieses Modul ist ideal für Anwendungen, bei denen die Umgebungshelligkeit erfasst werden soll, wie z.B. in automatisierten Beleuchtungssystemen, Helligkeitssensoren und vielen anderen lichtabhängigen Anwendungen. Die genaue Berechnungsmethode zur Bestimmung der Helligkeit ist in den beigefügten Codebeispielen beschrieben.
Achtung! Dieser Sensor ist in der Revision 2 des Sensorkits nicht mehr enthalten und wurde durch den Sensor KY-054 ausgetauscht!
Technische Daten | |
---|---|
Betriebsspannung | 3,3 V - 5 V |
Fester, bekannter Widerstand | 10 kΩ |
Abmessungen | 21 x 15 x 6 mm |
Anschlussbelegung
Raspberry Pi | Sensor |
---|---|
- | Signal |
3,3 V [Pin 1] | +V |
GND [Pin 6] | GND |
Sensor | KY-053 |
---|---|
Signal | A0 |
+V | - |
GND | - |
Raspberry Pi | KY-053 |
---|---|
3,3 V [Pin 1] | +V |
GND [Pin 6] | GND |
GPIO 3 [Pin 5] | SCL |
GPIO 2 [Pin 3] | SDA |
Analoger Sensor, daher muss folgendes beachtet werden: Der Raspberry Pi besitzt, im Gegensatz zum Arduino, keine analogen Eingänge bzw. es ist kein ADC (analog digital Converter) im Chip des Raspberry Pi's integriert. Dies schränkt den Raspberry Pi ein, insofern man Sensoren einsetzen möchte, bei denen keine digitalen Werte ausgegeben werden, sondern es sich um einen kontinuierlich veränderlichen Wert handelt (Beispiel: Potentiometer -> Andere Position = Anderer Spannungswert).
Um diese Problematik zu umgehen, enthält unser Sensorkit X40 mit dem KY-053 ein Modul mit einem 16-Bit ADC, welchen Sie am Raspberry nutzen können, um diesen um 4 analoge Eingänge zu erweitern. Dieser wird per I2C an den Raspberry Pi angeschlossen, übernimmt die analoge Messung und übergibt den Wert digital an den Raspberry Pi.
Somit empfehlen wir, bei analogen Sensoren dieses Sets das KY-053 Modul mit dem besagten ADC dazwischenzuschalten. Nähere Informationen finden Sie auf der Informationsseite zum KY-053 Analog Digital Converter.
Code-Beispiel
Achtung! Für die Verwendung dieses Moduls, in Kombination mit dem KY-053 Analog-Digital-Converter, ist die Einrichtung einer virtuellen Umgebung nötig. Alle hierfür notwendigen Informationen finden Sie hier.
#!/usr/bin/python
# coding=utf-8
import time
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn
import gpiozero
# Den I2C-Bus erstellen
i2c = busio.I2C(board.SCL, board.SDA)
# Erstellen des ADC-Objekts über den I2C-Bus
ads = ADS.ADS1115(i2c)
# Single-Ended-Eingang auf den Kanälen erstellen
chan0 = AnalogIn(ads, ADS.P0)
chan1 = AnalogIn(ads, ADS.P1)
chan2 = AnalogIn(ads, ADS.P2)
chan3 = AnalogIn(ads, ADS.P3)
delayTime = 1
while True:
analog = '%.2f' % chan0.voltage
# Ausgabe auf die Konsole
print ("Analoger Spannungswert:", analog,"V")
time.sleep(delayTime)
Dieses Modul enthält einen LDR-Widerstand (Lichtsensor), dessen Widerstandswert bei zunehmender Helligkeit abnimmt. Der Widerstand des LDR kann mithilfe eines Spannungsteilers ermittelt werden, bei dem eine bekannte Spannung über einen festen Widerstand von 10 kΩ und den variablen Widerstand des LDR aufgeteilt wird. Durch das Messen der Spannung im Spannungsteiler kann der aktuelle Widerstand des LDR und damit die Lichtintensität berechnet werden. Die Betriebsspannung des Moduls liegt zwischen 3,3 V und 5 V, und die kompakten Abmessungen von 21 x 15 x 6 mm erleichtern die Integration in verschiedene Projekte. Dieses Modul ist ideal für Anwendungen, bei denen die Umgebungshelligkeit erfasst werden soll, wie z.B. in automatisierten Beleuchtungssystemen, Helligkeitssensoren und vielen anderen lichtabhängigen Anwendungen. Die genaue Berechnungsmethode zur Bestimmung der Helligkeit ist in den beigefügten Codebeispielen beschrieben.
Achtung! Dieser Sensor ist in der Revision 2 des Sensorkits nicht mehr enthalten und wurde durch den Sensor KY-054 ausgetauscht!
Technische Daten | |
---|---|
Betriebsspannung | 3,3 V - 5 V |
Fester, bekannter Widerstand | 10 kΩ |
Abmessungen | 21 x 15 x 6 mm |
Anschlussbelegung
Micro:Bit | Sensor |
---|---|
- | Signal |
3,3 V | +V |
GND | GND |
Sensor | KY-053 |
---|---|
Signal | A0 |
+V | - |
GND | - |
Micro:Bit | KY-053 |
---|---|
Pin 19 | SCL |
Pin 20 | SDA |
3,3 V | +V |
GND | GND |
Analoger Sensor, daher muss folgendes beachtet werden: Der Micro:Bit besitzt analoge Eingänge bzw. es ist ein ADC (analog digital Converter) im Chip des Micro:Bits integriert. Diese sind jedoch nur auf 10-Bit beschränkt und bieten daher nur eine recht geringe Genauigkeit für analoge Messungen.
Um diese Problematik zu umgehen, enthält unser Sensorkit X40 mit dem KY-053 ein Modul mit einem 16-Bit ADC, welchen Sie am Micro:Bit nutzen können, um diesen um 4 analoge Eingänge zu erweitern. Dieser wird per I2C an den Micro:Bit angeschlossen, übernimmt die analoge Messung und übergibt den Wert digital an den Micro:Bit.
Somit empfehlen wir bei analogen Sensoren dieses Sets das KY-053 Modul mit dem erwähnten ADC dazwischenzuschalten. Nähere Informationen finden Sie auf der Informationsseite zum KY-053 Analog Digital Converter KY-053 Analog Digital Converter.
Code-Beispiel
Das Programm nutzt zur Ansteuerung des ADS1115 ADC die entsprechende Bibliothek von uns. Diese wurde unter dem folgenden Link pxt-ads1115 unter der MIT-Lizenz veröffentlicht.
ADS1115.setMode(mode.Multi)
ADS1115.setRate(rate.Rate5)
ADS1115.setGain(gain.One)
ADS1115.initADS1115(userInI2C.Gnd)
basic.forever(function () {
serial.writeLine("" + (ADS1115.read(0)))
serial.writeLine("" + (ADS1115.raw_to_v(ADS1115.read(0))))
basic.pause(500)
})
Beispielprogramm Download
Dieses Modul enthält einen LDR-Widerstand (Lichtsensor), dessen Widerstandswert bei zunehmender Helligkeit abnimmt. Der Widerstand des LDR kann mithilfe eines Spannungsteilers ermittelt werden, bei dem eine bekannte Spannung über einen festen Widerstand von 10 kΩ und den variablen Widerstand des LDR aufgeteilt wird. Durch das Messen der Spannung im Spannungsteiler kann der aktuelle Widerstand des LDR und damit die Lichtintensität berechnet werden. Die Betriebsspannung des Moduls liegt zwischen 3,3 V und 5 V, und die kompakten Abmessungen von 21 x 15 x 6 mm erleichtern die Integration in verschiedene Projekte. Dieses Modul ist ideal für Anwendungen, bei denen die Umgebungshelligkeit erfasst werden soll, wie z.B. in automatisierten Beleuchtungssystemen, Helligkeitssensoren und vielen anderen lichtabhängigen Anwendungen. Die genaue Berechnungsmethode zur Bestimmung der Helligkeit ist in den beigefügten Codebeispielen beschrieben.
Achtung! Dieser Sensor ist in der Revision 2 des Sensorkits nicht mehr enthalten und wurde durch den Sensor KY-054 ausgetauscht!
Technische Daten | |
---|---|
Betriebsspannung | 3,3 V - 5 V |
Fester, bekannter Widerstand | 10 kΩ |
Abmessungen | 21 x 15 x 6 mm |
Anschlussbelegung
Raspberry Pi Pico | Sensor |
---|---|
3,3 V | +V |
GND | GND |
GPIO26 (A0) | Signal |
Man kann auch einen ADC wie der KY-053 verwenden. Dieser ADC hat eine höhere Auflösung als der interne ADC vom Raspberry Pi Pico, was dazuführt, dass der Sensor genauer ausgewertet werden kann.
Code-Beispiel
Das Programm misst den aktuellen Spannungswert am Sensor, berechnet aus diesem und dem bekannten Serienwiderstand den aktuellen Widerstandswert des Sensors und gibt die Ergebnisse über die serielle Ausgabe aus.
Um das folgende Codebeispiel auf Ihren Pico zu laden, empfehlen wir die Verwendung von der Thonny IDE. Sie müssen nur zunächst unter Run > Configure interpreter … > Interpreter > Which kind of interpreter should Thonny use for running your code? > MicroPython (Raspberry Pi Pico) auswählen.
Kopieren Sie den untenstehenden Code nun in Ihre IDE und klicken Sie auf Run.
# Bibliotheken laden
from machine import ADC
import math
from time import sleep
# Initialisierung des ADC0 (GPIO26)
adc = ADC(0)
print("KY-018 Widerstandsmessung")
while True:
# ADC0 als Dezimalzahl lesen
read = adc.read_u16()
# Spannung berechnen
voltage = read * (3.3 / 65536)
# Umrechnung von Spannung zu Widerstand
resistance = ((voltage / 3.3) * 10000) / (1 - (voltage / 3.3))
# Serielle Ausgabe der errechneten Werte
print("Spannungswert: ", round(voltage, 2), "V\t Widerstand:", round(resistance, 2), "Ohm")
sleep(1)