In diesem Beitrag möchte ich dir den Grove Light Sensor von Seeeduino vorstellen.
Von der Firma Seeedstudio habe ich einige Grove Shields für ein Review gesponsort bekommen, welche ich dir gerne Stück für Stück auf meinem Blog vorstellen möchte.
Bezug
Mir liegt die Version 1.1 des Sensors vor, im Shop von Seeedstudio erhält man derzeit eine modifizierte Version des Sensors (V1.2) für ca. 2,9 $ (2,6 €).
Lieferumfang
Zum Lieferumfang des Sensors gehört ein Anschlusskabel für die Grove Schnittstelle (d.h. beide Enden haben einen Grove Stecker) sowie ein kleiner Zettel, auf welchem die wichtigsten Eigenschaften des Sensors vermerkt sind.
Technische Daten des Grove Light Sensor Shield
Der Sensor wird am analogen Pin des Arduinos bzw. des Seeeduinos angeschlossen. Da der Sensor über eine Grove Schnittstelle verfügt muss man entweder zusätzlich ein Base Shield erwerben oder aber ein Kabel welches auf einer Seite den “Grove Stecker” und auf der anderen Seite die bekannten Breadboard Buchsen besitzt.
- Betriebsspannung : 5V
- Anschluß : analog
- max. Messbereich : 350 lux
Die Beleuchtungsstärke wird in der Einheit “Lux” gemessen. Dieser Sensor kann maximal 350 lux messen dieses entspricht der Beleuchtung eines Büros / Zimmers.
Wenn du mehr über die Beleuchtungsstärke erfahren möchtest, so empfehle ich dir den sehr ausführlichen Wikipediaartikel:
Seite „Beleuchtungsstärke“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 1. September 2019, 21:29 UTC. URL: https://de.wikipedia.org/w/index.php?title=Beleuchtungsst%C3%A4rke&oldid=191888916 (Abgerufen: 7. September 2019, 09:31 UTC)
Auf der Seite http://wiki.seeedstudio.com/Grove-Light_Sensor/ ist der Sensor beschrieben (auf Englisch) unter anderem ist dort vermerkt, dass der Sensor nur die Lichtintensität miss und keinen exakten Lux Wert liefert. D.h. wir können nicht aus dem gelesenen Wert den Lux Wert herleiten.
Aufbau & Schaltung
Wie bereits erwähnt verfügt der Sensor über die Grove Schnittstelle, dieses macht den Aufbau der Schaltung denkbar einfach, denn hier muss lediglich darauf geachtet werden dass, das Kabel an einen analogen Pin A0 bis A7 angeschlossen wird. Wenn man das Base Shield für den Seeeduino Nano verwendet, so hat man die Wahl zwischen A0, A2 und A6.
Es gibt auch Shields welche auf einen Arduino UNO R3 gesteckt werden können und deutlich mehr Pins bereits stellen, jedoch sind diese deutlich teurer. Ich werde mir auf jeden Fall so ein Shield besorgen und in einem der nächsten Tutorials mit vorstellen.
Programmieren
Das Programmieren des Sensors ist einfach, denn wir müssen “nur” den analogen Wert mit der Funktion “analogRead(PIN)” auslesen. Diesen Wert können wir nun nutzen, um eine LED zu steuern, ein Signalton ausgeben, wenn der Wert eine bestimmte Grenze unter bzw. überschreitet usw.
Beispiel I – auslesen des Wertes
//Licht Sensor am analogen Pin A0 #define lightSensor A0 void setup() { //beginn der seriellen Kommunikation mit 9600 baud Serial.begin(9600); } void loop() { //lesen des Wertes vom analogen Pin und //gleichzeitiges ausgeben des Wertes auf //der seriellen Schnittstelle Serial.println(analogRead(lightSensor)); //kleine Pause von 250ms delay(250); }
Beispiel II – steuern von LEDs anhand der Lichtintensität
//Licht Sensor am analogen Pin A0 #define lightSensor A0 int led1 = 2; int led2 = 3; int led3 = 4; int led4 = 5; int led5 = 6; int led6 = 7; int led7 = 8; int led8 = 9; int led9 = 10; int led10 = 11; int leds[] = { led1, led2, led3, led4, led5, led6, led7, led8, led9, led10 }; const int LED_COUNT = 10; void setup() { //beginn der seriellen Kommunikation mit 9600 baud Serial.begin(9600); for(int i=0;i<LED_COUNT;i++){ pinMode(leds[i], OUTPUT); } resetLeds(); } void loop() { resetLeds(); //lesen des Wertes vom analogen Pin int value = analogRead(lightSensor); int led = map(value, 0,750, 0, 9); Serial.print("analoger Wert:"); Serial.println(value); Serial.print("aktive LED:"); Serial.println(led); digitalWrite(led, HIGH); delay(450); } void resetLeds(){ for(int i=0;i<LED_COUNT;i++){ digitalWrite(leds[i], LOW); } }
Video
Fazit
Der Light Sensor von Seeedstudio ist gut für kleinere Projekte verwendbar. Wenn man ein Messgerät für die Lichtstärke hat, so könnte man messen und diesen Sensor kalibrieren.
(Diese Messgeräte sind ab ca. 30 € erhältlich.)
Auf der Webseite für den Sensor von Seeedstudio ist ein kleines Projekt vorgestellt, welcher in einem Briefkasten verbaut wird.