Wie funktionieren die Sensormodule in meinem Climate Action Kit?

Dieser Artikel wurde maschinell übersetzt. Englisches Original.

Jeder Sensor und jedes Ausgabemodul in deinem Climate Action Kit wird an denselben Hub (das Breakout Board) angeschlossen und spricht dieselbe Sprache (Jacdac). Wenn du also ein Modul verstanden hast, folgen die anderen demselben Muster.

Hier die Kurzfassung für jedes Modul: was es erfasst, wie es das tut, und was du in MakeCode dafür machst.

Bevor du anfängst: das Muster, das für jedes Modul gilt

  1. Stecke das Modul mit einem der Kabel des Kits in einen Port am Breakout Board. Die Kabel und Ports sind nicht kodiert, sie können also in beide Richtungen eingesteckt werden.
  2. Schalte das Breakout Board ein und stelle sicher, dass ein micro:bit V2 im Kantenverbinder sitzt. Das Kit funktioniert nicht mit einem micro:bit V1 – siehe dazu „Warum funktioniert das Climate Action Kit nur mit dem micro:bit v2?".
  3. Füge in MakeCode unsere Forward Education-Erweiterung hinzu (siehe „How to add the Forward EDU Extension in MakeCode"). Die Blockkategorien fwdSensors, fwdMotors und fwdLights erscheinen dann in der Werkzeugleiste.
  4. Ziehe den Block für dein Modul heraus, lade ihn auf den micro:bit herunter und koppele ihn, wenn du dazu aufgefordert wirst.

Da die Module Jacdac-Geräte sind, melden sie sich selbst beim Board – du musst deinem Code also nicht mitteilen, welchen Port du verwendet hast. Wenn du mehrere gleiche Module hast, sind die Blöcke nummeriert (zum Beispiel soilMoisture1, dial1, ledRing1).

Das Breakout Board – der Hub, an den alles angeschlossen wird

Breakout Board

Ein Breakout Board ist eine Platine, die den kleinen Kantenverbinder des micro:bit in vollwertige, beschriftete Ports "aufbricht", an die du gefahrlos Geräte anschließen kannst.

Das Breakout Board ist der Hub für jedes Climate Action Kit-Projekt. Der micro:bit wird in den Kantenverbinder geschoben, und das Board gibt die Anweisungen deines Codes an die Sensoren und Motoren weiter und leitet Sensormesswerte zurück. Es ist dafür gebaut, mit unserer Erweiterung in MakeCode programmiert zu werden (Produktseite).

Das Board läuft mit einem wiederaufladbaren 3,7-V-Lithium-Ionen-Akku mit 1500 mAh, der über micro-USB geladen wird, und bietet dir 4 Sensor-Ports, 3 Motor-Ports und 1 Wasserpumpen-Port zur Verwendung mit micro:bit V2 und neuer. Sensoren kommen in Sensor-Ports, Servomotoren in Motor-Ports, und die Wasserpumpe kommt in den Wasserpumpen-Port – die Ports sind nicht austauschbar (Breakout Board & Components).

Tipp für den Unterricht: Das Board ist auch die Stromquelle für die Module. Wenn also mehrere Sensoren gleichzeitig ausfallen, lade zuerst das Board auf, bevor du irgendetwas anderes überprüfst. Siehe „How long does the Climate Action Kit Breakout Board battery last?"

Solar-Sensor (Lichtsensor)

Solar Sensor - Forward Education

Das Konzept. Licht, das auf eine Solarzelle fällt, erzeugt eine kleine elektrische Ausgangsleistung – mehr Licht, mehr Leistung. Genau so funktioniert auch ein Solarpanel, was dieses Modul zu einer schönen Brücke zwischen Coding- und Erneuerbare-Energien-Unterricht macht.

In der Praxis. Das Modul meldet einen Lichtwert, den dein Code mit einem Vergleichswert abgleichen kann. In unserem Erweiterungsbeispiel wird ein LED-Ring rot, wenn der Lichtwert auf 40 fällt.

Tipp für den Unterricht: Lass die Schüler:innen den Wert zuerst in einem show number-Block ablesen und durch den Raum gehen – Fenster, Flur, unter einem Tisch – damit sie einen Schwellenwert wählen, der zu eurem Raum passt, statt einen von einem Arbeitsblatt.

Bodenfeuchtigkeitssensor

Moisture Sensor - Forward Education

Das Konzept. Wasser verändert, wie leicht Strom durch Erde fließt. Die Sonde misst diese Veränderung und wandelt sie in einen Feuchtigkeitswert um – ein trockener Topf zeigt einen niedrigen Wert, ein frisch gegossener einen hohen.

Das Modul erkennt den Feuchtigkeitsprozentsatz in einem Medium, hat zwei umkehrbare Kabelports und funktioniert mit jedem unserer Climate Action Kits (Produktseite Feuchtigkeitssensor). Dieses Ersatzteil verkaufen wir nicht online – kontaktiere uns und wir kümmern uns darum.

In der Praxis. Der am häufigsten verwendete Block stellt eine Ja/Nein-Frage – liegt die Feuchtigkeit über oder unter einem Schwellenwert? – was sich perfekt für einen if-Block eignet. Das ist unser Beispiel für automatisches Gießen: Wenn die Bodenfeuchtigkeit unter 15 fällt, läuft die Pumpe in Stößen, bis der Messwert 42 übersteigt.

Tipp für den Unterricht: Führe die Sonde immer in gleicher Tiefe ein. Zwei Gruppen mit derselben Erde können unterschiedliche Werte erhalten, nur weil eine Gruppe die Sonde weiter hineingedrückt hat. Halte das Elektronik-Ende trocken.

Linienverfolgungssensor (Infrarot-Reflexionssensor)

Line Sensor - Forward Education

Das Konzept. Das Modul strahlt Infrarotlicht auf die Oberfläche und misst, wie viel davon zurückgeworfen wird. Eine helle Oberfläche reflektiert viel; eine matte schwarze Linie reflektiert sehr wenig. Es verwendet drei fotoelektrische Reflexionslichtsensoren, sodass dein Roboter erkennen kann, ob sich die Linie links, mittig oder rechts unter dem Modul befindet, und entsprechend lenken kann. Im Kit-Inhalt findest du es als Infrarotsensor gelistet, mitgeliefert mit einer Stützrolle (Ball Caster).

In der Praxis. Montiere es mit Blick zum Boden, wenige Millimeter über der Oberfläche, und kombiniere es mit den Fahrblöcken (fwdMotors.setupDriving, drive, turn, stop), damit der Roboter seine Richtung korrigiert, wenn sich die Linie von der Mitte entfernt.

Tipp für den Unterricht: Beleuchtung und Klebeband spielen eine größere Rolle als der Code. Glänzende Böden, glänzendes Klebeband und ein Sonnenstreifen über der Strecke verändern allesamt die Messwerte. Wenn ein Roboter abweicht, sieh dir „Why is the line-following robot steering off-course?" an, bevor du das Programm umschreibst.

Sonar-Sensor (Abstandssensor)

Sonar Sensor - Forward Education

Das Konzept. Sonar funktioniert per Echo, so wie eine Fledermaus sich im Dunkeln zurechtfindet: Das Modul sendet einen Ultraschallimpuls aus (Schall, zu hochfrequent, um von uns gehört zu werden), wartet, bis er von etwas vor ihm zurückgeworfen wird, und misst, wie lange das Echo zum Zurückkommen braucht. Je länger die Wartezeit, desto weiter entfernt ist das Objekt.

Das Modul misst Entfernung, hat zwei umkehrbare Kabelports und funktioniert mit jedem unserer Kits (Produktseite Sonar-Sensor). Wie beim Feuchtigkeitssensor verkaufen wir dieses Ersatzteil nicht online – kontaktiere uns, wenn du eines brauchst (Teil FE-04-0008). Es gibt außerdem ein kurzes Einrichtungsvideo auf unserer Sonar-Sensor-Tutorial-Seite.

In der Praxis. Der Messwert ist eine Entfernung in Metern, ein Wert von 0.5 bedeutet also einen halben Meter – nicht 50. Du kannst die Rohentfernung mit fwdSensors.sonar1.fwdDistance() auslesen oder die Ja/Nein-Schwellenwertfrage stellen, die zu einem if-Block passt:

if (fwdSensors.sonar1.fwdDistancePastThreshold(0.5, fwdEnums.OverUnder.Under)) {
    fwdMotors.stop()
}

Das ist das Muster in unserem Beispiel für autonome Fahrzeuge: Wenn das Sonar ein Hindernis näher als 0,5 m erkennt, stoppt das Fahrzeug, dreht sich, um die Richtung zu ändern, und fährt rückwärts. Ein weiteres Beispiel bildet Entfernungen von 0 bis 2,5 m auf die acht Pixel des LED-Rings ab, was eine schöne Möglichkeit ist, den Messwert sichtbar zu machen.

Tipp für den Unterricht: Richte den Sensor beim Testen auf etwas Flaches und Festes. Weiche, schräge oder sehr schmale Objekte streuen das Echo und liefern sprunghafte Messwerte – eine Hand oder ein Stück Karton funktioniert weit besser als ein Stuhlbein. Sonar kommt in Lektionen der Learning Platform vor, etwa bei intelligenten Straßenlaternen und intelligenten Lagerfahrzeugen, bei denen Schüler:innen ihren eigenen Auslöseabstand festlegen.

Berührungssensor

Touch sensor

Das Konzept. Dies ist ein kapazitiver Sensor: Er erkennt die winzige elektrische Veränderung, die dein Finger verursacht, wenn er sich dem Sensorfeld nähert, statt dass ein mechanischer Schalter gedrückt wird. Das bedeutet, es gibt keine beweglichen Teile, die sich abnutzen können – und er kann auch durch eine dünne Schicht wie Papier oder einen Karton-Prototyp hindurch auslösen.

In der Praxis. Er verhält sich im Code wie ein Taster, mit separaten Ereignissen für Drücken und Loslassen.

Tipp für den Unterricht: Verwende up (losgelassen) statt down (gedrückt) für Aktionen, die Schüler:innen nicht wiederholt auslösen können sollen, indem sie einen Finger auf dem Sensorfeld halten.

Drehregler (Rotary Encoder)

Rotary Dial - Forward Education

Das Konzept. Ein Rotary Encoder ist ein Drehknopf, der Bewegung meldet, nicht Position: Jeder Klick der Drehung sendet ein Ereignis, das besagt „ein Schritt im Uhrzeigersinn" oder „ein Schritt gegen den Uhrzeigersinn". Anders als ein Lautstärkeregler mit Endanschlägen dreht er sich unendlich weiter – dein Code führt also die laufende Summe. Das Modul enthält außerdem einen Drucktaster (Pitsco).

In der Praxis. Das Ereignis liefert dir einen difference-Wert – wie viele Schritte gedreht wurden –, den du zu dem hinzufügst, was du gerade steuerst.

Tipp für den Unterricht: Der Drehregler ist die schnellste Möglichkeit, Schüler:innen ein Projekt live anpassen zu lassen – einen Schwellenwert, eine Geschwindigkeit, eine Helligkeit – ohne den Code jedes Mal neu herunterzuladen.

LED-Ring

LED Light - Forward Education

Das Konzept. Der Ring enthält 8 adressierbare WS2812b-LEDs (Pitsco). „Adressierbar" bedeutet, dass jede LED ihre eigene Adresse auf einer einzigen Datenleitung hat, sodass ein einziges Kabel Farbe und Helligkeit für jedes Pixel unabhängig steuern kann – ideal für Statusanzeigen, Datenvisualisierung und Alarme.

In der Praxis. Der einfachste Block setzt alle Pixel auf eine Farbe, angegeben als Hex-Wert (0xff0000 ist rot, 0x000000 ist aus):

fwdLights.ledRing1.setAllPixelsColor(0xff0000)

Tipp für den Unterricht: Lass die Schüler:innen eine Zahl in eine Farbe umwandeln – grün, wenn ein Messwert im gesunden Bereich liegt, rot, wenn nicht. Das macht einen unsichtbaren Sensorwert bei Vorführungen quer durch den Raum sofort erkennbar.

Wenn ein Modul nicht reagiert

  1. Prüfe, ob das Kabel an beiden Enden vollständig eingerastet ist, und probiere einen anderen Port.
  2. Stelle sicher, dass das Breakout Board geladen und eingeschaltet ist und der micro:bit vollständig eingesetzt ist.
  3. Lade dein Programm erneut herunter und koppele den micro:bit erneut – nach einem Firmware- oder Erweiterungsupdate müssen Schüler:innen sich oft erneut koppeln. Siehe „Pairing your micro:bit in MakeCode".
  4. Stelle sicher, dass du die aktuelle Version der Erweiterung verwendest – siehe „Do I have the latest version of the Forward Education coding blocks?"
  5. Immer noch nicht gelöst? Wir helfen gerne weiter – siehe „How do I contact support?"

Wie es weitergeht