Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| lehrkraefte:blc:informatik:ffprg2017:l1:l1 [2017/08/11 13:48] – [Serial: Kommunikation mit dem Computer] Ivo Blöchliger | lehrkraefte:blc:informatik:ffprg2017:l1:l1 [2017/08/11 14:03] (current) – [Aufgaben] Ivo Blöchliger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | {{backlinks> | ||
| + | ===== Setup der Arduino-IDE ===== | ||
| + | * Download der IDE: https:// | ||
| + | * Start der IDE | ||
| + | * Anschluss des Arduino-Boards. Eventuell Installation des CH340 Treibers. | ||
| + | * Unter File -> Examples -> 01.Basic -> Blink öffenen Sie den " | ||
| + | * Unter Tools -> Port -> ... wählen Sie den Port aus (COM4 oder so unter Windows, ttyUSB0 oder so unter Linux). | ||
| + | * Wählen Tools -> Board -> Arduino/ | ||
| + | * Drücken Sie " | ||
| + | * Die Onboard-LED sollte jetzt blinken. | ||
| + | * Legen Sie einen Ordner an, worin Sie ihre Sketches (Arduino-Programme) speichern werden. | ||
| + | * Speichern Sie den Code unter anderem Namen in Ihrem Ordner. | ||
| + | * Verändern Sie den Code so, dass die LED schneller blinkt. | ||
| + | |||
| + | ==== Diskussion des Codes ==== | ||
| + | Live Kommentare einfügen. | ||
| + | |||
| + | |||
| + | ===== Serial: Kommunikation mit dem Computer ===== | ||
| + | * Legen Sie einen neuen Sketch an und speichern Sie diesen unter dem Namen " | ||
| + | |||
| + | Beispiel-Sketch live. | ||
| + | |||
| + | ===== Coding Conventions ===== | ||
| + | * Es wird eingerückt | ||
| + | * für jede öffnende geschweifte Klammer | ||
| + | * die entsprechende schliessende geschweifte Klammer steht unter dem ersten Buchstenben der Zeile mit der öffnenden Klammer. | ||
| + | * Nach if werden grundsätzlich geschweifte Klammern gesetzt. | ||
| + | * Die öffnende geschweifte Klammer kommt als letztes Zeichen hinter das öffnende Statement. | ||
| + | * Variablen beginnen mit Kleinbuchstaben. | ||
| + | * Klassen beginnen mit einem Grossbuchstaben. | ||
| + | * Globale Variablen haben einleuchtende Name (besser ' | ||
| + | * #define Konstanten werden vollständig mit Grossbuchstaben geschrieben. | ||
| + | |||
| + | <code c++> | ||
| + | // Port auf dem die LED hängt | ||
| + | #define LED 2 | ||
| + | |||
| + | void setup() { | ||
| + | pinMode(LED, | ||
| + | } | ||
| + | |||
| + | // globale Variable | ||
| + | int counter=0; | ||
| + | |||
| + | void loop() { | ||
| + | counter++; | ||
| + | if (counter> | ||
| + | digitalWrite(LED, | ||
| + | } else if (counter> | ||
| + | digitalWrite(LED, | ||
| + | counter=0; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Zusammenfassung ===== | ||
| + | Übersicht: https:// | ||
| + | |||
| + | * void setup() { ... } Programmstart, | ||
| + | * void loop() { ... } Wird danach wiederholt. | ||
| + | * pinMode(// | ||
| + | * digitalWrite(// | ||
| + | * Serial, siehe https:// | ||
| + | * Serial.begin(// | ||
| + | * Serial.print(// | ||
| + | * Serial.println(// | ||
| + | * for(// | ||
| + | * if (// | ||
| + | * if (// | ||
| + | * if (// | ||
| + | * int (Ganzzahlen, | ||
| + | * long (Ganzzahlen, | ||
| + | |||
| + | ===== Aufgaben ===== | ||
| + | === Primzahlen === | ||
| + | Schreiben Sie einen Sketch, der Primzahlen ausgibt (ohne obere Grenze). | ||
| + | |||
| + | Studieren Sie dazu die Arduino-Dokumentation zum for-loop, der if-Schleife und dem Modulo-Operator %. | ||
| + | === LED dimmen === | ||
| + | Eine LED kann gedimmt werden, indem man diese ganz schnell ein- und ausschaltet. Je nach Anteil der Zeit, während der die LED angeschaltet ist, erscheint diese heller oder dunkler. | ||
| + | |||
| + | Schreiben Sie ein Programm, das die LED schön "an- und ausdimmt" | ||
| + | |||
| + | Beachten Sie, dass unser Helligkeitsempfinden nicht linear ist. Eine gute Variante besteht darin, den Anteil der " | ||