Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben...

15
Heerdegen-Leitner & Heerdegen, 2017 Seite 1 Der CodeBug B) Physical Computing 1) Einleitung .) Die sechs ringförmigen Kontakte des CodeBug werden als „Beinchen“ bezeichnet. Vier dieser Beinchen dienen als GPIO (General Purpose Input/Output), können also als Eingabe- oder Ausgabekontakte verwendet werden und sind mit den Ziffern 0, 1, 2, 3 gekennzeichnet. Ein Kontakt ist die Erdung (GND – Ground)) der letzte Kontakt (PWR – Power)) bringt den Strom. .) Eine zusätzliche Buchsenleiste ermöglicht es, den CodeBug direkt auf die entsprechenden Pins des Raspberry Pi stecken zu können, so kann der Codebug als Minidisplay für den Raspberry Pi genutzt werden. Der Raspberry Pi kann nun z.B. bei entsprechender Programmierung mit Hilfe der Programmiersprache Python die Uhrzeit oder das Datum auf dem Codebug anzeigen. .) Im Folgenden werden einige einfache Projekte vorgestellt, die die Möglichkeiten des CodeBug auf diesem Gebiet vorstellen. 2) Projekt „Musik mit dem CodeBug“ .) Wir programmieren die C-DurTonleiter und überlegen uns dann, wie wir Kopfhörer oder einen Lautsprecher an den CodeBug anschließen können. .) Zuerst müssen wir Beinchen 0 in den Musikausgabe-Modus bringen. Dazu gehen wir folgendermaßen vor: Wir klicken den blauen Ring im Start-Block an. Ein Fenster öffnet sich, wir machen bei Beinchen 0 ein Häkchen, danach schließen wir wieder das Fenster durch neuerliches Klicken auf den blauen Ring.

Transcript of Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben...

Page 1: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 1

Der CodeBug

B) Physical Computing

1) Einleitung

.) Die sechs ringförmigen Kontakte des CodeBug werden als „Beinchen“ bezeichnet. Vier dieser

Beinchen dienen als GPIO (General Purpose Input/Output), können also als Eingabe- oder

Ausgabekontakte verwendet werden und sind mit den Ziffern 0, 1, 2, 3 gekennzeichnet. Ein Kontakt ist

die Erdung (GND – Ground)) der letzte Kontakt (PWR – Power)) bringt den Strom.

.) Eine zusätzliche Buchsenleiste ermöglicht es, den CodeBug direkt auf die entsprechenden Pins des

Raspberry Pi stecken zu können, so kann der Codebug als Minidisplay für den Raspberry Pi genutzt

werden. Der Raspberry Pi kann nun z.B. bei entsprechender Programmierung mit Hilfe der

Programmiersprache Python die Uhrzeit oder das Datum auf dem Codebug anzeigen.

.) Im Folgenden werden einige einfache Projekte vorgestellt, die die Möglichkeiten des CodeBug auf

diesem Gebiet vorstellen.

2) Projekt „Musik mit dem CodeBug“

.) Wir programmieren die C-DurTonleiter und überlegen uns dann, wie wir Kopfhörer oder einen

Lautsprecher an den CodeBug anschließen können.

.) Zuerst müssen wir Beinchen 0 in den Musikausgabe-Modus bringen. Dazu gehen wir folgendermaßen

vor: Wir klicken den blauen Ring im Start-Block an. Ein Fenster öffnet sich, wir machen bei Beinchen 0

ein Häkchen, danach schließen wir wieder das Fenster durch neuerliches Klicken auf den blauen Ring.

Page 2: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 2

.) „Beinchen 0 auf Digitalausgang“ wird geändert zu „Beinchen 0 auf Musikausgang“. Ein Kabel mit

Krokoklemme an Beinchen 0 geklemmt wird uns nun die Ausgabe von Tönen ermöglichen!

.) Der Beginn unseres Programms sieht folgendermaßen aus:

.) Aus der Befehlsgruppe MUSIC wird der „Spiele Ton (Hz) -Block“ geholt. Bei Drücken der Taste A wird

