Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Übersicht 

Um Programme für das Arduino zu schreiben, benutzen eine integrierte Programmierumgebung (IDE), welche von David Mellis entwickelt wurde und sich stark an Processing orientiert. Dies macht uns den Einstieg besonders einfach – es gibt jedoch einige Unterschiede, wenn wir für einen Mikrocontroller programmieren. Für Arduino verwenden wir eine vereinfachte Variante von C/C++. Da Arduino auf Processing aufbaut sieht die Oberfläche und die Syntax beider Programme sehr ähnlich aus. Auch die Programmierumgebung sieht sehr ähnlich aus.

Integrierte Programmierumgebung (IDE)

Grundstruktur

Die Grundstruktur eines Programms beinhaltet immer die Funktion setup() und loop(). Dabei wird setup() nur einmal beim Start des Programms (entweder nach dem Übertragen auf das Board oder nach Drücken des Reset-Tasters) aufgerufen. In dieser Funktion setzt man die Pins als Ein- oder Ausgänge, aktiviert die Serielle Schnittstelle oder initialisiert externe Libraries. Die Funktion loop() wird durchgehend durchlaufen, solange das Arduino eingeschaltet ist.

Beispiel Grunstruktur
#define LED_PIN 13
 
int counter = 0;
 
void setup() 
{
  pinMode(LED_PIN, OUTPUT);
}

void loop() 
{
  digitalWrite(LED_PIN, HIGH);
  delay(1000);
  digitalWrite(LED_PIN, LOW);
  delay(1000);
  counter++;
}

Variablen:

int (byte, int, uint, long, ulong)
Ganzzahlige Variablen
z.B. int x = 22;

float (double)
Fliesskomma Variablen
z.B. int y = 1.234;

char
Zeichen
z.B. char z = “a”;

String
Abfolgen von Zeichen
z.B. String testString = “Arduino”;

boolean
Schaltvariable
z.B. boolean state = false;

Operatoren:

Arithmetische Operatoren (+,-,*,/,=,%)
x = 3+2; // x = 5
y = 2-1; // y = 1
z = 5*2; // z = 10
i = 10/2; // i = 5
r = 9%5; // r = 4

Vergleichende Operatoren (,=,==,!=)

 

Beispiel Vergleichende Operatoren
if(x<120) // Bedingung
{
  // Auszuführende Aktion
}

 

Boolsche Operatoren (&&,||,!)

 

Beispiel Boolsche Operatoren
if(digitalRead(2) == HIGH) // Bedingung
{
  // Auszuführende Aktion
}

 

Zusammengesetzte Operatoren (++,–,+=,-=,*=,/=)
x++ // x um eins erhöhen
y– // y um eins verringern
z+=2 // z um zwei erhöhen
i-=5 // i um fünf verringern

Kontroller:

if…

 

Beispiel if...
if(x>120)
{
  // Aktion wenn x grösser als 120
}

 

if…else

 

Beispiel if...else
if(x>120)
{
  // Aktion wenn x grösser als 120
}
else
{
  // Aktion wenn x kleiner als, oder genau 120
}

 

for

 

Beispiel for...
for(int i=0; i<=255; i++) 
{
  // Setzt i von 0 bis 255
}

switch case

 

Beispiel switch...
switch(var)
{
case 1:
  // Aktion wenn var 1 entspricht
  break;
case 2:
  // Aktion wenn var 2 entspricht
  break;
default:
  // Aktion wenn var weder 1 noch 2 entspricht
}

 

while

 

Beispiel while...
var = 0;
while(var<120)
{
  // Aktion welche sich 120 Mal wiederholt
  var++;
}

break

 

Beispiel break...
for(int i=0; i<200; i++)
{
  digitalWrite(5,i);
  sensorWert = analogRead(0);
  if(sensorWert>200)
  {
    i = 0; // Schleife verlassen
    break;
  }
  delay(100);
}

return

 

Beispiel return...
int checkSensor()
{
  if(analogRead>200)
  {
    return 1; // checkSensor ist nun 1
  }
  else
  {
    return 0; // checkSensor ist nun 0
  }
}