Calliope mini www.calliope.cc.

Slides:



Advertisements
Ähnliche Präsentationen
Forschungszentrum caesar
Advertisements

(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Excel Kurs Teil I Excel starten, Verknüpfungen auf dem Desktop anlegen. F. Bäumer.
Einführung in Visual C++
SOFTWARE.
© Gabriele Sowada © Gabriele Sowada 2 Zügig Beispiel 2 demonstriert die Vorgehensweise bei der normalerweise genutzten Art der.
Java ohne Kara. Java ohne Kara Ab jetzt: Java ohne Kara Ziel: Erfahrungen sammeln mit ersten Java Programmen.
Dateien Datei = File (engl.) Mögliche Inhalte einer Datei
CGI (Common Gateway Interface)
Agenda für heute, 20. April, 2006 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
… erste Schritte mit einem programmierbaren Mikrocontroller
Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel.
Variablen und Datentypen
Roboter programmieren
Programmieren mit Variablen
MS - A CCESS Das Datenbankensystem von Microsoft.
Programmieren Hexenwerk oder Zauberspuk? Kinderuniversität Mittwoch, 16. März 2016 Kinder-Akademie Fulda & Hochschule Fulda Peter Klingebiel, HS Fulda,
PC-Grundlagen.
Funktionen (Zweck und Eigenschaften) Funktionen sind Unterprogramme, die einen bestimmten Zweck erfüllen Sie zerlegen Probleme in kleine, abgeschlossene.
1 freedroidz – spielend Programmieren lernen. 2 Was ist freedroidz?
Mit dem Computer kann man ganz toll präsentieren
oder: wie Computer die Welt sehen
Objektorientiertes Modellieren und Programmieren mit Java
oder: wie Computer die Welt sehen
Hello World! Javakurs 2013 Arne Kappen
BEWÄHRT seit 2011: AV4m+ AV4ms
Datentypen: integer, char, string, boolean
Mikrocontroller Mikrocontroller programmieren
Mikrocontroller Mikrocontroller programmieren
Bild von Mikrocontroller
Häufigkeitswörter nach dem ABC ohne Verben und Nomen
oder Womit genau ein Prozessor seine Zeit verbringt
Erziehungsorientierte Einplatinencomputer
Datentypen: integer, char, string, boolean
Komponenten des Computers
Referenzen In c kennen wir gewöhnliche Variablen und Pointer.
Technische Informatik II
Die Struktur einer Java-Klasse
Übung: Star Wars - Erbaue eine Galaxie mit Hilfe von Code
Karten anzeigen Karten anzeigen
THEMA: Wetterstation Licht Teil2 CALLIOPE START
Stoppuhr-Karten Stoppuhr-Karten
6. Wiederholungen und Zählschleifen
Tanz-Karten Tanz-Karten
SS 04 Christiane Rauh Christian Hellinger
Arten von Kontrollstrukturen
Eingabegerät Die Tastatur
THEMA: Wetterstation Licht Teil2 CALLIOPE START
Einführung in die Programmierung
Beispiel / Lösung / Info
THEMA: Leiten oder nicht Leiten
1. Die rekursive Datenstruktur Liste 1.3 Rekursive Funktionen
„Sonic Pi“ – Learning to programm with music
Häufige gebrauchte Wörter in Gruppen
Vorsilben für Zehnerpotenzen
Objektorientierte Programmierung
E-Aufgaben in Stud.IP mit ViPS – erste Schritte –
LED-Display Regenwurm Projekt INGOLSTADT.
LED-Display Bilderwechsel Projekt INGOLSTADT.
RGB-LED Projekt INGOLSTADT.
Kompass Projekt INGOLSTADT.
MakeCode-Editor Projekt INGOLSTADT.
Sensoren Projekt INGOLSTADT.
Startampel Projekt INGOLSTADT.
Symbole Herzerl (Symbole) Projekt INGOLSTADT.
LED und Pin Projekt INGOLSTADT.
Kompass Projekt INGOLSTADT.
 Präsentation transkript:

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 