Image Removed
...
Arduino Programming (EN)
Um Programme für das Arduino zu schreiben, benutzen eine verwendet man 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.
...
Code Block |
---|
language | java |
---|
title | Beispiel Grunstruktur |
---|
collapse | true |
---|
|
#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 float y = 1.234;
char
Zeichen
z.B. char z = “a”;
...
boolean
Schaltvariable
z.B. boolean state = false;
Operatoren
...
Arithmetische Operatoren (+,-,*,/,=,%)
Code Block |
---|
language | java |
---|
title | Beispiel Arithmetische Operatoren |
---|
collapse | true |
---|
|
x = 3+2; // x = 5 |
...
...
...
...
Vergleichende Operatoren (,=,==,!=)
Code Block |
---|
language | java |
---|
title | Beispiel Vergleichende Operatoren |
---|
collapse | true |
---|
|
if( |
...
100 != 120) // Bedingung
{
// Auszuführende Aktion
} |
...
Boolsche Operatoren (&&,||,!)
Code Block |
---|
language | java |
---|
title | Beispiel Boolsche Operatoren |
---|
collapse | true |
---|
|
if(digitalRead(2) == HIGH) // Bedingung
{
// Auszuführende Aktion
} |
Zusammengesetzte Operatoren (++,–,+=,-=,*=,/=)
Code Block |
---|
language | java |
---|
title | Beispiel Zusammengesetzte Operatoren |
---|
collapse | true |
---|
|
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
...
Code Block |
---|
language | java |
---|
title | Beispiel if... |
---|
collapse | true |
---|
|
if(x>120)
{
// Aktion wenn x grösser als 120
} |
...
...
title | Beispiel if...else |
---|
collapse | true |
---|
|
if(x>120)
{
// Aktion wenn x grösser als 120
}
else
{
// Aktion wenn x kleiner als, oder genau 120
} |
...
...
...
title | Beispiel for... |
---|
collapse | true |
---|
|
for(int i=0; i<=255; i++)
{
// Setzt i von 0 bis 255
} |
switch case
Code Block |
---|
language | java |
---|
title | Beispiel switch... |
---|
collapse | true |
---|
|
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
} |
...
...
title | Beispiel while... |
---|
collapse | true |
---|
|
var = 0;
while(var<120)
{
// Aktion welche sich 120 Mal wiederholt
var++;
} |
break
Code Block |
---|
language | java |
---|
title | Beispiel break... |
---|
collapse | true |
---|
|
for(int i=0; i<200; i++)
{
digitalWrite(5,i);
sensorWert = analogRead(0);
if(sensorWert>200)
{
i = 0; // Schleife verlassen
break;
}
delay(100);
} |
return
Code Block |
---|
language | java |
---|
title | Beispiel return... |
---|
collapse | true |
---|
|
int checkSensor()
{
if(analogRead>200)
{
return 1; // checkSensor ist nun 1
}
else
{
return 0; // checkSensor ist nun 0
}
} |