LEDs als Lichtsensor am Arduino

LEDs sind eigentlich dazu gedacht zu leuchten. An einem AVR kann man sie aber auch als Lichtsensor benutzen. Dieser Trick wird hier beschrieben.

Aufbau

Der Aufbau ist schnell fertig. Es werden zwei LEDs mit Vorwiderstand an den digital i/o angeschlossen.

Wie funktioniert das?

Im Schaubild sieht man drei Schaltmöglichkeiten. 1. So schließt man eine LED normalerweise an damit sie leuchtet. 2. Wenn sie verkeht herum angeschlossen wird leuchtet es natürlich nicht, aber es passiert noch etwas anderes. Die LED läd sich an der N ...

Messung der Ladung

Die Messung der Ladung geht über einen Trick. An dem Eingang wird die Zeit gemessen bis der Eingang auf logisch LOW geht. Anhand der Zeit kann man dann ablesen wie hell die LED beleuchtet wurde. Mit der Zeit muß man ein wenig experimentieren, die ist ...

LEDs mit Licht anschalten

Hier ein zweites Beispiel um LEDs mit Licht anzuschalten: Auf dem Video sieht man wie mit einer normalen Taschenlampe die LEDs angeschaltet werden.   int LED1_Neg=2; int LED1_Pos=3; int LED2_Neg=6; int LED2_Pos=7; int temp; void setup() {   Serial.be ...

Weitere interessante Anleitungen
Taster am Arduino Board anschließen von Lichtbaendiger
Einen Taster anschließen klingt jetzt eigentlich ziemlich trivial. Aber man kann schnell ein ...
64 pixel RGB LED Anzeige - Noch ein Arduino Clone von madworm
Die Anzeige basiert auf einer 8x8 RGB LED Matrix, welche zu Testzwecken zuerst ueber ein standard ...
Elektronik & Microcontroller Wettbewerb von Valeria
Zeigen Sie uns was man mit Elektronik und Microcontroller alles basteln und bauen kann. Lassen Sie ...
Arduino: Header Board selber bauen von Tinker
Arduino Boards sind super und sie eignen sich perfekt um schnell Prototypen zu bauen. Hier habe ich ...
LED Multifunktionaluhr bauen von toMTom_278
Multifunktionaluhr - Berufsreifeprüfungsprojekt 2009 Mein Partner und ich haben uns eine ...
Über diese Anleitung
Diese Anleitung bewerten:
2 Bewertungen, insg. 7 Punkte
Lichtbaendiger Sende mir eine private Nachricht
Mitglied seit: 23.04.2009
Anleitungen: 18
Kommentare: 62

Sie sind jetzt Fan von Lichtbaendiger

Views: 10970    Erstellt am: 09.06.2009
Kategorien: Computer & Elektronik
Kommentare zur Anleitung: 0
Mitmachen & gewinnen!
Balkon & Terrassen Wettbewerb Balkon & Terrassen Wettbewerb

Nimm jetzt an unserem Balkon Wettbewerb teil: Egal welche Anleitung, oder Idee du rund um den Balkon oder Terrasse hast, wir wollen sie sehen! ... mehr erfahren

Teilahme bis: 23.07.2012 Aktuelle Teilnehmerzahl: 2
Themenspecial des Monats
Luft-Entfeuchter Perfektes Raumklima - Luft-Entfeuchter Special!

Brauchbare Tipps, leichte Anleitungen sowie viele Anregungen finden Sie im Luft-Entfeuchter Special

Weitere Infos...
Kostenloser Newsletter
Kostenlosen Newsletter abonnieren
Schritt 3 von 4
Alle
Schritte
  • 1. Schritt
  • 2. Schritt
  • 3. Schritt
  • 4. Schritt

Anleitung an einen Freund senden

Bitte alle Pflichtfelder ausfüllen
Die Email wurde verschickt
Senden an *
Name *
Von *
Betreff
* Pflichtfelder

LEDs als Lichtsensor am Arduino

Schritt 3: Messung der Ladung

Die Messung der Ladung geht über einen Trick.

An dem Eingang wird die Zeit gemessen bis der Eingang auf logisch LOW geht. Anhand der Zeit kann man dann ablesen wie hell die LED beleuchtet wurde.

Mit der Zeit muß man ein wenig experimentieren, die ist je nach verwenteter LED unterschiedlich.

 

 

Hier ein Beispielprogramm (Funktion siehe Video):

 

Die beiden LEDs werden hier angeschlossen:

static int LED1_Neg=6;

static int LED1_Pos=7;

static int LED2_Neg=2;

static int LED2_Pos=3;

void setup()

{

  Serial.begin(9600); // um beobachten zu können wie sich die LED verhält kann später gelöscht werden

  pinMode(LED2_Neg,OUTPUT);

  pinMode(LED2_Pos,OUTPUT);

}

void loop()

{

  unsigned long zeit;

 

 

Hier wird die LED verkehrt herum geschaltet und aufgeladen:

  pinMode(LED1_Neg,OUTPUT);

  pinMode(LED1_Pos,OUTPUT);

  digitalWrite(LED1_Neg,HIGH);

  digitalWrite(LED1_Pos,LOW); 

 

jetzt wird die N Seite der LED zum Eingang:

  pinMode(LED1_Neg,INPUT);    

  digitalWrite(LED1_Neg,LOW); 

 

und die Zeit messen bis LOW:

  zeit=millis();

  while(digitalRead(LED1_Neg)==HIGH);

  zeit=millis()-zeit;

 

zur Kontrolle zum Rechner schicken:

Serial.println(zeit);

 10 Millisekunden ist ein brauchbarer Grenzwert:

  if(zeit<10)

    {

    digitalWrite(LED2_Pos,HIGH); // Die zweite LED an

    digitalWrite(LED2_Neg,LOW);

    }

  else

    {

    digitalWrite(LED2_Pos,LOW); // oder aus

    digitalWrite(LED2_Neg,LOW);

    }

}

Melden Sie sich kostenlos an, um diese Werbung dauerhaft auszublenden.

You need Flash player 8+ and JavaScript enabled to view this video.
LEDs als Lichtsensor am Arduino
You need Flash player 8+ and JavaScript enabled to view this video.
3.

Kosten: gering hoch

Schwierigkeit: gering hoch


Benötigte Materialien: Arduino Board LED Widerstand
0 Kommentare
Es sind noch keine Kommentare zu diesem Schritt vorhanden, seien Sie der Erste und schreiben Sie einen Kommentar!