Schlagwort-Archive: Programmierung

Arduino Schaltungen #3 : Knight Rider Lauflicht

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

Arduino Programmierung #12 – map() Funktion

Mit der map() Funktion werden Wertebereiche skaliert und in andere Wertebereiche übertragen.

und hier das Programm zum ausprobieren

// Mit Poti - AD-Wandler - map - pwm die LED Dimmen
// Poti ist angeschlossen an Pins : 5V - A0 - GND

int analogPin = A0, LedPin = 13, adwert, pwm;

void setup() {
  Serial.begin(38400);
  pinMode(13,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 #11 – analogRead()

Die Poti Spannung wird mit den AD Wandler und analogRead() eingelesen.

Und hier das Programm dazu.

// analogRead Potentiometer
// Poti ist angeschlossen an Pins : 5V - A0 - GND

int analogPin = A0, adwert;

void setup() {
  Serial.begin(38400);
}

void loop() {
  adwert = analogRead(analogPin);  // AD Wandler auslesen
  Serial.println(adwert);          // Wert ausgeben
  delay(100);
}

 

Arduino Programmierung #8 – Serial.print() Ausgabe am PC

Der Arduino gibt Daten an den PC zurück in die Seriellen Monitor.
Dazu werden Serial.begin() und Serial.print() oder Serial.println() verwendet.

Hier das Programm

// Serielle Ausgabe auf der Konsole

int i=0;

void setup() {
  Serial.begin(38400);
  Serial.println("Hallo Shelvin.");
}

void loop() {
  Serial.print(i);
  Serial.println(" Sekunden");
  Serial.print("     BIN: ");
  Serial.print(i,BIN);
  Serial.print(", HEX: ");
  Serial.println(i,HEX);
  delay(1000);
  i++;
}

 

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