 |
Jedes Programm (Sketch)
ist nach einheitlichen Schema aufgebaut: die beiden
Basis-Blöcke heißen SETUP
und LOOP. Im SETUP
werden die Elemente initialisiert, im LOOP läuft das eigentliche Programm.
Beide verwenden
Methoden (Befehle) mit
jeweils zu übergebenden
Parametern. In komplexen Routinen werden werden dem SETUP noch
Biliotheken
vorangestellt, eventuelle Funktionsblöcke
werden dem Loop nachgestellt. |
 |
|
 |
Ein GPIO (für engl. General Purpose Input/Output, wörtlich vielseitige
Eingabe/-ausgabe) ist ein allgemeiner digitaler Kontaktstift an einem
integrierten Schaltkreis (IC), dessen Verhalten, unabhängig, ob als Eingabe-
oder Ausgabekontakt, durch logische Programmierung frei bestimmbar ist.
GPIO-Kontakten ist kein Zweck vorgegeben, sie sind daher standardmäßig
unbelegt.
Ein GPIO-Kanal (Port) ist eine Gruppe von mehreren zusammengefassten
Kontakten, die als ein logischer Kanal angesprochen werden.
Anwendungsbeispiele: Als Eingabe geschaltet, kann beispielsweise der Zustand
eines Tasters – offen oder geschlossen – durch den IC abgefragt werden. Als
Ausgang können (unter Berücksichtigung der zulässigen Strom- und
Spannungsparameter gegebenenfalls indirekt) beliebige elektrische Elemente
wie Leuchtdioden oder Aktoren ein- oder ausgeschaltet werden. Auch
Kommunikationsprotokolle wie I²C und Serial Peripheral Interface werden über
solche Kontakte abgewickelt, wenn die Schaltung keine oder nicht genug
spezialisierte Kontakte für sie hat; dazu muss das im Protokoll definierte
Verhalten selbst programmiert werden. |
 |
|
 |
|
 |
... furchtbar gute und wichtige
Systemreferenz - Begleitmaterial zum Unterricht |
... meine wichtigen
Systemreferenz-Anmerkungen |
... meine wichtigen
Systemreferenz-Anmerkungen |

ARDUINO-Referenz zum Unterricht |
... ich habe an einem Windows 10 Rechner
bei der neu Installation Probleme mit dem Treiber gehabt. Daher stimme
ich nicht zu "100% Arduino kompatibel" im Geräte Manager steht Probleme
mit ..USB 2.0...
Abhilfe habe ich gefunden in dem ich den Treiber manuell installiere,
weil der USB Treiber von Arduino den USB Chip CH341 nicht untersützt.
Hier muss man den Treiber Seriell-zu-USB-Adapter CH341SER installieren.
Ich kann noch nicht viel sagen über die Qualität aber die Beispiel
Sketchs"Blink" usw konnte ich danach hochladen. |

ARDUINO-Analog-Programmierung |
|
 |
Das Blinken einer LED ist so etwas wie das „Hello World“ am Bildschirm, das
Pendant hierfür am ARDUINO ist das Blinken einer LED. Praktischerweise haben
alle ARDUINOs bereits eine LED fertig auf dem Board verbaut, meist an Pin
13, weshalb wir uns zunächst einmal auf den Sketch fokussieren können.
Beim ARDUINO Uno Version 3 Die obere Leiste sind die 14 digitalen I/O
(Input/Output) Pins des ARDUINO mit den Nummern 0 bis 13, und unten rechts
sind die sechs analogen Eingänge A0 bis A5. Links unten ist mit dem Ground
(Minuspol) und +5V und +3.3V die Spannungsversorgung für Sensoren zu finden. |
 |
... was genau bedeutet eigentlich der Unterschied zwischen Analo- und
Digitalsignalen? fast jeder Port kann als Eingan oder Ausgang
programmiert werden jeder Analogport kann grundsätzlich auch digital
arbeiten - umgekehrt ist das nicht möglich ARDUINO kann sowohl analog als
auch digital arbeiten und mit PWL-Steuerung hat er noch eine Besonderheit in
petto
|
 |
// the setup function runs once when you press reset
or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN,
OUTPUT);
} |
 |
// the loop function runs over and over again
forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the
LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN,
LOW); // turn the LED off by making the voltage LOW
(LOW is the ground level)
delay(1000); // wait for a second
} |
 |
|
 |
|
 |
|
 |
|
 |
Zeitverzögerung |
|
delay(stop_time); |
Zeitangaben in Tausendstel Sekunden |
|
 |
/*
Kommentarblock über mehrere Zeilen
*/
//Kommentarzeile |
 |
|
 |
Operatoren |
|
Arithmetic Operators % Rest
* Multiplikation
+ Addition
- Subtraktion
/ Division
= Zuweisungsoperator |
|
Bitwise Operators & bitweises AND
<< (bitshift left)
>> (bitshift right)
^ bitweises XOR
| bitweises OR
~ bitweises NOT |
|
Comparison Operators != ungleich
< kleiner als
<= kleiner gleich
== gleich
> größer als
>= größer gleich |
|
Boolean Operators ! logisches NOT
&& logisches AND
|| logisches OR |
|
|
 |
Datentypen |
|
|
byte |
ganzzahlige Werte von 0 bis 255 |
|
|
bool |
|
|
|
int |
ganzzahlige Werte von -32768 bis 32767 |
|
|
|
|
 |
Setup-Methoden |
Dabei gibt man
als erstes Argument (=Werte die man einer Methode, in diesem Fall pinMode,
übergibt) die Pinnummer, welche auch immer direkt am ARDUINO steht, an und
als zweites Argument OUTPUT oder INPUT, je nachdem welche Funktion der Pin
haben soll. In unserem Fall muss die Zeile im setup Teil also: pinMode(13,
OUTPUT); lauten. |
Betriebsarten im Pin-Mode pinMode(pinummer,arbeitsrichtung);
Betriebsarten im Port-Mode |
Output für Ausgabe, Input für Eingabe
(dazu muss natürlich auch die elektrische Beschaltung angepasst worden sein)
digitalWrite(13, HIGH); |
|
 |
Void-Methoden |
Freiraum - also
Platz, welcher durch sinnvollen Inhalt zu füllen ist |
Ein- und Auslesen digitaler Signale im Pin-Mode
digitalWrite(Pinnummer, Status);
digitalRead(Pinnummer, ???);
Ein- und Auslesen analoger Signale Pin-Mode
|
|
delay(Anzahl
Millisekunden); |
|
PWM-Steuerung |
|
|
 |
Loop-Methoden |
|
delay(Anzahl
Millisekunden); |
|
|
 |
PWM-Steuerung |
|
analogWrite(Portnummer,
Pulswide); |
|
|