Schlagwort-Archive: LED

Arduino Programmierung #13 – Poti dimmt LED mit PWM

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);
}

 

Arduino Programmierung #10 – LED blinken ohne delay()

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
}

 

Arduino Programmierung #6 – die for() Schleife

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);
}

 

Arduino Programmierung # 5 – analogWrite

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);
}

 

Arduino Programmierung #2 – LED blinken lassen.

Teil 2 – Die LED an Pin 13 soll blinken.

// Neues Programm...

int LED=13;

void setup() {
  pinMode(LED,OUTPUT);
}

void loop() {
  digitalWrite(LED, HIGH);
  delay(500);
  digitalWrite(LED, LOW);
  delay(500);
}

 

Arduino Tutorial #5 – 2 Taster dimmen per Interrupt eine LED mit PWM

Eine LED dimmen – Arduino Kurs Teil 5
Zwei Taster lösen im Arduino Programm einen Interrupt aus und die LED wird damit gedimmt. Die Kurve der PWM Dimmung wird dem optischen Eindruck angepaßt.

Weiterlesen

Arduino Tutorial #4 – Zwei Taster per Interrupt einlesen

Arduino Kurs Teil 4
Zwei Taster können zwei Interrupts auslösen.
Der eine Taster-Interrupt schaltet die LED ein und der andere Taster-Interrupt schaltet die LED aus.

Weiterlesen

Mit dem Arduino Timer Interrupt eine LED Blinkfolge ausgeben

Wenn ein Programmstatus oder ein Programmierschritt durch das mehrfaches blinken einer LED angezeigt werden soll bietet sich hierfür auch der Timer Interrupt an. Wie im vorherigen Artikel beschrieben wird der Interrupt gesetzt.

Mit Hilfe einer 8 stelligen Binärzahl kann nun das Blinkmuster festgelegt werden.
1 x Blink ist 00000001
2 x Blink ist 00000101
3 x Blink ist 00010101

Mit der Variablen folgeindex werden die Bits bei jeden Interrupt Aufruf nacheinander verglichen und die LED wird entsprechend geschaltet. Weiterlesen