Das Joy-Car kombiniert eine Vielzahl innovativer Sensoren und Module, die eine präzise Steuerung und Interaktion ermöglichen. Zu den wichtigsten Sensoren gehören Ultraschall- und Infrarot-Technologien, die Objekte erkennen, Hindernisse umgehen, Linien folgen und die Geschwindigkeit messen können. Der Ultraschall-Sensor misst Entfernungen bis zu 300 cm und ermöglicht ein präzises Navigieren. Hindernis-, Linetracking- und Speed-Sensoren verwenden Infrarotlicht, um Objekte oder Oberflächen zu erkennen und Bewegungsdaten zu erfassen. Die Empfindlichkeit der Sensoren lässt sich individuell anpassen, um optimale Ergebnisse zu erzielen. Dabei helfen Potentiometer und integrierte LEDs, die den Erkennungsstatus visualisieren.

Zentrale Steuerungseinheiten wie der IO-Expander und der PWM-Controller sorgen für eine effiziente Kommunikation und Steuerung der Komponenten über die I²C-Schnittstelle. Der IO-Expander bietet zusätzlichen Raum für Erweiterungen und optimiert die Nutzung der begrenzten Ports des micro:bit, während der PWM-Controller die Geschwindigkeit, Drehrichtung und Bremsmodi der Motoren steuert. Adressierbare RGB-LEDs dienen als Scheinwerfer und lassen sich individuell ansteuern, um kreative Beleuchtungseffekte zu realisieren.

Das Mainboard bietet vielfältige Konfigurationsmöglichkeiten wie die Aktivierung zusätzlicher Pins, das einfache Trennen der Stromversorgung per Schalter und die Verwendung alternativer Spannungsquellen. Eine übersichtliche schematische Darstellung zeigt die Verbindung zwischen den Komponenten und dem micro:bit, sodass Anpassungen und eigene Projekte leicht umzusetzen sind. Mit diesen umfangreichen Funktionen und Anpassungsmöglichkeiten ist das Joy-Car eine ideale Plattform für Technikbegeisterte, die experimentieren, lernen und programmieren möchten.

Sensoren

Ultraschall-Sensor

Der Ultraschall-Sensor kann beim Joy-Car zur Erkennung von Objekten und Hindernissen in einem Entfernungsbereich zwischen 2 und 300 cm genutzt werden. So kann auch in größerer Entfernung einem Hindernis ausgewichen oder sogar auf dieses zugesteuert werden.
Der Ultraschall-Sensor ist dazu in der Lage, Entfernungen präzise zu messen, indem er hochfrequente Schallimpulse aussendet. Trifft dieser Impuls auf ein Objekt so wird der Schallimpuls reflektiert. Das reflektierte Echo wird vom Sensor erkannt. Aus der Zeitspanne, welche sich zwischen dem Aussenden und dem Empfangen des Ultraschallimpulses ergibt, lässt sich dann die Entfernung zum Objekt berechnen.

Der Hindernissensor, der Linetracking-Sensor und der Speedsensor arbeiten alle nach dem gleichen Prinzip: Infrarot. Die Sensoren nutzen eine Infrarot-LED und einen Infrarotempfänger um das LED Licht zu erkennen.

HINDERNIS-SENSOR

Der Hindernis-Sensor kann Gegenstände in der Nähe des Joy-Cars erkennen. Dazu wird mit der LED Infrarotlicht nach vorne gestrahlt. Kommt ein Gegenstand / Hindernis in diesen Lichtstrahl wird das Licht reflektiert und kann von dem Infrarotempfänger erkannt werden. Dieser Reichweite dieses Sensors kann mit Hilfe der Potentiometer eingestellt werden. Dieser Sensor kann allerdings nur die, durch die Potentiometer, voreingestellte Distanz erkennen und nicht so wie der Ultraschallsensor aktiv die Entfernung zum nächsten Gegenstand messen.

Hindernis-Sensoren einstellen: Löse zunächst den Chassis-Aufsatz von der Bodenplatte, damit du die Potentiometer der Hindernis-Sensoren leichter erreichen kannst. Die Hindernis-Sensoren haben, im Gegensatz zu den Linetracking-Sensoren, jeweils zwei Potentiometer. Hier kannst du sowohl die Stärke der Infrarot-LED, als auch die Empfindlichkeit des Sensors justieren. Halte hier einen Gegenstand vor die Sensoren. Die LED sollte dabei aufleuchten und wieder erlischen, wenn du den Gegenstand entfernst.

TIPP: Du erhöhst die Empfindlichkeit, indem du den Potentiometer im Uhrzeigersinn drehst. Drehst du gegen den Uhrzeigersinn verringerst du die Empfindlichkeit.

