BBC micro:bit Starter Set #1: Infrarot Modul

In diesem Beitrag möchte ich dir zeigen wie du das Infrarot Modul an dem BBC micro:bit betreiben kannst. 

Ein sehr ähnliches Infrarot Modul habe ich bereits für den Arduino in dem Beitrag Arduino Lektion 20: IR Fernbedienung auslesen ausgiebig vorgestellt, jedoch unterscheidet sich die Programmierung am BBC micro:bit deutlich vom Arduino.

Bezug des Infrarot Modules

Wie bereits erwähnt ist das Infrarot Modul Bestandteil des Microbit Starter Kit welches du im Shop von digitspace.com für knapp 31$ findest.

Aufbau des Infrarot Modules

Das Infrarot Modul hat eine Abmaße (L x B x H) von 3,5cm x 2,5cm x 1,5cm. Auf der linken Seite verfügt das Modul über eine 3 polige JST Buchse und auf der rechten Seite über die Infrarot Diode.

IR Modul für den BBC micro:bit
IR Modul für den BBC micro:bit

Aufbau der Schaltung

Für die Schaltung verwende ich neben dem IR Modul noch zusätzlich einen Piezo Buzzer und natürlich die mitgelieferte Infrarot Fernbedienung.

Der Vorteil bei dem Microbit Starter Kit ist das alle benötigten Kabel beiliegen. (Jedoch ist kein BBC micro:bit und Datenkabel dabei.)
Der Microcontroller wird in das Expansionboard gesteckt so das die Schrift „micro:bit“ in Richtung der Pins zeigt. 

Expansionboard mit aufgestecktem BBC micro:bit
Expansionboard mit aufgestecktem BBC micro:bit

Der Piezo Buzzer wird an den Pin P0, das IR Modul an den Pin P8 angeschlossen.

Programmieren

Zum programmieren verwende ich die Entwicklungsumgebung MakeCode. Dieses Tool ist kostenfrei unter https://makecode.microbit.org erhältlich und kommt mit sehr vielen Erweiterungsmodulen daher.

einrichten der Entwicklungsumgebung MakeCode

Bevor wir das IR Modul verwenden können, müssen wir uns eine Erweiterung hinzufügen damit wir die Blöcke setzen können. Ich nutze hier die Bibliothek von OSOYOO welche unter der Adresse https://github.com/osoyoo/OSOYOO_IR die Bibliothek für das Infrarot Modul bereitstellen. 

einbinden der IR Remote Bibliothek von OSOYOO

Über den Menüpunkt „Erweiterungen“ gelangt man auf eine neue Seite wo man entweder nach einer Bibliothek suchen oder eine Adresse eingeben kann. In unserem Fall geben wir die Adresse zum GitHub Repository https://github.com/osoyoo/OSOYOO_IR ein. Es sollte nun eine Bibliothek angezeigt werden welche wir hinzufügen indem wir auf die Kachel klicken.

Es sollte nun der Menüeintrag „OSOYOO_IR“ mit 2 neuen Blöcken existieren.

MakeCode - Bibliothek für den IR Remote Receiver
MakeCode – Bibliothek für den IR Remote Receiver

Troubleshooting – Fehlerhafte Darstellung der Blöcke

Sollten die Blöcke Fehlerhaft dargestellt werden so muss einmal der Cache im Browser (inkl. Cookies) gelöscht werden. Alternativ würde ich empfehlen den Code im „privaten Modus“ zu erstellen.

ein einfaches Beispiel – steuern der LED Matrix

Zunächst möchte ich dir zeigen wie du verschiedene Zeichen auf der LED Matrix des BBC micro:bit mit der IR Fernbedienung einstellen kannst.

Zunächst müssen wir im Block „Start“ definieren an welchem Pin das IR Modul gesteckt wurde. In meinem Fall habe ich das Modul an den Pin P8 gesteckt.
Danach benötigen wir nun für jeden Taster (den wir verwenden wollen) auf der Fernbedienung ein Block. Ich möchte zunächst 3 verschiedene Zeichen anzeigen und die Tasten „0“, „1“ und „2“ nutzen.

MakeCode - einfaches Programm zum steuern der LED Matrix mit der IR Fernbedienung
MakeCode – einfaches Programm zum steuern der LED Matrix mit der IR Fernbedienung

Du kannst auch alternativ dein Programm in JavaScript und Python schreiben, jedoch benötigst du da schon mehr Erfahrung in der Programmierung von Microcontroller.

Video

 

incrementieren & decrementieren einer Variable mit der IR Fernbedienung

Mit den Tasten „+“ & „-“ wollen wir zunächst eine Variable incrementieren (um 1 erhöhen) und decrementieren (um 1 verringern). 

Aufbau des Programmes

Zunächst definieren wir wieder in dem Startblock dass, das IR Modul am Pin8 angeschlossen ist. Des Weiteren definieren wir eine Variable „counter“ und setzen diese initial auf „1“. Wenn die Taste „Minus“ auf der Fernbedienung betätigt wird, wird diese Variable um die Zahl 1 verringert und auf der LED Matrix ausgegeben. Wenn die Taste „Add“ betätigt wird (die Taste „+“) dann soll die Variable um die Zahl 1 erhöht und auf der LED Matrix ausgegeben werden.

MakeCode Programm - incrementieren & decrementieren einer Variable
MakeCode Programm – incrementieren & decrementieren einer Variable

Video

IR Receiver am BBC micro:bit
Dieses Video ansehen auf YouTube.

Sollte das Video und vor allem das Bild vom Code stark verpixelt sein, so wähle im YouTube Player die Qualität 1080P.

ausgeben von Tönen in verschiedenen Frequenzen

Nachdem wir nun unsere IR Fernbedienung ansteuern bzw. mit der Fernbedienung auf dem Microcontroller Events ausführen können möchten wir einen Piezo Buzzer ansteuern. Im letzten Kapitel haben wir eine Variable incrementiert bzw. decrementiert. Dieses wollen wir nun nutzen und einen Ton / Frequenz ausgeben welcher aus der Variable resultiert. Damit eine Änderung an der Variable akustisch erkennbar ist erhöhen / verringern wir jeweils um 50 Schritte. Wenn jedoch die Frequenz kleiner als 500 ist soll der Text „min. 500“ und wenn die Frequenz größer als 5000 ist soll „max. 5000“ auf der LED Matrix ausgegeben werden.

Aufbau des Programmes

Zunächst definieren wir wieder dass, das IR Modul am Pin P8 gesteckt ist. Der Piezo Buzzer wird an den Pin P0 gesteckt.

MakeCode - IR Fernbedienung mit Piezo Buzzer
MakeCode – IR Fernbedienung mit Piezo Buzzer

Du findest dieses komplette Projekt auch unter folgendem Link https://makecode.microbit.org/_gdxYTVba1bV6.

Solltest du den Piezo Buzzer an einen anderen Pin anschließen so musst du zusätzlich im Startblock diesen Pin definieren. Hier findest du unter „… mehr“ den Block „analogen Tonausgabepin setzen auf Pin <>“ verwenden und dort den Pin aus der Auswahlliste wählen (siehe Grafik).

MakeCode - Block zum setzen des Pins an welchem der Piezo Buzzer angeschlossen wurde
MakeCode – Block zum setzen des Pins an welchem der Piezo Buzzer angeschlossen wurde

Video

BBC micro:bit - IR Remote Controll with Piezo Buzzer
Dieses Video ansehen auf YouTube.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.