Kursthemen

  • Allgemeines

    • Werkzeuge für den Unterricht

    • Der Großteil der im Unterricht eingesetzten Werkzeuge ist kostenfrei und als Open Source oder Freeware deklariert. Neben einem Office-Paket (z. B. LibreOffice) werden ein aktueller Browser und ein Internet-Zugang benötigt. Für diese Unterrichtseinheit verwenden wird den Mikrocontroller Calliope mini in den Entwicklungsumgebungen MakeCode.

  • Reaktivierung Lernspirale Programmierung

    • Bislang haben wir mit Scratch kleine Programme entwickelt. Ab der nächsten Woche wollen wir unser Wissen erweitern und mithilfe eines portablen Computersystems auf unsere Umwelt reagieren.

      Doch vorher geht es - wie in Klasse 7 - um die Wiederholung unseres Wissens zur Programmierung. Diesmal gibt es mit Run Marco eine neue Chance auf eine Urkunde!

  • Möglichkeiten des Calliope entdecken

    • Messungen planen, durchführen, dokumentieren und auswerten

      Hausaufgaben über Hausaufgaben: in Chemie ein Experiment vorbereiten, in Biologie das Mikroskopieren planen, in Mathematik ein Zufallsexperiment auswerten, in Physik Messwerte grafisch darstellen und in Philosophie das Stundenprotokoll überarbeiten und "aufhübschen"!

      Und jetzt das Ganze auch noch in Info?

      Ja, aber hier lernst Du, wie man alles mit Hilfe der richtigen Werkzeuge effizient machen kann und auf das nächste Mal gut vorbereitet ist: Tabellenkalkulation und Formatvorlagen in der Textverarbeitung helfen dabei. Außerdem programmieren wir einen speziellen Computer, damit er die Messwerte digitalisiert für uns erfasst.

      Also: auf geht's!

    • Mit dem Calliope mini messen

      Der Calliope mini kann Eingaben über Sensoren entgegennehmen und Ausgaben mit Hilfe von Aktoren ausführen. Mal sehen, welche es so gibt.

      1. Schließe den Calliope mini an deinen Rechner an und kopiere das Programm „mini_entdecken.hex“ auf das „MINI“-Laufwerk. 
      2. Erkunde nun die Funktionalitäten des Programms auf dem Calliope mini. Ermittle nach dem Schema "Wenn ich ..., dann ..." die Sensor-Aktor-Funktionalität.
      3. Erfasse in der Tabelle an der Tafel die verwendeten Sensoren und Aktoren.
      4. Importiere in die Entwicklungsumgebung des Calliope mini das Programm „mini_entdecken.hex“. Finde weitere Funktionalitäten durch Analyse des Quelltextes. Prüfe deine These auf deinem Calliope mini.
    • Zusammenfassung Aktoren und Sensoren

      Der Calliope mini funktioniert nach dem EVA-Prinzip.

      Geeignete Sensoren in der Eingabeeinheit ermöglicht auch das Messen von physikalischen Größen. Entsprechende Aktoren der Ausgabeeinheit ermöglichen neben der traditionellen Ausgabe von Daten auf einem Bildschirm oder auf Papier auch die Ausgabe in Form von Bewegung oder Tönen. 

      AktorSensor
      Beschreibung Der Aktor ist ein elektronisches Bauelement, das ein elektrisches Signal in eine andere physikalische Größe umwandelt. Der Sensor ist ein elektronisches Bauelement, das eine physikalische Größe in ein elektrisches Signal umwandelt.
      Beispiele
      für den
      Calliope mini
      • Bauelement Lautsprecher → akustische Ausgabe durch Töne
      • Bauelement Farb-LED → optische Ausgabe durch Licht in verschiedenen Farben
      • Baugruppe LED-Matrix → optische Ausgabe auf ein Display
      • Baugruppe Motorsteuerung → mechanische Ausgabe durch Bewegung
      • Bauelement LED-Matrix → Lichtstärke
      • Bauelement Temperatursensor → Temperatur der CPU
      • Bauelement Taste A/B → Status offen/geschlossen
      • Bauelement Mikrofon → Lautstärke
      • Bauelement Kompass → Magnetfeld/Magn. Nordrichtung
      • Bauelement Berührungssensor/Pin P0...P3 → Status offen/berührt
      • Bauelement Lagesensor → Lage im Raum, Winkel
      • Bauelement Beschleunigungssensor → Beschleunigung im Raum
    • Icon Aufgabe

      Einige Sensoren des Calliope mini messen die physikalischen Größen direkt, andere geben den Wert relativ, leider aber nicht in Prozent an. Daher macht es Sinn, sich über die Wertebereiche der einzelnen Sensoren genauer zu informieren.  

    • Zusammenfassung/Rückblick Programmierung
      • Die Programmierung des Calliope mini funktioniert ähnlich wie in Scratch (siehe Klasse 7). In der blockbasierten Programmierumgebung MakeCode beschreiben wir durch Skripte das Verhalten des Gerätes beim Auftreten bestimmter Ereignisse (Beim Start, Dauerhaft, Wenn Knopf A gedrückt, ...). Dies nennt man ereignisorientierte, blockbasierte Programmierung.
      • In den Skripten verwenden wir algorithmische Grundstrukturen, um die Wiederholung eines Blockbereichs (Schleifen) oder einen alternativen Block (Verzweigungen) zu realisieren. Die Entscheidung darüber, ob die Schleife durchlaufen bzw. die Alternative abgearbeitet wird, legen wir mit Hilfe einer Bedingung, z. B. durch einen Vergleich zweier Werte fest. 
      • Eine Variable ist ein Platzhalter für die Speicherung eines Wertes unter einem Namen. Wir können uns eine Variable als eine bezeichnete Kiste vorstellen, in die genau ein Wert abgelegt werden darf. Das Ablegen des Wertes nennt man Wertzuweisung.

      Zuweisung des Wertes der Temperatur zur Variable messwert

      Abfrage des Wertes der Variable messwert zur Ausgabe auf der Anzeige

      Berechnung der Temperatur in Kelvin unter Verwendung des Wertes der Variable messwert und Neuzuweisung des Ergebnisses zur Variable messwert

  • Das Metronom

    • Sicherlich kennt Ihr das Metronom aus der Musik. Es ist das Gerät, welches pro Takt ein Signal ausgibt. Der einstellbare Takt wird in „Schläge pro Minute“ (beats per minute – bpm) angegeben. Stellt man das Metronom z. B. auf 120 bpm, so werden pro Sekunde zwei Signale ausgegeben.

      Übrigens kann man damit sogar (moderne) Musik machen: 

      Calliope mini als Metronom

      Der Calliope mini soll als Metronom arbeiten. Wir vereinbaren folgende Mindestanforderungen:

      • Grundtakt: 60 bpm
      • Start/Stopp: Berührung Sensor 1, Statusanzeige mit Farb-LED (rot – aus, grün – an)
      • Taktveränderung in 5er Schritten: Taste A erhöht, Taste B vermindert
      • Taktveränderung: Metronom stoppt - Start mit Sensor 1
      • Signalausgaben: akustisch und LED-Matrix-Darstellung

      Analyse der Funktionalität und des Programms

      Ein erster Programmentwurf liegt in der Datei „Metronom_Vorgabe.hex“ vor. Wir wollen diesen überprüfen.

      1. Schließe den Calliope mini an deinen Rechner an und kopiere das Programm auf das „MINI“-Laufwerk.
      2. Teste ausgiebig Korrektheit und Funktionalität des Metronom-Programms. Erfasse in einer Übersicht die Dinge, die korrekt, fehlerhaft bzw. nicht funktionieren. Vergleiche mit Deinem Nachbarn und testet ggf. erneut. Hinweis: Mit Hilfe des Tasters „RESET“ kannst du jederzeit den Startzustand des Programms wieder herstellen.

      Fehlerkorrektur

        1. Importiere die Datei in die Programmierumgebung für Calliope http://pxt.calliope.cc.
        2. Im Programm werden Platzhalter (sog. Variablen) verwendet.
          1. Ermittle die voreingestellten Werte der Variablen Variablen aktiv, bpm und merkerTasteA. 
          2. Beschreibe die Aufgaben der Variablen aktiv, bpm und merkerTasteA sowie den Prozess der Werteänderung.
          3. Prüfe, ob dieser Prozess den Mindestanforderungen entspricht. Korrigiere die Blöcke, speichert in eine Datei und übertragt diese auf den Calliope mini. Teste anschließend.Übertrage die Erkenntnisse auf die Arbeitsweise des Knopfs B. Passe die Blöcke an.
        3. Die Ausgaben des Metronoms werden im Block

      dauerhaft

        festgelegt.
        1. Erläutere deinem Nachbarn die Ausgaben des Metronoms mit Hilfe der Abbildung. Ermittelt die Koordinaten der verwendeten LEDs.
        2. Vergleicht die Ausgaben mit den Anforderungen und der Mängelübersicht.
        3. Korrigiert die Blöcke, speichert in eine Datei und übertragt diese auf den Calliope mini. Testet anschließend und korrigiert ggf. weiter.
      1. Im Block dauerhaft befindet sich unter dem Zeichen „?“ bereits ein Kommentar, der für Programmbeschreibungen genutzt werden kann.
        1. Ändere den Kommentar so ab, dass er die Aufgabe des gesamten Blocks beschreibt.
        2. Erstelle nach Absprache mit deinem Nachbarn für die anderen Blöcke ebenfalls beschreibende Kommentare. Behebt dabei die vorhandenen Probleme. Korrigiert das Programm, speichert in eine Datei und übertragt diese auf den Calliope mini. Testet anschließend und korrigiert ggf. weiter.

      Erweiterung

      1. Diskutiere mit Deinem Nachbarn eine sinnvolle Erweiterung für das Calliope-Metronom. Beschreibe diese, setze sie um und teste ausgiebig.

      Was haben wir gelernt?

      Variable, Bedingungen, Aktoren und Sensoren

  • Mega-Würfel

    • Ein einfacher Würfel

      Nachdem wir ein (ganz schön komplexes) Beispiel besprochen haben, entspannen wir uns bei einem kleinen Würfelspiel. Leider habe ich die Würfel vergessen - macht nichts, wir haben ja den Calliope!

      Entwickelt spontan ein kleines Würfelprogramm. Benutzt einen bislang nicht verwendeten Sensor zum Auslösen des Würfelvorgangs.

    • Ergebnis:

      Dummerweise ist der Calliope ganz schön träge beim Schütteln. Man sieht gar nicht, ob man zwei Mal eine Zahl geworfen hat oder das System einfach mal nicht auf das Schütteln reagiert hat. 

      Vorschlag: Nutzung der Farb-LED. Mit jedem Schütteln soll diese die Farbe wechseln.

    • Ergebnis: 

      Dummerweise sind manchmal die Farben der Farb-LED kaum zu unterscheiden. Versuchen wir es mit genau zwei Farben, die sich immer abwechseln sollen.

    • Ergebnis: Wir nutzen eine Variable farbmerker, die sich eine Zahl entsprechend der ausgewählten Farbe merkt. Damit können wir in Abhängigkeit von dieser Variable die Farbausgabe gestalten.

      FERTIG, oder?

    • Icon Aufgabe

      Ein Würfel, der nur die Zahlen von 1 bis 6 würfeln kann, ist doch langweilig! Versuchen wir es mit dem MEGA-Würfel.

      Calliope mini als Würfelgenerator

      Der Calliope mini soll als MEGA-Würfel arbeiten. Dieser besteht aus bis zu drei Würfeln in den Farben rot, grün und blau. Die Würfel haben immer gleich viele, aber änderbare Augenzahlen.

      Wir vereinbaren folgende Anforderungen:

      • Grundeinstellung: ein Würfel mit sechs Augen
      • Taste A: Veränderung der Augenzahl im Bereich 2 bis 9 in Einerschritten
      • Taste B: Veränderung der Anzahl der Würfel im Bereich von 1 bis 3 in Einerschritten
      • Taste A+B: Einschalten der Grundeinstellung
      • Schütteln: „Wurf der Würfel“ à Anzeige der Augenzahlen pro Würfel incl. Würfelfarbe

      Analyse der Funktionalität und des Programms

      Ein erster Programmentwurf liegt in der Datei „mini-Mega-Wuerfel_Vorgabe.hex“ vor. Wir wollen diesen überprüfen.

      1. Schließe den Calliope mini an deinen Rechner an und kopiere das Programm auf das „MINI“-Laufwerk.
      2. Teste ausgiebig Korrektheit und Funktionalität des Programms.

      Erfasse in einer Übersicht die Dinge, die korrekt, fehlerhaft bzw. nicht funktionieren. Vergleiche mit Deinem Nachbarn und testet ggf. erneut.

      Hinweis: Mit Hilfe des Tasters „RESET“ kannst du jederzeit den Startzustand des Programms wieder herstellen.

      Fehlerkorrektur

      Starte aus dem Startmenü das Hilfsprogramm Calliope Uploader und anschließend die Programmierumgebung für PXT lokal für den Calliope mini. Importiere die gegebene Datei.

      Arbeite nach folgender Schrittfolge zum Beheben der Fehler und zur Vervollständigung der Arbeitsweise.

      1. Prüfen/Korrigieren der Grundeinstellungen beim Start
      2. Prüfen/Korrigieren der Rücksetzfunktion mit Knopf A+B  
      3. Begründen der Korrektheit der Berechnung beim Bestimmen der Zufallszahl
      4. Prüfen/Korrigieren des Algorithmus für das Ereignis „Wenn Knopf A gedrückt“.
      5. Prüfen/Korrigieren des Algorithmus für das Ereignis „Wenn Knopf B gedrückt“.
        Hinweis: Wissen transferieren!
      6. Prüfen/Korrigieren der Farbanpassung bei mehreren Würfeln.
        Hinweis: Die Variable index merkt sich die Nummer des aktuellen Würfels beginnend bei 0. In Abhängigkeit vom index kann somit die Farbausgabe programmiert werden. Verwenden Sie Logik-Bausteine.

      Programmdokumentation

      Ergänze für alle Ereignisse beschreibende Programmkommentare.

  • Was eigenes entwickeln

    • Icon Aufgabe

      Der Calliope mini soll die Funktion eines der folgenden Systeme umsetzen.

      • Alarmanlage
      • Umgebungslichtabhängiges Straßenbeleuchtungssystem
      • Kompass
      • Thermometer mit Warnanzeige
      • Musikalische Glückwunschkarte
      • automatischer Personenzähler
      • Handyersatz zur Übermittlung einfacher Informationen
      • ...

      Aufgabenstellung

      1. Wähle ein Thema aus der obigen Liste. Entwickle eine exakte Beschreibung der gewünschten Funktionalität, eine sog. Spezifikation.
      2. Bestimme geeignete Calliope mini Sensoren und Aktoren zur Umsetzung der Spezifikation.
      3. Entwickle im Calliope mini Editor einen Algorithmus, der die gewünschte Spezifikation umsetzt.
      4. Dokumentiere mit Hilfe der Kommentarfunktion des Editors (Rechtklick auf einen Block) deinen Algorithmus (Variablen, Wiederholungs- und Verzweigungsstrukturen, Berechnungen).
      5. Bereite eine max. fünfminütige Präsentation deines Projekts vor, ohne eine Präsentationssoftware zu verwenden. Gehe dabei auf folgende Aspekte ein:
        • Projektziel
        • Arbeitsweise des Systems
        • Begründung der Sensoren- und Aktorenauswahl
        • Elemente des Algorithmus
        • Mögliche Weiterentwicklungen und Verbesserungen
        • Was ist mir bei der Projektbearbeitung besonders leicht/schwer gefallen und warum?
    • Icon Aufgabe

      Präsentiere in max. fünf Minuten dein Projekt. Gehe auf die folgende Aspekte ein:

      • Projektziel
      • Arbeitsweise des Systems
      • Begründung der Sensoren- und Aktorenauswahl
      • Elemente des Algorithmus
      • Mögliche Weiterentwicklungen und Verbesserungen
      • Was ist mir bei der Projektbearbeitung besonders leicht/schwer gefallen und warum?

      Schätze die Präsentation deiner Mitschüler ein. Nutze dazu den Einschätzungsbogen. Gib im Anschluss ein Feedback mit folgenden drei Aussagen:

      1. Ich habe beobachtet: ...
      2. Dies hat auf mich so gewirkt: ...
      3. Daher würde ich dir gern folgenden Tipp geben: ...