Programmiersprache C++


Bastelseite Display + Antriebe Sensoren C++


Übersicht der Befehle

Von der englischen Seite " arduino.cc " gibt es ebenso eine deutsche Version der Befehle! Sie ist unter : https://www.arduino.cc/reference/de/ zu finden.

Es werden die Befehle alle auf deutsch - auch mit Beispielen - erklärt


Kleine Übersicht ...

Kleine Erklärungen manch netter Befehle


... am Anfang


Globale Variable definieren: Aktoren und Sensoren werden einem Pin-Anschluss zugewiesen, sowie Variable gesetzt werden
int LedPin = 11; entspricht "int" dem Variablen-Typ, "LedPin" dem Variablen-Namen, "=" ist der Zuweisungtsoperator und "11" ist der angewiesenen Pin. Der Abschluss mit ";" darf nicht fehlen.

int LedPin = 11;
Variable "LedPin" wird über "int" deklariert und mit "= 11" initialisiert. Dies geschieht alles in einer Zeile!


 

void setup()


Initialisierung: läuft einmal beim Start vom Sketch. Es wird festgtelegt, ob ein Pin Eingang (INPUT) oder Ausgang (OUTPUT) ist.

pinMode(7, OUTPUT); ...INPUT)
Pin 7 wird mit "pinMode" auf Ausgang gesetzt. ...INPUT) ist als Eingang.


 

void loop()


Programmschleife: läuft endlos

analogRead() und analogWrite() analogWrite(LedPin, PWM)
Der Pin "LedPin" wird auf Wert "PWM" gesetzt

delay(1000);
"delay" dient als Pause in Milliskunden. 1000 entspricht einer Sekunde

digitalRead(taster);
Es wird der Zustand vom Pin "taster" eingelesen: HIGH oder LOW
digitalWrite(LedPin);
Der Pin "LedPin" wird gesetzt
Beispiel:
int LedPin = 8; // LED an Pin 8
int taster = 5; // Taster an Pin 5
int var = 0; // Variable um Wert zu Speichern
void setup() {
pinMode(LedPin, OUTPUT); // setzt LedPin(8) auf Ausgang
pinMode(taster, INPUT); // setzt taster(5) auf Eingang
}
void loop() {
var = digitalRead(taster); // liest taster (Pin 5) ein
digitalWrite(LedPin, var); // setzt LedPin (Pin 8) auf den Wert der Variablen var
}


 

Kommentar // und /* */


Kommentare sind überhaupt das Wichtigste beim Coden. Jeder weiß, wie es ist, wenn man seinen eigenen Code in einem halben Jahr liest.... Was war das nochmal? Wie funktionierte dies?

So ist es am Einfachsten einen Kommentar einzufügen, also persönliche Infos zum Code eintragen. Nein, der Code wird dadurch nicht länger! Kommentare werden vom Compiler ignoriert und benötigen auf dem Chip keinen Platz. Die Kommentare sind also nur in der Arduino-IDE lesbar. Eine gute Sache, wenn man später nochmals etwas ändern möchte / muss.

Einzeilig

"//" zwei Schrägstriche leiten einen einzeiligen Kommentar ein. Er brauch kein Ende-zeichen und auch kein Semikolon am Schluß der Zeile.

a = 5;  // Dies ist ein Kommentar
        // Das auch noch
b = 17;		
	

Mehrzeilig

Ein mehrzeiliger Kommentar beginnt mit "/*" und wird mit "*/" abgeschlossen. Dies kann ruhig über mehrere Zeilen gehen. Im Prinzip auch die zwei Schrägstriche, jedoch zusätzlich mit zwei Sternchen/Mal-Zeichen.

a = 5;  
	/* Dies ist ein Kommentar
	Das auch noch
	und hier ebenso
	*/
b = 17;		
	

Hilfreich ist es bei der Fehlersuche bestimmte Codeabschnitte "auszukommentieren". Also indirekt zu löschen. Einfach ein "/*" an den Anfang und ein "*/" am Ende der Code-Passage gesetzt und neu kompiliert. Schon wird es nicht mehr eingelesen! Zum Schluß wieder "/*" und "*/" entfernt und es kann weitergehen.


 

Semikolon ;

Ein Semikolon wird als Abschluß einer Anweisung eingesetzt - demnach in fast jeder Zeile.

a = 5;  	
	

Beim Compilieren hat ein fehlendes Semikolon einen ERROR zur Folge, der manchmal nicht leicht zu finden ist.


 

 Funktion

Funktionen sind kleinere Programmteile, z.B. für wiederkehrende Befehle, die dann mehrmals aufgerufen werden können.

 

 Schleifen

Schleifen gibt es in vielen Varianten: for(;;) und while (...) und do/while


 

 Verzweigungen

Auch Verzweigungen gibt es in vielen Varianten: if (Bedingung)/else und switch/case.


 

Variablen


Variablentyp

intInteger von -32.768 bis 32.767 nur ganze Zahlen, ohne Komma
byte Byte 0 bis 255, nur ganze Zahlen,
long ganze Zahlen von -2.147.483.648 bis 2.147.483.647
float Fließkommazahl von -3.4028235E+38 bis 3.4028235E+38, Werte mitKommastellen
bolean Boolescher Wert Logischer Wert: 0 + 1, LOW + HIGH, TRUE + FALSE
charCharacter Alphanumerische Zeichen: Buchstaben, Zahlen und Sonderzeichen
array Variablenfeld Werte in Variablen mit Tabellenform: int Ports[] = {2,3,4,8,9,12};
Variable können global (für überall geltend) oder lokal (nur innerhalb einer Funktion) deklariert werden.


 

 map


Mit der map-Funktion können z.B. hohe analoge Eingangswerte in niedrigere Digitalwerte umgewandelt werden
ausgabe = map(eingabe, 0, 1023, 0, 255);



brixelweb.de