Linetracking-Sensor

Der Linetracking-Sensor strahlt das Infrarotlicht nach unten ab. Befindet sich eine helle Oberfläche unter dem Linetracking-Sensor, wird das Licht reflektiert und von dem Infrarotempfänger erkannt. Wird das Infrarotlicht aber auf eine schwarze und nicht reflektierende Oberfläche gestrahlt, wird keine Infrarotlicht zurückgeworfen, dass der Infrarotempfänger erkennen kann. Um einer Linie zu folgen, werden mindestens 2 Sensoren, aber besser 3 Sensoren, benötigt. Mit Hilfe von 3 Sensoren ist man dann in der Lage festzustellen wo sich die schwarze Linie gerade befindet und in welche Richtung man steuern muss um dieser zu folgen.

Linetracking-Sensoren einstellen: Nimm dir hierfür am besten ein weißes Blatt Papier und klebe darauf einen Streifen schwarzes Klebeband. Stelle nun dein Joy-Car abwechselnd auf das Blatt Papier und auf den schwarzen Klebestreifen. Deine Sensoren sind richtig eingestellt, wenn die LED auf jedem Sensor aufleuchtet, wenn das Joy-Car auf dem Blatt Papier steht und wenn die LEDs wieder erlischen, sobald du das Joy-Car auf den Klebestreifen stellst.

Speed-Sensor

Beim Speed-Sensor sind sich Infrarotempfänger und Infrarot-LED direkt gegenübergestellt. Zwischen Empfänger und LED befindet sich die Lochscheibe, welche auf die Welle des Motors montiert ist. Dreht sich die Motorwelle jetzt, dreht sich auch die Lochscheibe. Diese unterbricht immer wieder das Infrarotlicht der LED. Wenn man die Anzahl der Löcher in der Lochscheibe kennt (in diesem Fall 20), weiß man, dass sich das Rad von Unterbrechung zu Unterbrechung 1/20 gedreht hat. Mit Hilfe dieser Information kann man die gefahrene Strecke ermitteln und nimmt man die vergangen Zeit von Unterbrechung zu Unterbrechung dazu, kann man die Geschwindigkeit bestimmen.

Die Empfindlichkeit der Sensoren kann angepasst werden, falls diese nicht mehr zuverlässig funktionieren. Dabei sind die Linetracking-Sensoren und die Hindernis-Sensoren mit Potentiometern ausgestattet, die mit einem Schraubendreher justiert werden können, um die Empfindlichkeit einzustellen. Auf jedem Sensor ist zusätzlich eine LED angebracht, die nur aufleuchtet, wenn der Sensor gerade etwas erkennt. Sie hilft dir dabei die Funktion deines Sensors zu überprüfen und diesen so gut wie möglich einzustellen.

I²C

Der Begriff I²C steht für Inter-Integrated Circuit, stellt einen seriellen Datenbus dar und beschreibt, wie Geräte miteinander kommunizieren und ihre Daten austauschen. Die Daten werden dabei über zwei Leitungen übertragen, der SDA (Serial Data) und der SCL (Serial Clock) Leitung. Über die SDA-Leitung werden die eigentlichen Daten übertragen. Die SCL-Leitung gibt dabei lediglich die Taktfrequenz vor und signalisiert, wann ein Bit auf der Datenleitung anliegt. Beim I2C-Bus kommunizieren alle Geräte über das sogenannte Master/Slave-Prinzip. Hierbei wird die gesamte Kommunikation von einem einzelnen Gerät, dem micro:bit (Master) gesteuert und alle anderen Geräte warten dabei nur auf ihre Sendeerlaubnis und werden daher Slave genannt. I²C kommt beim Joy-Car für die Kommunikation und Ansteuerung der Infrarot-Sensoren (IO Expander) und der Motorsteuerungseinheit (PWM-Controller) zum Einsatz.

FÜR EXPERTEN: Für die Ansteuerung der Systeme über I2C werden die Adressen 0x70 (PWM-Controller) und 0x38 (IOExpander) verwendet.

PWM

PWM steht für „Pulse Width Modulation“ bzw. Pulsweitenmodulation. Bei diesem Verfahren wird das Verhältnis von der Einschaltzeit zur festgelegten Periodendauer variiert. Die Pulsweitenmodulation wird genutzt um Verbraucher, wie z. B. Motoren oder LEDs in der Geschwindigkeit oder in der Helligkeit zu steuern.

