Grundlegende Informationen
Verbindungsmodule
PIN-Nummerierung
Programmierung
Wir programmieren den micro:bit in der MakeCode-Umgebung. Diese Umgebung enthält vorgefertigte Funktionen zur Steuerung des micro:bit. Zusätzlich zu den integrierten Funktionen können neue Funktionen durch Hinzufügen einer sogenannten Bibliothek zur MakeCode-Umgebung hinzugefügt werden.
Bei den meisten Funktionsbausteinen müssen Sie auswählen, an welchen Anschluss das Modul angeschlossen wird.
Bibliothek
In diesem Tutorial verwenden wir unsere eigene Einsteigerbibliothek. Die Bibliothek wurde speziell für dieses Set entwickelt und enthält Funktionen zur Steuerung aller Blöcke.
Rechts befindet sich ein leeres Projekt, in das bereits die Anfängerbibliothek eingebunden ist . Programme für einzelne Blöcke finden Sie weiter unten.
Taste
Eigenschaften
Der Knopf ist das einfachste Steuerelement. Durch Drücken des Knopfes wird ein Stromkreis geschlossen, vergleichbar mit dem Verbinden zweier Drähte. Dadurch fließt Strom zum micro:bit-Eingang. Mit dem Knopf lassen sich alle anderen Komponenten des Mikrocontrollers steuern, beispielsweise der Neopixel, der Motor oder einzelne farbige LEDs.
Ein Knopf stellt einen Eingang dar, der nur zwei Stufen hat – EIN, AUS. Einen solchen Eingang nennen wir logisch.
Bibliothek
Programm
Aufgabe 1: Das Display einschalten
Aufgabe 2: Würfeln
In diesem Beispiel benötigen wir den Zustand des losgelassenen Knopfes nicht. Es genügt, beim Drücken des Knopfes eine Zahl auf dem Display anzuzeigen. Zur Generierung dieser Zahl verwenden wir eine mathematische Bibliothek, die die Funktion „Zufallszahl“ enthält. Wir wählen dasselbe Zahlenintervall wie bei einem klassischen Würfel.
LED-Licht
Eigenschaften
Bibliothek
Mithilfe der Bibliothek können wir die LED mit der Funktion „LED einschalten“ einschalten oder mit der Funktion „LED ausschalten“ ausschalten. Zusätzlich kann die LED-Helligkeit mit dem Block „Zahl an LED schreiben“ auf einen bestimmten Wert eingestellt werden.
Die LED verfügt außerdem über erweiterte Blöcke. „LED umschalten“ schaltet die LED ein, wenn sie nicht leuchtet, und aus, wenn sie leuchtet. Der Block „LED einschalten? wahr/falsch“ schaltet die LED ein, wenn der Wert „wahr“ eingegeben wird.
Programm
Wir schließen die LED an Anschluss 2 an.
Kontrollleuchte
Wir verbinden einen Taster mit Anschluss 1. Wie im Kapitel zum Taster verwenden wir die Bedingung „Wenn x, dann A, sonst B“. Der Wert des Tasters wird in der Bedingung verwendet. Wird der Taster gedrückt, schalten wir die LED mit dem Block „LED einschalten“ ein. Vergessen Sie nicht, die Anschlussnummer zu ändern. Zum Ausschalten der LED verwenden wir den Block „LED ausschalten“.
Intensitätseinstellungen
Einstellen der Blinkfrequenz
Einstellung der Blinzelfrequenz (erweitert)
Wenn wir den „LED ein-/ausschalten“-Block nicht verwenden möchten, können wir diese Logik mithilfe einer Bedingung selbst programmieren. Um festzustellen, ob die LED an oder aus ist, müssen wir diesen Zustand in einer Variablen speichern. Wir erstellen eine Variable mit dem Wert „false“. Das bedeutet, dass zu Beginn des Programms nichts leuchtet. In der Schleife prüfen wir dann, ob die LED ein- oder ausgeschaltet werden soll. Wenn die LED leuchtet, d. h. die Variable „lit“ den Wert „true“ hat (lit = true), schalten wir die LED mit dem „LED ausschalten“-Block aus. Gleichzeitig speichern wir diese Zustandsänderung in unserer Variable „lit“. Wir setzen „lit“ also auf „false“. Andernfalls schalten wir die LED ein und speichern den Wert „true“ in der Variable.
Zum Schluss pausieren wir das Programm erneut mit „wait x ms“, wobei wir den Wert des Potentiometers verwenden.
Vergessen wir nicht, überall die korrekten Anschlussnummern einzustellen.
Motorrad
Eigenschaften
Bibliothek
Programm
Schließen Sie den Motor an Stecker 2 an.
Den Motor mit einem Knopf einschalten
Geschwindigkeitseinstellung mit Potentiometer
Lichtsensor
Eigenschaften
Dieser Sensor kann die Intensität des einfallenden Lichts messen. Dadurch können wir viele Dinge erfassen. Zum Beispiel, ob es Tag oder Nacht ist, ob das Licht im Raum eingeschaltet ist, ob sich ein Hindernis davor befindet und so weiter.
Das Hauptelement des Sensors ist ein Fotowiderstand . Ähnlich einem Potentiometer handelt es sich um einen speziellen Widerstand, dessen Widerstandswert sich ändert. In diesem Fall hängt der Widerstand von der Intensität des einfallenden Lichts ab. Dadurch ändert sich wiederum der Wert des durch den Stromkreis fließenden Stroms, der vom micro:bit an seinem Eingangspin gemessen wird.
An der Vorderseite des Blocks befindet sich außerdem ein Potentiometer . Wir verwenden es zur Kalibrierung. Für Messungen im Dunkeln benötigen wir eine andere Empfindlichkeit als für Messungen im Licht.
Bibliothek
Bei den Sensoren „ Lichtsensor, IR-Sensor und UV-Sensor “ verwenden wir die gleichen Bausteine. Ihr Ausgang ist ein Wahrheitswert ( wahr/falsch).
In fortgeschrittenen Blöcken existiert der gleiche Block, nur mit einer Ausgabe von 1/0.
Programm
Schließen Sie den Sensor an Anschluss 1 an.
Automatischer Ventilator
Wir schließen den Motor an Anschluss 2 an . Der Aufbau ist derselbe wie beim Schalten des Motors mit einem Taster. Anstelle des Tastersignals verwenden wir den Sensorwert.
Fließband
Schließen Sie eine rote LED an Anschluss 2 und eine grüne LED an Anschluss 3 an. Erkennt der Sensor ein Hindernis auf dem Förderband, leuchtet die rote LED auf. Andernfalls leuchtet die grüne LED.
IR-Sensor
Eigenschaften
Dieser Sensor ist in der Lage, Infrarotstrahlung (IR) zu erfassen, die für das menschliche Auge unsichtbar ist. Dadurch können wir Wärme, Bewegung oder die Anwesenheit von Objekten erkennen, die IR-Licht aussenden oder reflektieren.
Das Hauptelement des Sensors besteht aus einer Infrarotdiode und einem Detektor . Die Diode sendet Infrarotstrahlen aus, die vom Objekt reflektiert werden und zum Detektor zurückkehren. Sobald der Detektor das reflektierte Licht erfasst, ändert sich der Wert des elektrischen Signals, das der micro:bit an seinem Eingangspin auswertet.
Auch am Sensor befindet sich ein Potentiometer , mit dem wir den Messpegel einstellen. Um ein weiter vom Sensor entferntes Objekt zu erfassen, benötigen wir eine höhere Empfindlichkeit.
Bibliothek
Bei den Sensoren „ Lichtsensor, IR-Sensor und UV-Sensor “ verwenden wir die gleichen Bausteine. Ihr Ausgang ist ein Wahrheitswert ( wahr/falsch).
In fortgeschrittenen Blöcken existiert der gleiche Block, nur mit einer Ausgabe von 1/0.
Programm
Die Aufgabenbeispiele sind die gleichen wie beim vorherigen Sensor.
UV-Sensor
Eigenschaften
Dieser Sensor kann ultraviolette (UV-)Strahlung erfassen, die für das menschliche Auge unsichtbar ist. Diese Strahlung stammt beispielsweise von der Sonne. Dadurch lässt sich messen, wie stark die UV-Strahlung auf den Sensor trifft. Dies ist nützlich, um den Sonnenschutz zu überwachen oder UV-Lichtquellen zu erkennen.
Das Hauptelement des Sensors ist ein spezieller, UV-empfindlicher Fotodetektor . Trifft UV-Licht auf ihn, erzeugt er ein elektrisches Signal. Dadurch ändert sich der Wert des durch den Stromkreis fließenden Stroms, und diese Änderung wird vom micro:bit an seinem Eingangspin gemessen.
Auch am Sensor befindet sich ein Potentiometer , mit dem wir den Messpegel einstellen. Um ein weiter vom Sensor entferntes Objekt zu erfassen, benötigen wir eine höhere Empfindlichkeit.
Bibliothek
Bei den Sensoren „ Lichtsensor, IR-Sensor und UV-Sensor “ verwenden wir die gleichen Bausteine. Ihr Ausgang ist ein Wahrheitswert ( wahr/falsch).
In fortgeschrittenen Blöcken existiert der gleiche Block, nur mit einer Ausgabe von 1/0.
Programm
Die Aufgabenbeispiele sind die gleichen wie beim vorherigen Sensor.
IR-Sensor
Eigenschaften
Dieser Sensor ist in der Lage, Infrarotstrahlung (IR) zu erfassen, die für das menschliche Auge unsichtbar ist. Dadurch können wir Wärme, Bewegung oder die Anwesenheit von Objekten erkennen, die IR-Licht aussenden oder reflektieren.
Das Hauptelement des Sensors besteht aus einer Infrarotdiode und einem Detektor . Die Diode sendet Infrarotstrahlen aus, die vom Objekt reflektiert werden und zum Detektor zurückkehren. Sobald der Detektor das reflektierte Licht erfasst, ändert sich der Wert des elektrischen Signals, das der micro:bit an seinem Eingangspin auswertet.
Auch am Sensor befindet sich ein Potentiometer , mit dem wir den Messpegel einstellen. Um ein weiter vom Sensor entferntes Objekt zu erfassen, benötigen wir eine höhere Empfindlichkeit.
Bibliothek
Bei den Sensoren „ Lichtsensor, IR-Sensor und UV-Sensor “ verwenden wir die gleichen Bausteine. Ihr Ausgang ist ein Wahrheitswert ( wahr/falsch).
In fortgeschrittenen Blöcken existiert der gleiche Block, nur mit einer Ausgabe von 1/0.
Programm
Die Aufgabenbeispiele sind die gleichen wie beim vorherigen Sensor.
Neopixel
Eigenschaften
Dieser Baustein enthält acht LEDs (sogenannte Pixel). Dabei handelt es sich um spezielle LEDs, die in jeder beliebigen Farbe leuchten können. Sie werden als RGB-LEDs bezeichnet, da in einem solchen Bauteil drei klassische LEDs verborgen sind, die rot (R), grün (G) und blau (B) leuchten. Durch die Kombination dieser Farben lassen sich beliebige Farben und Helligkeitsstufen erzeugen. Einige Bildschirme von Mobiltelefonen, Computern und Fernsehern funktionieren nach diesem Prinzip.
RGB-LED-Streifen sind heutzutage beliebt und vielseitig einsetzbar. Man kann sie beispielsweise verwenden, um die Drehzahl eines Motors, die Drehung eines Potentiometers oder die Werte anderer Sensoren anzuzeigen.
Bibliothek
Um den Neopixel zu steuern, muss zu Beginn des Programms eine Variable erstellt werden, die alle notwendigen Informationen, wie z. B. die Anschlussnummer, enthält. Anschließend muss nur noch auf diese Variable zugegriffen werden. Die Basisfunktionen enthalten Blöcke zur Anzeige von Farben, Regenbogeneffekten und Balkendiagrammen.
Unter den erweiterten Funktionen finden Sie die Option, die Helligkeit zu reduzieren, Pixel zu drehen oder zu verschieben (geeignet zum Beispiel zum Drehen des angezeigten Regenbogens) oder Farben aus verschiedenen Farbräumen zu konvertieren.
Programm
Dieses Modul erfordert eine andere Handhabung als alle anderen Module. Anstelle eines Startblocks muss eine Variable „neo“ erstellt werden, die alle notwendigen Informationen über das verwendete Modul enthält.
Es ist nicht nötig, die Anschlussnummer einzugeben, sondern man kann einfach die entsprechende Neo-Variable verwenden, zum Beispiel wenn die rote LED leuchtet. Wir verbinden das Neopixel mit Anschluss 2.
Potentiometerwertanzeige
Wir verbinden das Potentiometer mit Anschluss 1. Anstatt ein Diagramm auf dem micro:bit-Display anzuzeigen, können wir Neopixel verwenden. Dank der Funktion „Balkendiagramm anzeigen“ lässt sich der Potentiometerwert übersichtlicher darstellen. Zuerst greifen wir auf das „neo“-Objekt zu, geben dann den angezeigten Wert, also den „Potentiometerwert“, ein und tragen in das letzte Feld „bis danach“ den Wert 100 (Ausgangswert) ein, da dies der Maximalwert ist, den wir vom Potentiometer ablesen.
Sanfter Farbübergang (fortgeschritten)
Dieses Programm ändert den Farbton des Lichts stufenlos. Wir nutzen die erweiterten Funktionen von Neopixel, d. h. die Farbauswahl im HSL-Format (Farbton, Sättigung und Helligkeit). Zuerst erstellen wir eine Farbtonvariable und setzen sie auf 0. In der Schleife verwenden wir den Block „neo display color“ und fügen anstelle der voreingestellten Farbe den Block „hue H saturation S brightness L“ ein. Wir fügen unsere Variable in die erste Zelle ein, die den Farbton repräsentiert. Die Sättigung setzen wir auf 99 (den Maximalwert) und die Helligkeit auf 49 (den Mittelwert). In jedem Programmdurchlauf erhöhen wir den Wert der Farbtonvariable um 1. Zu Beginn fügen wir eine Bedingung hinzu, die sicherstellt, dass die Variable wieder auf null zurückgesetzt wird, sobald der maximale Farbtonwert (360) erreicht ist.
OLED-Anzeige
Eigenschaften
Dieses Display kann Text oder einfache Grafiken mithilfe einzelner Lichtpunkte darstellen, die direkt auf dem Bildschirm aufleuchten. Dadurch können wir verschiedene Informationen wie Zahlen, Texte oder einfache Bilder anzeigen.
Jedes Pixel des Displays besteht aus einer kleinen LED, die entsprechend einem Signal vom micro:bit aufleuchtet und so das gewünschte Bild auf dem Display erzeugt.
Bibliothek
Zur Ansteuerung des OLED-Displays, des BME und des Farbsensors verwenden wir erneut einen anderen Ansatz als bei den vorherigen Modulen. Die Module kommunizieren über das I2C-Protokoll und nutzen dafür unterschiedliche Pins. Daher muss nicht der jeweilige Anschluss festgelegt werden, jedoch muss diese Kommunikation im Startblock aktiviert werden.
Programm
Wir verbinden das OLED-Display mit Anschluss 4. Zu Beginn jedes Programms verwenden wir den OLED-Startblock. Wenn wir Text oder Zahlen in einer Schleife ausgeben möchten, müssen wir immer alle 8 Zeilen füllen. Dazu verwenden wir den Block „OLED zeichnet x leere Zeilen“.
Das Bild zeigt ein Beispiel für den Startvorgang des BME-Moduls, aber er sieht bei OLED genauso aus.
Hallo
Um die OLED-Funktion zu testen, schreiben wir eine Begrüßung auf das Display.
Anzeige eines numerischen Wertes
Wir schließen das Potentiometer an Anschluss 1 an. In diesem Programm geben wir zuerst den Text „Potentiometer“ aus, dann überspringen wir eine Zeile, dann geben wir den numerischen Wert vom Potentiometer aus und schließlich überspringen wir fünf Zeilen.
Text und Zahlen in einer Zeile schreiben
Wir verbinden das Potentiometer mit Anschluss 1. Um Text und Zahlenwert in einer Zeile auszugeben, verwenden wir den Block „OLED-Text zeichnen“. In diesen fügen wir den Block „XY-Verbindung“ aus der Textbibliothek ein. In die x-Spalte geben wir den Text „Wert: “ mit einem Leerzeichen am Ende ein, in die y-Spalte die anzuzeigende Zahl. Diese Funktion wandelt den Zahlenwert automatisch in Text um. Der restliche Code entspricht dem vorherigen Beispiel.
BME-Wetterstation
Eigenschaften
Dieser Sensor kann grundlegende meteorologische Parameter wie Temperatur, Luftfeuchtigkeit und Luftdruck messen. Dadurch können wir Wetterveränderungen überwachen und verschiedene Projekte realisieren, beispielsweise eine Heimwetterstation.
Das Hauptelement des Sensors ist ein spezieller Chip mit Sensoren zur Messung von Temperatur, Luftfeuchtigkeit und Druck. Jeder dieser Sensoren wandelt die Messwerte in ein elektrisches Signal um, das der micro:bit an seinem Eingangspin verarbeitet und in lesbare Werte umwandelt, die beispielsweise auf einem OLED-Display angezeigt werden können.
Bibliothek
Zur Ansteuerung des OLED-Displays, des BME und des Farbsensors verwenden wir erneut einen anderen Ansatz als bei den vorherigen Modulen. Die Module kommunizieren über das I2C-Protokoll und nutzen dafür unterschiedliche Pins. Daher muss nicht der jeweilige Anschluss festgelegt werden, jedoch muss diese Kommunikation im Startblock aktiviert werden.
Programm
Wir verbinden das BME mit Anschluss 3. Zu Beginn jedes Programms verwenden wir den BME-Startblock.
Anzeige der Werte auf dem OLED-Display
Wir verbinden das OLED-Display mit Anschluss 4. Wir tragen einfach die gewünschten Werte in alle 8 Zeilen ein. Zuerst schreiben wir die Bezeichnung der Messgröße mit der Einheit und dann den Zahlenwert.
Farbsensor
Eigenschaften
Dieser Sensor ist in der Lage, Farben zu erkennen und die Lichtintensität zu messen. Dadurch können wir verschiedene Farben von Objekten erkennen und interaktive Projekte erstellen, wie zum Beispiel das Erkennen von Farbcodes oder das Sortieren von Objekten nach Farbe.
Das Hauptelement des Sensors ist ein spezieller Fotodetektor, der die Lichtintensität in verschiedenen Spektralbereichen (Rot, Grün, Blau und Infrarot) misst. Der APDS-9960-Sensor wertet diese Daten aus, und der micro:bit verarbeitet sie anschließend an seinem Eingangspin, wodurch die erkannte Farbe bestimmt werden kann.
Bibliothek
Zur Ansteuerung des OLED-Displays, des BME und des Farbsensors verwenden wir erneut einen anderen Ansatz als bei den vorherigen Modulen. Die Module kommunizieren über das I2C-Protokoll und nutzen dafür unterschiedliche Pins. Daher muss nicht der jeweilige Anschluss festgelegt werden, jedoch muss diese Kommunikation im Startblock aktiviert werden.
Programm
Wir verbinden den Farbsensor mit Anschluss 3. Zu Beginn jedes Programms verwenden wir den Startblock COLOR.
Auflistung der Farbkomponenten auf einem OLED-Display
Wir verbinden das OLED-Display mit Anschluss 4. Zusätzlich zum Block „COLOR start“ verwenden wir auch „COLOR turn on additional LED 3“, da der Sensor an Anschluss 3 angeschlossen ist. Die zusätzliche LED ermöglicht die Farbmessung von Objekten in der Nähe des Sensors. Je näher wir ein rotes Objekt an den Sensor heranführen, desto höher ist der R-Wert (Rot). Die Anzeige wird im Kapitel „OLED“ erläutert.
Temperatur des reflektierten Lichts
Wir verbinden den Neopixel mit Anschluss 4. Trifft warmes Licht auf den Sensor, ist der Rotanteil höher. Ist das Licht kalt, ist der Blauanteil höher. Dieselbe Logik nutzen wir im Programm, um die Farbtemperatur des Lichts auf dem Neopixel anzuzeigen. Ist der Rotanteil höher als der Blauanteil, leuchtet der rote Bereich des Neopixels. Andernfalls leuchtet der blaue Bereich.

