Ein Spannungstester für Batterien mit LED Anzeige.
Die Schwellenspannung wird mit einer Zehner-Diode festgelegt.
Die Stromaufnahme der Schaltung bestimmt hauptsächlich der Widerstand R2.
von Matthias Busse
Ein Spannungstester für Batterien mit LED Anzeige.
Die Schwellenspannung wird mit einer Zehner-Diode festgelegt.
Die Stromaufnahme der Schaltung bestimmt hauptsächlich der Widerstand R2.
von Matthias Busse
Hier wird der Strom begrenzt zum Schutz einer dahinter liegenden Schaltung und als Kurzschluss Schutz.
Wenn die Strombegrenzung eingreift dann zeigt das die LED an.
von Matthias Busse
Die LED Konstantstromquelle mit 2 Transistoren und 2 Widerständen.
Die Erklärung im Video Weiterlesen
Das LED Lauflicht soll jetzt hin und her laufen, also ändern wir die Programmierung der vorherigen Lauflicht Version.
// C++ code // int l=0; bool up=1; void setup() { for( int i=8; i<=12; i++) { pinMode(i, OUTPUT); } } void loop() { delay(300); if(up) l++; // l=l+1 else l--; if(l>=6) { l=4; up=0; } if(l<=0) { l=2; up=1; } switchled(l); } void switchled(int n) { for( int i=8; i<=12; i++) { digitalWrite(i,0); } if(n==1) digitalWrite(12,1); if(n==2) digitalWrite(11,1); if(n==3) digitalWrite(10,1); if(n==4) digitalWrite(9,1); if(n==5) digitalWrite(8,1); }
von Matthias Busse
Ein LED Lauflicht wird aufgebaut und programmiert.
Und hier das fertige Programm:
// C++ code // int l=0; void setup() { for( int i=8; i<=12; i++) { pinMode(i, OUTPUT); } } void loop() { delay(300); l++; // l=l+1 if(l>=6) l=1; switchled(l); } void switchled(int n) { for( int i=8; i<=12; i++) { digitalWrite(i,0); } if(n==1) digitalWrite(12,1); if(n==2) digitalWrite(11,1); if(n==3) digitalWrite(10,1); if(n==4) digitalWrite(9,1); if(n==5) digitalWrite(8,1); }
von Matthias Busse
So wird eine eigene LED an den Arduino geschaltet und im Programm angesprochen.
Und hier das Programm dazu:
// C++ code // bool b=0; void setup() { pinMode(12, OUTPUT); } void loop() { digitalWrite(12, b); delay(1000); // Wait for 1000 millisecond(s) b=!b; }
Ein Potentiometer wird eingelesen mit dem AD Wandler, der Wert wird gemappt auf dem PWM Wertebereich und mit analogWrite ausgegeben zur LED.
Und hier das Programm
// Mit Poti die LED dimmen // Poti - AD-Wandler - map - pwm - analogWrite // Poti ist angeschlossen an Pins : 5V - A0 - GND int analogPin = A0, LedPin = 13, adwert, pwm; void setup() { Serial.begin(38400); pinMode(LedPin,OUTPUT); } void loop() { adwert = analogRead(analogPin); // AD Wandler auslesen pwm = map(adwert, 0, 1023, 0, 255); analogWrite(LedPin, pwm); // LED mit PWM ansteuern und dimmen Serial.println(pwm); // Wert ausgeben delay(100); }
Die LED blinkt und der Prozessor wird nicht blockiert, er hat also Zeit andere Aufgaben zu erfüllen.
Und hier das Programm zu kopieren und ausprobieren.
// LED blinken lassen ohne delay() int LED=13; unsigned long neuMillis, altMillis, intervall=200; bool ledStatus; void setup() { pinMode(LED, OUTPUT); altMillis=0; } void loop() { neuMillis = millis(); if( (neuMillis - altMillis) >= intervall){ altMillis = neuMillis; ledStatus = !ledStatus; digitalWrite(LED, ledStatus); } // hier läuft der Programmcode weiter }
Die Arduino LED soll 3x kurz blinken und dann 1 Sekunde aus sein.
In diesem Beispiel wird die for Schleife für Wiederholungen erklärt.
Und hier das Programm zum ausprobieren.
// Arduino #6 Blinken in for Schleife int LED=13; void setup() { pinMode(LED, OUTPUT); } void loop() { for(int i=0; i<3; i++) { digitalWrite(LED, HIGH); delay(100); digitalWrite(LED, LOW); delay(100); } delay(1000); }
Eine LED am Arduino dimmen mit analogWrite() und PWM – Pulsweiten Modulation
// LED dimmen int LED=13,i=1; void setup() { pinMode(LED,OUTPUT); } void loop() { i++; if (i>255) { i=1; } analogWrite(LED, i); delay(10); }