Die Dauer einer Periode liegt in der Regel bei einigen wenigen Millisekunden oder weniger. Praktisch heißt das also, dass der entsprechende Verbraucher mehrere hundertmal pro Sekunde ein und ausgeschaltet wird. Je länger die Einschaltdauer in einer Periode ist, desto mehr Energie kann zum Verbraucher übertragen werden. Mit anderen Worten: Je länger die Einschaltdauer ist, desto schneller dreht der Motor oder desto heller leuchtet die LED. Bei 0% Einschaltdauer ist der Verbraucher aus. Wohingegen bei 100% Einschaltdauer läuft der Motor mit Vollgas und die LED leuchtet so hell es geht.

Motoren

Die Motoren werden über den verbauten PWM-Controller angesteuert. Hier kann sowohl die Geschwindigkeit über das PWM-Signal (0-255) reguliert werden, als auch die Drehrichtung (vorwärts & rückwärts) und der Bremsmodus (starkes & sanftes Bremsen) eingestellt werden.

FÜR EXPERTEN: Der PWM-Controller kann per I2C über die Adresse 0x70 angesteuert werden. Hier stehen für die beiden Motoren insgesamt 4 Kanäle (2, 3, 4 & 5) zur Verfügung, die wie folgt verwendet werden können:

Motor rechts
Kanal 2                          Kanal 3
Motor links
Kanal 4                          Kanal 5

Funktion
0 PWM 0 PWM vorwärts
0 0 0 PWM links
0 PWM 0 0 rechts
PWM 0 PWM 0 rückwärts
255 255 255 255 sanftes Bremsen
0 0 0 0 starkes Bremsen

Scheinwerfer

Für die Scheinwerfer werden adressierbare WS2812B RGB LEDs verwendet. In jeder dieser LEDs ist ein Controller verbaut, der es ermöglicht, für jede LED einzeln die Farbe und die Helligkeit festzulegen. Die Daten werden über eine Busleitung, die an einen Pin vom micro:bit angeschlossen ist, zur ersten LED übertragen. Diese Busleitung wird dann von der ersten LED zur zweiten LED, von der zweiten LED zur dritten LED und so weiter fortgeführt. Die Daten werden dann über diese Busleitung von LED zu LED übertragen. Mit anderen Worten bilden die LEDs eine Art Lichterkette, bei der jedes Licht gesondert gesteuert werden kann.

Beim Joy-Car ist diese LED Kette so gelöst worden, dass 2 WS2812B LEDs auf einem Scheinwerfermodul montiert sind. Diese beiden LEDs sind schon auf der Platine mit der Busleitung verbunden. Bei den Anschlusspins der Platine gibt es einen „Din“ (data in) und einen „Dout“ (data out) Pin. Mit Hilfe dieser Pins werden die Platinen miteinander verbunden. Um die Verkabelung übersichtlich zu halten, werden die LED Platinen nicht direkt mit der Busleitung miteinander verbunden. Die Busleitung wird zum Mainboard des Joy-Cars zurück geführt und dort von dem „Dout“ Pin auf den „Din“ Pin des folgenden LED Moduls geroutet.

ACHTUNG! Ist ein LED Modul nicht verbunden, funktionieren die in der Kette weiter hinten liegenden Module nicht mehr, da die Datenverbindung unterbrochen ist.

IO-Expander

 

Welche Revision dein Joy-Car hat, kannst du hier nachlesen. Dort findest du detaillierte Informationen, wie du die Revision deines Joy-Cars identifizierst und welche Unterschiede zwischen den Revisionen bestehen.

Der IO-Expander ist an deinem Joy-Car eine zentrale Einheit, an dem die meisten Sensoren angeschlossen sind. Da der micro:bit nicht über genügend Eingänge für alle Sensoren verfügt werden diese an den IO-Expander angeschlossen. Dieser kommuniziert dann mit dem micro:bit über die I2C Schnittstelle. Auf diese Weise werden lediglich zwei Ports des micro:bits belegt. Es sind sogar unbenutzte, digitale Ausgänge am IO-Expander frei, die du für eigene Projekte und Sensoren verwenden kannst. Der IO-Expander ist wie folgt aufgebaut:

FÜR EXPERTEN: Der IO-Expander wird über die I2C-Adresse 0x38 angesprochen. Er prüft die an ihm angeschlossenen Sensoren und gibt die Ergebnisse zusammengefasst als Byte zurück. Dabei steht jedes Bit für einen Pin des Expanders. Bei einer entsprechenden Erkennung wird das Bit des Sensors auf 1 (True) gesetzt.

