

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


Funktionsweise
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 passie...
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 passie...
Schritt 3 / 4 - 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
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; und zur Kontrolle zum Rechner schicken: Serial.println(zeit); 10 Millisekunden ist ein brauchbarer Grenzwert: if(zeit
weiter mit: LEDs mit Licht anschalten ⇒
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
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; und zur Kontrolle zum Rechner schicken: Serial.println(zeit); 10 Millisekunden ist ein brauchbarer Grenzwert: if(zeit
weiter mit: LEDs mit Licht anschalten ⇒
Aktiviere JavaScript, um das Video zu sehen.
Schlagwörter:
Arduino, AVR, LED, Lichtsensor, Hack, Microcontroller, Elektronik, Platine, Schaltung
Schwierigkeit:
mittel
Zeitbedarf:
30 Minuten
Bewertung:
Aufrufe:
11970
bewerten:
Empfehlen:
Link zur Anleitung:
Anzeige
auch interessant
Einkaufsliste
Werkzeug:
- Taschenlampe
Material:
- Arduino
- 2 Stück LEDs
- Widerstände
Kommentare