das eingestrichene C gespielt.

.) Nun ist es sehr einfach, die übrigen Noten der C-Dur Tonleiter zu programmieren!

Page 3: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 3

.) Wir testen unser Programm, speichern es in unseren Account z.B. mit dem Namen „C-Dur Leiter“

und laden es dann auf unseren Computer herunter. Von hier kopieren wir es in unseren CodeBug!

.) Wie können wir nun unsere Musik hören? Wir benötigen zwei Kabel mit Krokoklemmen und einen

Kopfhörer. Wir verbinden mit einem Kabel das Beinchen 0 (Ausgang) mit dem Klinkenstecker des

Kopfhörers! Das andere Kabel kommt mit einem Ende an die Erdung und mit dem anderen Ende

ebenfalls an den Klinkenstecker des Kopfhörers.

ACHTUNG! Unser CodeBug kann Lautstärke NICHT regeln! Die Töne werden sehr laut ausgegeben!

BITTE DIE KOPFHÖRER-STÖPSEL NICHT DIREKT IN DIE OHREN STECKEN SONDERN IN VERTRETBAREM

ABSTAND NUR TESTEN, OB ALLES FUNKTIONIERT, OB TATSÄCHLICH TÖNE AUSGEGEBEN WERDEN!

Page 4: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 4

.) Was ist also zu tun um unsere Kopfhörer verwenden zu können? Wir müssen in unseren Stromkreis

ein POTENZIOMETER einbauen!

.) Ein Potenziometer ist ein ohmscher Widerstand, der kontinuierlich durch Drehen einer Schraube

verändert werden kann. Mit Hilfe des Potentiometers kann ich z.B. Lautstärke regeln. Durch die

Drehbewegung der Schraube steigt die Lautstärke linear an oder sie nimmt linear ab! Somit spricht

man von einem linearen Potenziometer.

.) Die Abbildung zeigt, wie wir den CodeBug mit den Kabeln und dem Potenziometer verbinden sollen!

Page 5: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 5

3) Projekt „Bruder Jakob“

.) Programm „Bruder Jakob“ – Wenn du das Programm „C-Dur Tonleiter“ verstanden hast, ist es

einfach, ein Programm zu schreiben, bei dem der CodeBug das Lied „Bruder Jakob“ spielt.

.) Wenn du Noten lesen kannst, hier hast du eine Hilfe!

Page 6: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 6

.) Die Notenfolge: F´, G´, A´, F´, F´, G´, A´, F´

A´, H´, C´´, A´, H´, C´´

C´´, D´´, C´´, H´, A´, F´

C´´, D´´, C´´, H´, A´, F´

G´, C´, F´, G´, C´, F´

.) Der Beginn deines Programms mit den ersten Noten sieht so aus:

.) Wie geht es weiter? Schreibe das Programm zu Ende!

.) Wenn du es nicht schaffst, rufe folgende Internetseite auf:

http://www.codebug.org.uk/explore/codebug/27009/bruder-jakob/

. ) Ausprobieren, in deinen Account speichern, auf deinen Computer herunterladen, in

deinen CodeBug kopieren, verkabeln! Viel Glück!

Page 7: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 7

4) Projekt „Beethoven

.) Der Beginn deines Programms:

.) Wenn du die Noten lesen kannst, geht es ganz einfach: A´, A´, B´, C´´ etc.

.) Du kannst auch folgende Internetseite aufrufen:

http://www.codebug.org.uk/explore/codebug/27010/beethoven/

.) Weitere Musikbeispiele findest du unter folgenden Internetadressen:

http://www.codebug.org.uk/explore/codebug/25680/krieg-der-sterne/

http://www.codebug.org.uk/explore/codebug/26728/schwanensee/

http://www.codebug.org.uk/explore/codebug/26727/happy-birthday/

Page 8: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 8

5) Projekt „Eine blinkende LED“

.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei

eingeschaltetem Licht ein 1er erscheinen für „Strom fließt“ und bei ausgeschaltetem Licht ein 0er für

