Archiv des Autors: admin

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 #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 #9 – Serial.read() liest Ziffern vom PC ein.

Wie können Ziffern 0 – 9 vom seriellen Monitor am PC in den Arduino übergeben werden?
Dazu wird Serial.available() und Serial.read() verwendet.

Hier das Programm

// Integer Ziffer Seriell vom PC einlesen

int i,zahl;

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

void loop() {
  if(Serial.available()) {
    i=Serial.read()-48;
    if(i>=0 && i<=9) {
      zahl=i;
      Serial.print("die Zahl ist: ");
      Serial.println(zahl);
    }
  }
}

 

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 #7 – eine eigene Funktion() schreiben

Der Programmcode wird in einer Funktion zusammengefasst und es wird eine Variable übergeben.

// Arduino #7 Blinken mit einer Funktion

int LED=13;

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

void loop() {
  blinken(3);
  delay(1000);
  blinken(1);
  delay(1000);
}

void blinken(int Anzahl) {
  for(int i=0; i<Anzahl; i++) {
    digitalWrite(LED, HIGH);
    delay(100);
    digitalWrite(LED, LOW);
    delay(100);
  }
}

 

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 #3 – int und andere ganze Zahlen.

Teil 3 – Die Erklärung zu Arduino Variablen int / unsigned int / long / unsigned long

// Neues Programm...

int LED=13;

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

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