Calliope mini www.calliope.cc
Herr Wallroth
Welche Arten von Computern gibt es? Calliope mini Technik 32 bit ARM Cortex M0, 16 MHz, 16 kB RAM, 256 kB Flash-Speicher, Bluetooth Ausgabe u.a. 5x5 LED Matrix, 1 RGB-LED, Piezo-Lautsprecher Eingabe u.a. 2 Taster, Mikrofon (0..100), Beschleunigungssensor, Gyroskop, Magnetometer (Kompass – 0..360), Temperatur, Lichtstärke (0..255) Entwicklungsumgebungen • Open Roberta Lab (Fraunhofer-Institut) lab.open-roberta.org • MakeCode (Microsoft) makecode.calliope.cc Was ist ein Computer? Welche Arten von Computern gibt es?
Wer programmiert die Computer?
Programmiersprachen Assembler Basic Pascal C C++ C# Java JavaScript Python Ruby PHP … Scratch (visuelle Programmiersprache für Kinder und Jugendliche) Der Programmierer benutzt die Programmiersprache, um zwischen Mensch und Computer zu „übersetzen“. Der Computer versteht anhand der geschriebenen Anweisungen, was das Programm tun soll.
Exkurs: Teile und Vielfache von Einheiten Vorsatz Zeichen Faktor Multiplikator Mikro μ 10-6 0,000 001 Milli m 10-3 0,001 Zenti c 10-2 0,01 Dezi d 10-1 0,1 100 1 Deka da 101 10 Hekto h 102 Kilo k 103 1'000 Mega M 106 1'000'000 Giga G 109 1'000'000'000 Tera T 1012 1'000'000'000'000
Was ist ein Programm? Abfolge von Anweisungen (Befehlen) an den Computer zu einem bestimmten Zweck Programm-Start Eingabe (z.B. Drücken von Knöpfen) Verarbeitung der Daten, evtl. weitere Eingaben Ausgabe (z.B. LED, Ton, Anzeige von Zahlen oder Text) Programm-Ende oder neuer Durchlauf
Optionen: Pins als Eingabe, eigene Symbole 1. Eingabe / Ausgabe Optionen: Pins als Eingabe, eigene Symbole Hinweise: Simulator Vollbild, Blöcke löschen mit Entf, IDE skalieren mit Strg+[-]/[+]
2. Gyroskop-Sensor als Eingabe Optionen: Display nach oben/unten, geschüttelt, RGB-LED (evtl. Ton) als Ausgabe
3. Ausgabe von Zahlen und Text Optionen: zusätzlich RGB-LED / Ton
4. Animation Optionen: Pausen einbauen (1000 ms = 1 Sekunde), weitere Symbole, Start per Knopf
Grundlagen: Variablen = Veränderliche Größe, die verschiedene Werte annehmen kann Der Wert einer Variablen kann zugewiesen und abgefragt werden Variablen „merken sich“ einen Wert und können dann in allen Teilen des Programms eingesetzt werden Der Name einer Variablen wird vom Programmierer festgelegt (z.B. „a“, „b“, „x“, „y“, „Tore“ usw.) Variablen können Zahlen (1, 287…) oder Zeichenketten („hallo“) enthalten
Exkurs: Wertebereiche für Zahlen Aus der TypeScript-Dokumentation uint8 with range 0 to 255 int8 with range -128 to 127 uint16 with range 0 to 65536 int16 with range -32768 to 32767 int32 with range -2147483648 to 2147483647 uint32 with range 0 to 4294967295 Maximaler Wert für Zahlen beim Calliope: (+/-) 2147483647;
5. „Tor-Zähler“ mit Variable Optionen: Startwert einstellen, Neues Thema: Variablen und ihre Vorteile und Eigenschaften
Anfang … Ende Grundlagen: Schleifen… Wiederholung: einmal, mehrmals oder unendlich oft
Grundlagen: Verzweigungen Der Programmablauf wird durch logische Bedingungen gesteuert: „wahr“ oder „falsch“ z.B.: Ist die Lichtstärke, ein anderer Sensorwert oder eine Zahl größer (oder auch kleiner) als ein bestimmter Wert?
6. Zähler mit Variable – wenn/dann-Block Verbessertes Programm 5 – mit „Sperre“ für Zahlen kleiner als 0 Der wenn/dann-Block verhindert hier negative Zahlen beim Rückwärts-Zählen
7a. Zufallszahlen - Würfelspiel Die zufällige Zahl wird in einer Variablen (hier: „a“) gespeichert Bei Knopf B wird der Zahlenbereich um 1 erhöht, auf 1..6
7b. Würfelspiel mit „Augen“ statt Zahlen Bei einer 6 leuchtet die LED und es wird eine Melodie gespielt
8. Töne und Musik - Grundlagen Hinweis: ein „Klingelton“ spielt unendlich lange, wenn er nicht unterbrochen wird
9. Töne und Musik - Optionen Die Geschwindigkeit der Musik kann verändert werden (bpm = beats per minute = Schläge pro Minute) Weitere Optionen: z.B. andere Symbole bei anderen Ereignissen anzeigen
10. Selbstkomponierte Melodien Beginn des „Pink Panther“ Themas
11. Töne und Musik – Sensoren auswerten Der Lichtstärkesensor-Eingabewert (0..255) muss umgerechnet werden für bessere Hörbarkeit (der Lautsprecher kann etwa 1.000-10.000 Hz wiedergeben) Das Gyroskop kann Lage-Änderungen als Zahlenwert übermitteln Der Neigungswinkel wird hier mit 100 multipliziert, damit die Töne auch hörbar sind Option: Neigung in Grad auf Display anzeigen Diese Option funktioniert nicht gut beim Lichtstärkesensor, da das Display auch den Lichtstärkesensor enthält
12. Lichtsensor auswerten für „Automatisches Nachtlicht“ Variante 1 Variante 2 Licht an bei einer Lichtstärke unter 100 (der Sensor gibt einen Wert zwischen 0 und 255 zurück) Weiterer „sonst“-Zweig und verschiedene Farben je nach Lichtstärke
13a. Rechner: „1x1-Maschine“ Knopf A inkrementiert Variable a (a = a + 1), Knopf B Variable b Als Ergebnis a x b angezeigt (Variablennamen werden immer klein geschrieben)
13b. Rechner: „1x1-Maschine“ 2. Version Der Rechenvorgang ist nun in eine Funktion ausgelagert In der nächsten Version wird noch deutlicher, warum das eine gute Idee ist…
13c. Rechner: „1x1-Maschine“ 3. Version Diese Version zeigt die Operation und das Ergebnis als Lauftext an: „a x b = ergebnis“ Optionen: Tonausgabe/LED bei Tastendruck, Ergebnisausgabe erst bei Druck auf A+B
Die Kompassrichtung in Grad (0..359) wird im Display angezeigt 14a. Kompass – 1. Version 0° 270° 90° 180° Die Kompassrichtung in Grad (0..359) wird im Display angezeigt
14b. Kompass – bessere Version Die Ausrichtung nach NORDEN (Toleranz +/- 20 Grad) wird angezeigt Verwendung von logische Operatoren und eine wenn/dann/sonst-Regel
15a. Zahlenwerte senden über Bluetooth Die Gruppe (Sende- und Empfangskanal) ist ein Wert zwischen 0 und 255 Er muss beim Sender und Empfänger übereinstimmen
15b. Texte senden über Bluetooth Setze hier deinen Namen ein Die Gruppe (Sende- und Empfangskanal) ist ein Wert zwischen 0 und 255 Er muss beim Sender und Empfänger übereinstimmen
1. Version – Anzeige der Zeit seit dem Einschalten, in Sekunden 16a. Stoppuhr 1. Version – Anzeige der Zeit seit dem Einschalten, in Sekunden
2. Version – Anzeige der Laufzeit in Sekunden auf Knopfdruck 16b. Stoppuhr 2. Version – Anzeige der Laufzeit in Sekunden auf Knopfdruck
3. Version – Knopf A startet die Uhr, Knopf B zeigt die Laufzeit an 16c. Stoppuhr 3. Version – Knopf A startet die Uhr, Knopf B zeigt die Laufzeit an
4. Version – Knopf A startet, Knopf B stoppt die Uhr 16d. Stoppuhr 4. Version – Knopf A startet, Knopf B stoppt die Uhr
Nur bei korrekter Eingabe des Codes wird die Melodie abgespielt 17. Code-Schloss Nur bei korrekter Eingabe des Codes wird die Melodie abgespielt