„Strom fließt nicht“!

.) Wir benötigen neben dem CodeBug zwei Kabel mit Krokoklemmen und eine LED. LEDs leuchten,

wenn Strom in einer Richtung durch sie fließt. Sie haben zwei Anschlussdrähte, einen längeren, das ist

der Pluspol oder die Anode und einen kürzeren, das ist der Minuspol oder die Kathode.

.) Baue den Stromkreis laut Zeichnung auf!

.) Wir setzen Beinchen 0 auf Digitalausgang.

.) Wenn wir nun aus Ein-/Ausgaben den Befehlsblock „setze Beinchen/Pin 0 to 0“ oder den

Befehlsblock „schalte Beinchen 0 aus“ verwenden, passiert folgendes. An PWR ist immer ein

Spannungspegel von 3,3 Volt vorhanden. An Beinchen 0 ist nun eine Spannung von 0 Volt. Damit wird

dieses Beinchen gegenüber dem Beinchen PWR zum Minuspol, weil an Beinchen PWR eben 3,3 Volt

anliegen. Es fließt also Strom, die LED leuchtet. Die LED-Matrix wird also 1 für „Strom fließt“ anzeigen.

Page 9: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 9

.) Wenn wir hingegen Beinchen 0 auf 1 setzen oder Beinchen 0 auf ein, dann ist auch an Beinchen 0

ein Spannungspegel von 3,3 Volt vorhanden. Beide Beinchen (0 und PWR) haben das gleiche

elektrische Potenzial, zwischen ihnen gibt es keine Spannung und es fließt deshalb kein Strom. Die LED

leuchtet nicht. Die LED-Matrix wird nun 0 für „Strom fließt nicht“ anzeigen.

.) Das Programm ist einfach zu schreiben:

Page 10: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 10

.) In deinem Account sichern, auf den Computer herunterladen, in deinen CodeBug kopieren und

testen!

.) Kannst du das Programm so verändern, dass die LED erst dann zu blinken beginnt, wenn die A-

Taste gedrückt wird?

6) Projekt „Zwei blinkende LEDs“

.) Zwei LEDs sollen nach einem bestimmten Muster blinken. Zuerst sind beide LEDs ausgeschaltet. Jetzt

soll die erste LED leuchten, dann sind beide wieder ausgeschaltet. Dann soll die zweite LED leuchten.

Wieder sind danach beide LEDs ausgeschaltet. Zum Schluss sollen alle beiden LEDs blinken. Danach

beginnt das Blinkmuster wieder von vorne. Mit dem Wiederhole-Befehl können wir entscheiden, wie

oft das Blinkmuster aufgerufen werden soll. Für dieses Beispiel verwenden wir Beinchen 0 (LED 1),

Beinchen 1 (LED 2) und Beinchen PWR.

.) Entscheide, wie und wo du die Kabel mit den Krokoklemmen anschließen musst! Du brauchst vier

solche Kabel und natürlich 2 LEDs.

Page 11: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 11

.) Die Lösung könnte so aussehen:

7) Projekt „Aufgaben“

.) Es soll ein Programm geschrieben werden, das folgendes kann:

a) Eine LED soll 5 mal blinken!

b) Die LED-Matrix soll O für „Strom fließt nicht“ und 1 für „Strom fließt“ anzeigen!

c) Das Programm soll durch Drücken der A-Taste beginnen!

d) Die LED soll mit dem Pluspol (Anode) an Beinchen 1 angeschlossen werde!

e) Der Minuspol der LED (Kathode) ist an der Erdung (GRD) angeschlossen!

f) Nach fünfmaligem Blinken ist die LED-Matrix leer, sie zeigt also nichts an!

.) Es soll folgendes zweite Programm geschrieben werden:

a) Zwei LEDs sollen nach unserem schon bekannten Muster 5 mal blinken!

b) Das Programm beginnt durch Drücken der A-Taste!

c) Eine LED wird an Beinchen 0 angeschlossen, die andere LED an Beinchen 1!

