der crumble controller · 2020-06-01 · einmal programmiert, merkt sich cramble das programm...
TRANSCRIPT
1
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
Der Crumble Controller
1) Einleitung
Wenn wir an Mikrocontroller für Schüler denken, fallen uns Boards wie der BBC Micro: bit,
der Calliope mini oder der Codebug ein. Aber schon lange vor diesen beliebten und
bekannten Microcontrollern gab es einen anderen, der sich direkt an Kinder, besonders eher
jüngere, richtete, und das war und ist der Crumble Controller.
Der Crumble ist ein kostengünstiger, benutzerfreundlicher Mikrocontroller. Ein paar
Krokodilkabel und ein USB-Kabel sind alles, was wir brauchen, um Motoren, LEDs und
Sensoren anzuschließen und mit dem Experimentieren zu beginnen. Es sind keine großen
Programmiererfahrungen erforderlich, da die Software ein grafisches Drag-and-Drop-System
ist, das an Scratch erinnert und von ihm wahrscheinlich inspiriert wurde.
Der Crumble-Mikrocontroller wird von einem PIC16F145S-Chip angetrieben, nicht von einem
typischen Atmel- oder ARM-Chip. Dieser Chip ist jedoch leicht programmierbar und vor allem
billig, das ist ideal für ein in großer Anzahl in Schulen einsatzbares Board. (Das Starter-Kit,
bestehend aus dem Crumble Controller, einem Batteriefach, einem USB-Kabel,10
Krokodilkabeln, 2 Sparkels, 1 Schalter, 1 Buzzer und 1 Lichtsensor, kostet ca. € 27,00.-)
Der Crumble selbst misst nur 51 mm x 34 mm und verfügt über zwölf GPIOs (General Purpose
Input / Outputs) und einen Micro-USB-Anschluss, der für die Stromversorgung und
Programmierung der Karte verwendet wird.
2
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
Unter den GPIO-Pins finden wir zwei GPIO-Stromeingänge, die für den Anschluss an eine
externe Stromquelle (zwischen 4,5 V und 5,5 V) verwendet werden. Gegenüber haben wir
zwei Power-Out-GPIOs auf der rechten Seite.
Die nächsten vier GPIOs sind A, B, C, D und diese können als Ein- oder Ausgänge eingestellt
werden und sie können digital oder als analoge Ports arbeiten.
Die letzten vier GPIOs sind für die Verwendung mit Gleichstrommotoren reserviert, da der
Crumble über eine integrierte H-Brückenmotorsteuerung verfügt, mit der wir Motoren sowohl
vorwärts als auch rückwärts steuern können.
Die Verbindung zum GPIO funktioniert über Krokodilklemmen. Wenn wir eine stabilere
Verbindung haben wollen, können wir ganz einfach M4-Schrauben und Ringcrimps
verwenden.
Der Crumble kann bis zu 32 sogenannte „Sparkles“ (das sind RGB-LEDs) steuern.
Für den Crumble gibt es auch eine eigene Reihe kompatibler Komponenten, sogenannte
„Crumbs“ („Krümel“), die für die Verwendung mit Krokodilklemmen entwickelt wurden. Wir
haben Line Follower Widgets, Motoren, Sensoren und andere gängige Komponenten, die für
die Verwendung mit Crumble an diesen angepasst sind.
2) Programmierung
Dieser Mikrocontroller „merkt“ sich das Programm, das mit der Software programmiert wurde,
wenn er vom Computer getrennt wird. Wir brauchen nur das grüne Dreieck in der
Programmierumgebung anklicken, das Programm wird in den Crumble gesendet und bleibt
dort im Speicher. Ein separates Speichern wie bei anderen Boards ist nicht notwendig. Wir
schließen den Crumble einfach an eine Batterie (zwischen 4,5 V und 5,5 V) an und das
Programm läuft, wenn der On-Schalter am Batteriegehäuse betätigt wird.
Um das Board zu programmieren, müssen wir die Crumble-Software von der Website
herunterladen. Dieser kostenlose Download ist für Windows-, Mac- und Linux-Geräte
verfügbar, einschließlich des Raspberry Pi.
https://redfernelectronics.co.uk/crumble-software/
Die Crumble-Software ist Scratch sehr ähnlich. Aber sie hat ein paar kleine Eigenheiten. Ein
Unterschied besteht z.B. darin, dass bei der Verwaltung von Vergleichsoperatorblöcken keine
Gleitkommawerte verwendet werden können, sondern nur Ganzzahlen verwendet werden.
Crumble kennt eigene WS2811-LEDs, die als "Sparkles" („Funkler“) bezeichnet werden. Diese
können im Menüpunkt "Sparkles" programmiert werden.
Diese LEDs können vom Crumble auf jede Farbe eingestellt werden. Sie werden mit den
"Power Out" - GPIOs und mit "D" verbunden. Jeder Sparkle verfügt über eigene Power-In- und
Out-Anschlüsse, die miteinander verkettet werden können (bis zu 32 LEDs lang). Die Farbe
jedes Sparkles („Funkler“) kann vom Crumble individuell gesteuert werden.
3
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
3) Erste Schritte
3.1. Motoren anschließen: Wir schließen die Batterien und die Motoren laut
Abbildung an.
Quelle: www.redfernelectronics.co.uk/crumble
4
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
Die Programmierung der beiden Motoren sieht folgendermaßen aus:
Beide Motoren drehen sich 1 Sekunde mit voller Geschwindigkeit (100%) vorwärts, danach
stoppen sie für 1 Sekunde und danach beginnt die Schleife wieder von vorne. Dies so lange,
bis der Schalter am Batteriefach auf „aus“ gestellt wird.
Einmal programmiert, merkt sich Cramble das Programm solange, bis ein neues Programm
erstellt wird. Man kann also mit einem geeigneten Chassis und mit zwei Motoren bereits ein
einfaches Auto bauen und es mit einem einfachen Programm fahren lassen.
Video
5
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
Unser Beispielprogramm bringt ein selbst gebasteltes Auto dazu, 3 Sekunden vorwärts zu
fahren, sich danach nach rechts zu drehen, wieder 3 Sekunde vorwärts zu fahren und sich
danach nach links zu drehen und dann wieder 3 Sekunde vorwärts zu fahren und so fort. Das
Programm wird auf unbestimmte Zeit wiederholt, wie gesagt, so lange, bis der Schalter am
Batteriefach auf „aus“ gestellt wurde.
Quelle: www.redfernelectronics.co.uk/crumble
6
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
3.2. Digitale Outputs - Sparkles anschließen: Sparkles werden mit den "Power Out"
- GPIOs und mit "D" des Crumble verbunden.
Quelle: www.redfernelectronics.co.uk/crumble
Diese RGB-LEDs können vom Crumble digital auf jede Farbe eingestellt werden. Die
Programmierung ist recht einfach.
7
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
Da jeder Sparkle über eigene Power-In-Anschlüsse und Power-Out-Anschlüsse verfügt,
können mehrere Sparkles (bis zu 32) miteinander verbunden werden.
Quelle: www.redfernelectronics.co.uk/crumble
3.3. Digitale Outputs - Eine LED anschließen:
Quelle : www.redfernelectronics.co.uk/crumble
Die Abbildung zeigt den Anschluss der LED ohne externe Stromquelle, also ohne Batterie! Die
Kathode (kürzeres Beinchen) kommt an den "Power In" – GPIO „-“, die Anode kommt an den
8
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
Ausgang A, der hier als digitaler Ausgang verwendet wird. In der Digitalelektronik bedeutet
„HI(gh)“ „Strom an“. „LO(w)“ bedeutet „Strom aus“. Die LED leuchtet also!
Eine blinkende LED wird also folgendermaßen programmiert: Leuchte eine Sekunde („Strom
an“), Licht aus für eine Sekunde („Strom aus“), wiederhole das Programm auf unbestimmt Zeit!
Schwieriger wird der Anschluss, wenn wir den Crumble vom Computer trennen und mit
Batterien arbeiten, um mobil zu sein.
Die Batterie wird an den Crumble wie bereits bekannt angeschlossen (siehe Motor
anschließen), die Anode kommt an den Ausgang „A“, die Kathode wird am zweiten
Minus-Pin des Batteriegehäuses angeschlossen! Betätigen wir den On-Schalter des
Batteriegehäuses, beginnt die LED zu blinken.
3.4. Analoge Inputs - Einen Lichtsensor anschließen:
Quelle:www.redfernelectronics.co.uk/crumble
9
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
Der Crumble Controller kann Spannungen zwischen 0 V und der Spannung der
Stromversorgung messen, in unserem Beispiel 4,5 V, wenn er an 3 AA-Batterien
angeschlossen ist. Die Spannung wird in eine Zahl zwischen 0 und 255 umgewandelt. Der
Crumble kann auch ohne zusätzliche Komponenten direkt an analoge Sensoren wie LDRs und
Thermistoren angeschlossen werden.
Wie wir sehen, kommt ein Beinchen des Lichtsensors (Photowiderstand oder LDR) an den
„Power-Out“ – GPIO „-“ und das andere Beinchen an „C“. Der Befehl
Speichert in der Variablen „t“ den analogen Wert, das ist je nach Helligkeit eine Zahl von 0 bis
255, der am Eingang „C“ gemessen wird.
Wenn wir nun eine LED wie bereits gelernt an den Crumble anschließen und gleichzeitig einen
Lichtsensor, dann können wir z.B. folgendes kleine Programm schreiben:
Wenn es dunkler wird, sinkt der analoge Wert von C unter 100. Bei einem gemessenen Wert
von unter 100 schalte die LED ein, ist der Wert größer als 100, dann schalte die LED wieder
aus.
Quelle: www.redfernelectronics.co.uk/crumble
10
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
3.5. Digitale Inputs - Einen Drucksensor (als Schalter) verwenden:
Quelle: www.redfernelectronics.co.uk/crumble
Bei Batterie-Betrieb wird die Kathode der LED am Minus-Pin des Batteriegehäuses
angeschlossen, der Drucksensor am Plus-Pin des Batteriegehäuses!
Die Programmierung sieht folgendermaßen aus:
Wird also der Drucksensor gedrückt, gilt also
dann schalte die LED ein, sonst schalte die LED aus!
11
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
3.6. Analoge Inputs – Ein Potentiometer verwenden
Quelle: www.redfernelectronics.co.uk/crumble
3.7. Analoge Inputs – Einen Piezoelectric-Buzzer verwenden
Quelle: www.redfernelectronics.co.uk/crumble
12
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
4) Kleinere Projekte
4.1. Erweiterte Sparkle-Steuerung
Jeder Sparkle enthält drei LEDs, eine für jede Primärfarbe: Rot, Grün und Blau. Die
scheinbare Farbe jedes Sparkles wird durch Mischen verschiedener Mengen der
Primärfarben gesteuert, genau wie bei einem Pixel auf einem Farbbildschirm.
Dieser Block steuert die Helligkeit jeder der Primärfarben: Ein Wert von Null
bedeutet deaktiviert und ein Wert von 255 bedeutet die maximale Helligkeit.
Zum Beispiel setzt dieser Block die erste LED, also Rot, auf etwa die halbe
Helligkeit.
Dieser Block setzt sowohl die rote als auch die blaue LED auf die halbe Helligkeit,
um ein violettes Licht zu erzeugen.
4.2. Farbenspiel
Variablen können verwendet werden, um die Farbe von Sparkles zu steuern.
Dieses Programm verändert die Farbe der RGB-LED von blau über violett nach rot.
Video
13
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
4.3. Flackerndes Licht
In diesem Beispiel wird ein flackernder Kerzeneffekt mit Zufallszahlen erzeugt.
Eine grüne Farbe wird durch Mischen einer zufälligen Menge von Rot und Gelb
erzeugt.
Das Warten auf eine zufällige Verzögerung wiederholt den Flackereffekt.
Video
4.4. Drehschalter
Die vier GPIOs A, B, C und D können als Ein- oder Ausgänge eingestellt werden und sie
können digital oder als analoge Ports arbeiten.
14
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
Ein Schalter ist wohl die einfachste Art der Eingabe und ermöglicht uns einen digitalen Eingang für den Crumble. Wir wissen bereits: In der Digitalelektronik bedeutet „HI(gh)“ „Strom an“ und „LO(w)“ bedeutet „Strom aus“. Strom fließt nur, wenn ein freier Weg von positiv (+) nach negativ (-) vorhanden ist. Wenn wir den Stromkreis (die Verbindung) unterbrechen, fließt der Strom nicht mehr. Wir können dies tun, indem wir einen Schalter verwenden, eine Vorrichtung, mit der wir den Stromfluss steuern. Es gibt alle möglichen Arten von Schaltern. Aber manchmal gibt es einfach nicht den, den wir für ein bestimmtes Projekt brauchen. Eine gute Möglichkeit, ein bestimmtes Problem zu lösen und darüber nachzudenken, wie Schalter funktionieren, besteht darin, eigene zu basteln, etwas herzustellen, das einen Stromkreis schließt.
Unser Drehschalter verwendet drei separate Eingänge unseres Crumbles (A, B und C). Der
Drehschalter selbst hat drei Ausgänge. Der Pfeil unseres Drehschalters kann auf einen dieser
drei Ausgänge ausgerichtet werden. Jeder Ausgang verbindet sich mit einem Eingang auf dem
Crumble. Wenn ein Eingang den Zustand HI(gh) aufweist, soll die RGB-LED, je nach Eingang,
rot, grün oder blau aufleuchten.
15
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
Unser Programm dafür sieht folgendermaßen aus:
Video
4.5. Leiter oder Nichtleiter?
Auch bei der folgenden Bastelei können wir von einem Schalter sprechen, es könnte aber auch ein Messgerät sein, das feststellt, ob ein Körper elektrischen Strom leitet oder nicht. Da z.B. Wasser den Strom leitet, könnte man auch von einem Feuchtigkeitssensor sprechen. Unser „Schalter“ besteht aus zwei Streifen selbstklebendem Kupferband, die nahe beieinander liegen. Wenn wir z.B. einen Finger nass machen und ihn über die beiden Streifen legen, überbrückt die Feuchtigkeit die beiden Kupferstreifen, wodurch der Schalter den Stromkreis schließt und unsere RGB-LED leuchtet. Legen wir verschiedene Gegenstände auf die beiden Streifen, können wir sie in „Leiter“ und „Nichtleiter“ einteilen (Münze, Radiergummi, Korken, Kaffeelöffel, Glas, Schere etc.) Unsere RGB-LED soll grün aufleuchten, wenn es sich bei dem zu testenden Gegenstand um einen Leiter handelt.
16
4.0 2020, CC - BY - 4.0 Heerdegen-Leitner Maria
NTS 4 – GTNMS / 1040 Wien,Schäffergasse 3 https://creativecommons.org/licenses/by/4.0/legalcode.de
Video