Der IO-Expander ist an deinem Joy-Car eine zentrale Einheit, an dem die meisten Sensoren angeschlossen sind. Da der micro:bit nicht über genügend Eingänge für alle Sensoren verfügt werden diese an den IO-Expander angeschlossen. Dieser kommuniziert dann mit dem micro:bit über die I2C Schnittstelle. Auf diese Weise werden lediglich zwei Ports des micro:bits belegt. Es ist sogar ein unbenutzter, digitaler Ausgang am IO-Expander frei, den du für eigene Projekte und Sensoren verwenden kannst. Der IO-Expander ist wie folgt aufgebaut:

FÜR EXPERTEN: Der IO-Expander wird über die I2C-Adresse 0x38 angesprochen. Er prüft die an ihm angeschlossenen Sensoren und gibt die Ergebnisse zusammengefasst als Byte zurück. Dabei steht jedes Bit für einen Pin des Expanders. Bei einer entsprechenden Erkennung wird das Bit des Sensors auf 1 (True) gesetzt.

Mainboard

Revision

Das Joy-Car ist in verschiedenen Revisionen erhältlich, die dazu dienen, die unterschiedlichen Versionen des Fahrzeugs zu kennzeichnen. Wir arbeiten kontinuierlich daran, das Joy-Car zu verbessern, und führen daher regelmäßig Änderungen an der Hardware durch. Um herauszufinden, welche Version deines Joy-Cars du besitzt, kannst du die Unterseite des Mainboards überprüfen. Dort ist die Revisionsnummer deutlich sichtbar angebracht. Solltest du keine Revisionsnummer finden, handelt es sich um unser erstes Joy-Car-Modell 1.0. Diese Informationen helfen dir, die Kompatibilität mit Softwareprojekten und Zubehör zu gewährleisten.

Die verschiedenen Revisionen des Joy-Cars bringen Änderungen mit sich, die die Funktionalität und Genauigkeit der Komponenten verbessern:

Revision 1.0 bis 1.2:
In diesen Versionen sind die Geschwindigkeitssensoren noch direkt am IO-Expander angeschlossen. Die Messungen sind funktional, jedoch weniger genau aufgrund der indirekten Verarbeitung.

Revision 1.3:
Ab dieser Version sind die Geschwindigkeitssensoren direkt mit dem micro:bit verbunden. Diese Änderung verbessert die Präzision der Geschwindigkeitsmessungen erheblich. Zusätzlich stehen durch diese Änderung am IO-Expander zwei weitere freie digitale Ausgänge zur Verfügung, die für zusätzliche Funktionen genutzt werden können.

Diese Revisionen zeigen die kontinuierliche Weiterentwicklung des Joy-Cars, um sowohl die Leistung als auch die Vielseitigkeit der Hardware zu steigern.

JUMPER

Auf dem Mainboard deines Joy-Cars kannnst du über die Jumper weitere Konfigurationen vornehmen. Hier kannst du den Speaker [SPK] und die Batteriespannungsmessung [BAT] deaktivieren und so die Pins P16 bzw. P2 auf der Stiftleiste des Mainboards aktivieren. So kannst du dir zwei weitere Pins für deine eigene Entwicklung aktivieren, falls du sie benötigst.

ON/OFF

Um dein Joy-Car ein- bzw. auszuschalten musst du nicht immer wieder die Batterien einlegen bzw. herausnehmen. Du kannst die Spannungsversorgung bequem über den Ein/Aus-Schalter trennen.

ENERGIEVERSORGUNG

In der Montageanleitung hast du bereits erfahren, dass du die Batteriehalterung an dem BAT-Terminal anschließen kannst. Solltest du dennoch einmal eigene Modifikationen vornehmen, bist du nicht an die Batteriehalterung gebunden. Hier ist es gut zu wissen: An dem BAT-Terminal kannst du eine beliebige Spannungsquelle zwischen 4,5-9 V anschließen.

Übersichtsschema

ALLES AM RECHTEN FLECK

Das Mainboard des Joy-Cars bildet natürlich nur die Verbindungseinheit zwischen den einzelnen Sensoren und Modulen und dem micro:bit. Du möchtest wissen, wo und wie die einzelnen Einheiten mit dem micro:bit in Verbindung stehen? Oder vielleicht möchtest du sogar selbst Änderungen vornehmen? Auf unserer schematischen Abbildung haben wir alle Einheiten zusammengefasst und zeigen dir, wie sie vom Micro:Bit angesteuert werden.

 

Welche Revision dein Joy-Car hat, kannst du hier nachlesen. Dort findest du detaillierte Informationen, wie du die Revision deines Joy-Cars identifizierst und welche Unterschiede zwischen den Revisionen bestehen.