d) Die Kathoden der LEDs werden an GRD (Erdung) angeschlossen!

Page 12: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 12

8) Projekt „Leitfähigkeit“

.) Ein Programm soll geschrieben werden, bei dem der CodeBug uns zeigt, ob Gegenstände Strom

leiten oder nicht. Bei Gegenständen, die Strom leiten soll die LED-Matrix aufleuchten.

.) Der „Versuchsaufbau“ sieht folgendermaßen aus: Ein Kabel kommt mit der Krokoklemme an das

Beinchen 0, das andere Kabel verbinden wir mit GND (Ground = Erdung).

.) Das Programm selbst ist sehr einfach:

.) Beinchen 0 wird nur durch einen leitfähigen Gegenstand mit der Erdung verbunden, wird somit

„geerdet“! Ist das wahr, dann wird auf der LED-Matrix ein Muster ausgegeben.

.) Eine Münze leitet den Strom, die LED-Matrix leuchtet auf, wenn man sie mit beiden Krokoklemmen

berührt.

.) Versuche andere Gegenstände: Papier, Plastik, Schere, Wasser,…

Page 13: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 13

.) In deinem Account sichern, auf den Computer herunterladen, in deinen CodeBug kopieren und

testen!

9) Projekt „Gegenstände und Obst erraten“

Page 14: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 14

.) Dieses Programm lehrt Codebug, verschiedene Gegenstände oder verschiedenes Obst zu erkennen

und zu benennen. Natürlich muss es sich um leitfähige Sachen handeln.

.) Beinchen 0, 1, 2 und 3 werden auf Digitaleingang gesetzt!

.) An jedes Beinchen wird ein Kabel mit Krokoklemme angeschlossen.

.) Das fünfte Kabel mit Krokoklemme kommt an die Erdung (GND).

.) Wenn wir nun mit einer Hand die Münze berühren, und mit der anderen Hand die Krokoklemme des

Erdungskabels, ist also nun „Beinchen 0 geerdet“, dann wird auf der LED-Matrix der Text „Münze“

ausgegeben.

.) Berühre ich nun in der gleichen Weise den Apfel, die Banane oder die Schere, wird CodeBug mir die

richtigen Namen nennen können.

.) Baue deinen Versuch folgendermaßen auf:

Page 15: Der CodeBug - Wien · 5) Projekt „Eine blinkende LED“.) Es soll ein Programm geschrieben werden, das eine LED blinken lässt. Auf der LED-Matrix soll bei eingeschaltetem Licht

Heerdegen-Leitner & Heerdegen, 2017 Seite 15

10) Bonus – Zwei Spiele

.) Für den CodeBug kann man auch Spiele programmieren! Bei dem Spiel „Steinschlag“ musst du mit

den beiden Tasten A und B herunterfallenden Steinen ausweichen. Der CodeBug wird „Richtung

runter“ gehalten. Nach dem Drücken einer der beiden Tasten beginnt das Spiel. Du bist das Pixel in

Zeile 0 deiner LED-Matrix. Weiche den herunterfallenden Steinen aus! Trifft dich ein Stein, ist das Spiel

zu Ende. Der Punktestand gibt die Anzahl der Steine an, denen du ausweichen konntest.

Du findest das Spiel unter:

http://www.codebug.org.uk/explore/codebug/27660/steinschlag/

.) Das zweite Spiel heißt „Äpfel fangen“. Nun sollst du nicht den herunterfallenden Äpfeln ausweichen,

sondern du sollst sie einsammeln. Für jeden Apfel gibt es einen Punkt! Lässt du einen Apfel fallen, ist

das Spiel zu Ende. Halte den CodeBug wiederum in „Richtung runter“! Steuere das Spiel wieder mit

den beiden Tasten A und B! Der Punktestand wird nicht als Zahl ausgegeben sondern die Anzahl der

Pixel zum Schluss zeigt dir die errungenen Punkte.

Dieses Spiel findest du unter

http://www.codebug.org.uk/explore/codebug/27437/apfel-fangen/