Giter Site home page Giter Site logo

workshop-calliope's Introduction

Calliope Mini Workshop

Calliope Mini Logo

In diesem Workshop werden spielerisch erste Erfahrungen mit einfachen Programmierkonzepten auf Basis des Calliope Minis erarbeitet.

Der Workshop ist für eine Dauer von etwa 90 Minuten zusammengestellt. Es sind immer zwei Kinder und ein Mentor pro Calliope Mini gedacht.

Voraussetzungen

Editor

Es kann entweder eine Online Editor verwendet werden: https://makecode.calliope.cc/

Alternativ ist auch möglich lokal einen Editor zu nutzen (keine Internetverbindung notwendig). Dafür muss zuvor folgendes Projekt aufgesetzt werden: https://github.com/calliope-mini/pxt-calliope-static

Hardware

  • Ein Calliope Mini :-)
  • Für den Einsatz des Editors sollte man mindestens einen Raspberry Pi 3 nutzen (Performance).

Aufgaben

1. Hello World!

Schreibt eure Namen mit dem Calliope. Verwende dafür die LED Matrix!

Beispiel

Code HEX
01_hello-world/01_hello-world.js 01_hello-world/01_hello-world.hex

2. Spiele ein kleines Lied

Es ist auf dem Calliope ein Lautsprecher verbaut. Baue eine kleine Melodie für den Calliope.

Beispiel

Code HEX
02_music/02_music.js 02_music/02_music.hex

3. Farbe mit den Fingern verändern

In dieser Aufgabe lernst du die Sternspitzen (Pins) des Calliope kennen.

Durch Berührung kannst du den Calliope steuern. Ändere die Farbe der RGB-LED durch deine Berührung.

Hinweis: Es muss immer auch gleichzeitig "GND" bzw. die mit "-" gekennzeichnete Sternspitze berührt werden!

Beispiel

Code HEX
03_touch/03_touch.js 03_touch/03_touch.hex

4. Calliope Klavier

Nutze die Möglichkeiten aus den beiden vorherigen Aufgaben und baue ein Klavier, sodass beim Drücken einer Taste ein Ton erklingt.

Beispiel

Code HEX
04_piano/04_piano.js 04_piano/04_piano.hex

5. Lautstärke messen

Ganz schön laut hier drin? Lass uns mit den Calliope die Lautstärke messen!

In dieser Aufgabe lernst du das erste Mal Platzhalter und den Mikrofon-Eingang kennen.

Beispiel

Code HEX
05_noise/05_noise.js 05_noise/05_noise.hex

6. Lautstärke-Ampel

Immer wenn es uns zu laut wird wollen wir das mit dem Calliope anzeigen.

In diesen Beispiel verwenden wir das erste Mal eine Bedingung (Wenn...Dann...Ansonsten...)

Beispiel

Code HEX
06_noise-light/06_noise-light.js 06_noise-light/06_noise-light.hex

7. Der Kompass im Calliope

Der Calliope kann dir die Richtung weisen. Dafür hat er einen Kompass eingebaut. Was ist ein Kompass? Und wie funktioniert er? Was sind 1 bis 360°?

Analoges Signal

Bei einem analogen Input liefert der Sensor Messdaten mit einem kontinuierlichen Wertebereich. Beim Kompass ist dies beispielsweise ein Wertebereich von 1° bis 360°. Ein analoger Input wie der Kompass kann also 360 verschiedene Werte messen.

Achtung!

Der Kompass muss zunächst kalibriert werden damit er richtig funktionieren kann. Für die Kalibrierung zeigt der Calliope auf der LED-Matrix einen Kreis an den man durch Bewegung in alle Richtungen komplettieren muss.

Teil 1

Zeige die Werte des Kompasses auf dem LED-Display an. Drehe den Calliope in jede Richtung und zeichne die Werte auf einem Blatt Papier auf.

Teil 2

Teile den Wertebereich von 0 bis 360° in acht Teile auf und Zeichne für jeden Wertebereich einen Pfeil in die jeweilige Richtung auf der LED-Matrix.

Rechenbeispiel

Wenn der Kompass nach Norden zeigt muss der gemessene Wert zwischen 338 und 23° liegen.

Die Rechnung dahinter: Bei 0° zeigt der Kompass direkt nach Norden. Wenn der Wertbereich in acht Teile geteilt wird sind pro Teil 45° für den Wertebereich relevant.

0° - (45°/2) = -22,5° ~= 338°
0° + (45°/2) =  22,5° ~= 23°
Wertebereiche
Richtung Wertebereich
Nord 338° bis 23°
Nordost 23° bis 68°
Ost 68° bis 113°
Südost 113° bis 158°
Süd 158° bis 203°
Südwest 203° bis 248°
West 248° bis 293°
Nordwest 293° bis 338°

Beispiel

Code HEX
07_compass/07_compass.js 07_compass/07_compass.hex

8. Geheime Nachrichten

Der Calliope kann mit anderen Calliopes sprechen. Sende einer anderen Gruppe eine geheime Nachricht.

Wichtig ist, dass ihr zuvor eine gemeinsame Gruppe ausmacht!

Teil 1

Sende/Empfange eine geheime Nachricht.

Beispiel
Code HEX
08_messages/sender-01.js 08_messages/sender-01.hex
08_messages/receiver-01.js 08_messages/receiver-01.hex
Sender

Receiver

Teil 2

Sende/Empfange geheime Sensorwerte/Bilder

Beispiel
Code HEX
08_messages/sender-02.js 08_messages/sender-02.hex
08_messages/receiver-02.js 08_messages/receiver-02.hex
Sender

Receiver

Quellen

workshop-calliope's People

Contributors

honnel avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

rao003 cy4n

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.