ATTINY Blinklicht

ATTINY Blinklicht

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

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert