einfach, klein, flexibel, Bauteile rd. 3€
🔍 Funktionsbeschreibung
Zwei LEDs blinken abwechselnd.
Ein Potentiometer am ADC-Eingang PB2 (Pin 7) steuert die Blinkgeschwindigkeit.
Der Takt ist z. B. zwischen 0,5 Hz und 5 Hz einstellbar.
Jede LED leuchtet immer gleich lang, also symmetrisch (50 % Tastverhältnis).


Simulation der Schaltung (YouTube)
Software Code
/******************************************************************
Project : Blinklicht mit 2 LEDs im Wechsel, Frequenz einstellbar über Potentiometer
CPU : ATtiny45/85 oder Digispark
Ausgänge : LED1: PB0 (Pin 5), LED2: PB1 (Pin 6)
Eingänge : Poti: PB3 (Pin 2) → Mitte an ADC3, äußere Pins an VCC/GND
Frequenzbereich : ca. 0,5–5 Hz
Autor : Matthias Drinkmann (2020–25)
Kurzbeschreibung:
- Zwei LEDs blinken abwechselnd.
- Ein Potentiometer am ADC-Eingang PB3 (Pin 2) steuert die Blinkgeschwindigkeit.
- Der Takt ist z. B. zwischen 0,5 Hz und 5 Hz einstellbar.
- Jede LED leuchtet immer gleich lang, also symmetrisch (50 % Tastverhältnis).
LIZENZ: Public Domain / ohne Gewähr
******************************************************************/
#define LED1 0 // PB0
#define LED2 1 // PB1
#define POTI A3 // PB3, ADC3
void setup() {
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(POTI, INPUT);
}
void loop() {
int sensorValue = analogRead(POTI); // Wert 0–1023
int delayTime = map(sensorValue, 0, 1023, 1000, 100); // 1 Hz bis 5 Hz
// LED1 an, LED2 aus
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
delay(delayTime / 2); // halbe Periodendauer
// LED1 aus, LED2 an
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
delay(delayTime / 2);
}

Schreibe einen Kommentar