Schlagwort-Archive: Programmieren

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 Schaltungen #2 : LED Lauflicht

Ein LED Lauflicht wird aufgebaut und programmiert.

Und hier das fertige Programm:

// C++ code 
// 

int l=0;

void setup() { 
  for( int i=8; i<=12; i++) {
    pinMode(i, OUTPUT); 
  }
} 

void loop() { 
  delay(300); 
  l++; // l=l+1
  if(l>=6) l=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 #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 #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 # 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);
}

 

Das Bluetooth Modul HC-05 mit AT Kommandos vom Arduino programmieren.

Das Bluetooth Modul HC-05 (oder EGBT-045MS) kann vom Arduino mit den AT Kommandos programmiert werden. Dazu muss es erst in den Programmiermodus gesetzt werden. Eine bestehend Bluetooth Verbindung muss unterbrochen werden.

Die Schaltung

Die Schaltung basiert auf dem vorherigen Artikel.

Der KEY Anschluss muss VCC bekommen damit das Modul in den Programmiermodus geht. Ich habe den KEY Pin auf Pin 9 vom Arduino gelegt. Weiterlesen