MicroPython Tutorial

Code-Datei herunterladen

Hinweis: Alle Kurscodes stehen hier zum Download bereit. Download-Links werden später nicht mehr bereitgestellt. Um zu vermeiden, dass Sie es vergessen, empfehlen wir Ihnen, den Code jetzt für zukünftiges Tutorial-Lernen herunterzuladen.

Zum Download klicken

1. MU IDE

1. 1 MU IDE installieren

Mu ist ein Python-Code-Editor für angehende Programmierer, der auf Lehrern und Schülern basiert. Der einfachste Weg, Mu zu erhalten, ist über das offizielle Installationsprogramm für Windows oder Mac OSX (Mu unterstützt keine 32-Bit-Windows mehr). Die aktuell empfohlene Version ist Mu 1.0-beta 2.

Schritt 1 - Version bestimmen und Mu-Installer herunterladen

Öffnen Sie den Link: https://codewith.mu/en/download, um die entsprechende Mu-Softwareversion herunterzuladen.

Finden Sie heraus, ob Ihr Computer Windows oder Mac OSX verwendet, und öffnen Sie den Explorer, klicken Sie auf “Dieser PC” und wählen Sie dann “Eigenschaften”, um zu erfahren, ob Ihr Windows-System 32-Bit oder 64-Bit ist.

Systemtyp anzeigen:

Schritt 2 - Installer ausführen

Suchen Sie den gerade heruntergeladenen Installer (er befindet sich möglicherweise in Ihrem Download-Ordner) und doppelklicken Sie, um die Installer-Datei zu öffnen.

Download-Link für Mac OSX System: https://codewith.mu/en/howto/1.1/install_macos

Windows 10 System

Tippen Sie auf „Weitere Informationen“

Geben Sie „Trotzdem ausführen“ ein

Schritt 3 - Protokoll

Überprüfen Sie die Lizenz und klicken Sie dann auf Installieren.

Schritt 4 - Installation

Es dauert einige Sekunden, Mu auf Ihrem Computer zu installieren.

Schritt 5 - Fertigstellen

Tippen Sie auf Fertigstellen

Schritt 6 - Mu starten

Sie können Mu starten, indem Sie auf das Symbol im Startmenü klicken oder Mu in das Suchfeld eingeben (beide Methoden sind unten dargestellt).

Die Hauptoberfläche von Mu ist unten dargestellt:

1.2 Compiler-Setup und Einführung in die Symbolleiste

Stellen Sie zuerst den „Modus“ auf micro:bit ein.

Öffnen Sie die Mu-Software, klicken Sie in der Menüleiste auf die Schaltfläche „Modus“ und wählen Sie „BBC micro:bit“ aus, dann tippen Sie auf „OK“.

1.3 Bibliotheksdatei installieren

Bevor Sie die Bibliothek importieren, müssen Sie einen .py-Code auf micro:bit hochladen. Hier nehmen wir das RGB-Modul “code_1.py” im Tutorial als Beispiel.

Importieren Sie die Datei „keyes_MiniCar.py“

Das Standardverzeichnis zum Speichern von Mu ist die Datei “Mu_code”, die sich im Stammverzeichnis des Benutzerverzeichnisses befindet.

Wenn Ihr System beispielsweise unter Windows auf dem Laufwerk C Ihres Computers installiert ist und der Benutzername Administrator lautet, ist der Pfad zum Verzeichnis mu_code C:\Users\Administrator\mu_code. Unter Linux lautet der Pfad ~/home/mu_code.

Geben Sie die Datei „mu_code“ ein

Kopieren Sie die Bibliotheksdatei “keyes_MiniCar.py” in den Ordner “mu_code”. Der Codepfad ist wie folgt:

Öffnen Sie die Mu-Software und verbinden Sie das micro:bit mit Ihrem Computer. Klicken Sie dann auf die Schaltfläche “Dateien” und ziehen Sie die Bibliotheksdatei “keyes_MiniCar.py” in das micro:bit.

Nach erfolgreichem Import sehen Sie es im linken Feld.

Tippen Sie auf „Prüfen“, um den Code auf Fehler zu überprüfen. Wenn eine Zeile mit einem Cursor oder einem Unterstrich erscheint, liegt in dieser Zeile ein Fehler im Programm vor.

Diese Tipps sind nur Warnungen, keine Code-Fehlermeldungen.

image-20250421140856606

image-20250421140905688

Sie müssen auch sicherstellen, dass das Micro-USB-Kabel mit dem micro:bit und dem Computer verbunden ist, und dann auf die Schaltfläche “Flash” klicken, um den Code auf das micro:bit herunterzuladen.

Wenn nach dem Klicken auf die Schaltfläche “Flash” ein Fehler auftritt, überprüfen Sie bitte, ob Sie die Bibliotheksdatei in das micro:bit importiert haben.

Hinweis:

Wenn Sie andere Programme auf das micro:bit-Board heruntergeladen haben, außer der Bibliotheksdatei “keyes_MiniCar.py”. Bevor Sie in Micropython programmieren, müssen Sie die Bibliotheksdatei in das micro:bit importieren.

Wenn Sie immer dasselbe micro:bit-Board für die Micropython-Programmierung verwenden, müssen Sie es nicht erneut an das micro:bit senden.

1.4 Code zum Compiler hinzufügen

Wir nehmen das erste Projekt des Basistutorials “Herzschlag” als Beispiel, öffnen den Ordner “Programm” im ersten Projektordner und suchen die Datei “microbit-Heartbeat”.

Oder öffnen Sie die Mu-Software und tippen Sie auf die Datei „microbit-Heartbeat.py“, ziehen Sie sie dann in die Mu-Software:

wie unten gezeigt:

1.5 Code auf Micro:bit herunterladen

Verbinden Sie das micro:bit-Board und den Computer über das Micro-USB-Kabel.

Tippen Sie auf „Flash“, um den Code auf micro:bit herunterzuladen.

![](./media/image-20250421141216304.png | display.show(val1)
sleep(500)
display.show(val3)
sleep(500) | LED bei (1,0) blinkt für 0,5s | | display.show(val2)
sleep(500)
display.show(val3)
sleep(500) | LED bei (3,4) blinkt für 0,5s |

2.2.5 Testergebnis

Nach dem Herunterladen des Codes und dem Anschließen der Stromversorgung über ein USB-Kabel sehen Sie, dass die LED bei (1,0) für 0,5 Sekunden blinkt, dann die LED bei (3,4) für 0,5 Sekunden blinkt, in einer Schleife.

2.3 5 x 5 LED-Punktmatrix

2.3.1 Beschreibung

Punktmatrizen erfreuen sich in unserem Leben großer Beliebtheit, z. B. LED-Bildschirme, Bushaltestellen und Mini-Fernseher im Aufzug.

Die Punktmatrix des Micro:bit-Boards besteht aus 25 Leuchtdioden. In der vorherigen Lektion haben wir die LEDs des Micro:bit-Boards gesteuert, um Muster, Zahlen und Zeichenfolgen durch Setzen der Koordinatenpunkte zu bilden. Darüber hinaus könnten wir eine andere Methode anwenden, um die Anzeige von Mustern, Zahlen und Zeichenfolgen zu vervollständigen.

2.3.2 Benötigte Komponenten

Micro:bit * 1

Micro:bit * 1

2.3.3 Testcode

Sie können den Code direkt aus dem Tutorial hochladen (lesen Sie bei Zweifeln die Datei “Entwicklungsumgebungskonfiguration”).

from microbit import *
val = Image("00900:""00900:""90909:""09990:""00900")
display.show(val)

Testergebnis: Laden Sie 2.3-5× 5 LED Dot Matrix-1.py auf den micro:bit hoch, dann erscheint ein Abwärtspfeil.

from microbit import *
val = Image("00900:""00900:""90909:""09990:""00900")
display.show('1')
sleep(500)
display.show('2')
sleep(500)
display.show('3')
sleep(500)
display.show('4')
sleep(500)
display.show('5')
sleep(500)
display.show(val)
sleep(500)
display.scroll("hello!")
sleep(200)
display.show(Image.HEART)
sleep(500)
display.show(Image.ARROW_NE)
sleep(500)
display.show(Image.ARROW_SE)
sleep(500)
display.show(Image.ARROW_SW)
sleep(500)
display.show(Image.ARROW_NW)
sleep(500)
display.clear()

2.3.4 Code-Erklärung

Code

Erklärung

from microbit import *

Importiert die Bibliotheksdatei von micro:bit

val =
Image(“09000:”“00000:”“00000:”“0000
0:”“00000:”)

Setzt Image() auf die Variable val

display.show(val)

micro:bit zeigt „→“

display.show(‘1’)

display.show(‘1’)

sleep(500)

sleep(500)

display.scroll(“hello!”)

micro:bit scrollt, um „hello!“ anzuzeigen

display.show(Image.HEART)

micro:bit zeigt „❤“

display.show(Image.ARROW_NE)
display.show(Image.ARROW_SE)
display.show(Image.ARROW_SW)
display.show(Image.ARROW_NW)

micro:bit zeigt „Nordost“-Pfeil
micro:bit zeigt „Südost“-Pfeil
micro:bit zeigt „Südwest“-Pfeil
micro:bit zeigt „Nordwest“-Pfeil

display.clear()

Die LED-Punktmatrix des micro:bit wird gelöscht

2.3.5 Testergebnis

Laden Sie 2.3-5×5 LED Dot Matrix-2.py auf den micro:bit hoch, dann zeigt die LED-Punktmatrix „1“, „2“,

„3“, „4“, „5“, „↓“, „hello!“, „❤“, , , , Muster an. Jedes Intervall beträgt 500 ms.

2.4 Programmierbare Tasten

2.4.1 Beschreibung

Der Taster kann das Ein- und Ausschalten des Stromkreises steuern, der an den Stromkreis angeschlossen ist. Der Stromkreis ist unterbrochen, wenn der Taster nicht gedrückt wird. Der Stromkreis wird verbunden, sobald er gedrückt wird, aber er wird nach dem Loslassen wieder unterbrochen.

Beide Enden des Tasters sind wie zwei Berge. Dazwischen fließt ein Fluss. Das interne Metallstück verbindet die beiden Seiten, um den Strom durchzulassen, genau wie eine Brücke, die die beiden Berge verbindet.

Funktionsweise: Vor dem Drücken des Tasters sind 1, 2, 3 und 4 eingeschaltet, aber 1, 3 oder 1, 4 oder 2, 3 oder 2, 4 sind getrennt (blockiert), die beim Drücken des Tasters eingeschaltet werden.

Das Micro:bit-Board verfügt über drei Tasten, die Reset-Taste befindet sich auf der Rückseite und zwei programmierbare Tasten auf der Vorderseite. Drücken Sie A, B und AB gleichzeitig, und der entsprechende Bildschirm zeigt sie jeweils an.

2.4.2 Benötigte Komponenten

Micro:bit * 1

Micro:bit * 1

2.4.3 Testcode

Sie können den Code direkt aus dem Tutorial hochladen (lesen Sie bei Zweifeln die Datei “Entwicklungsumgebungskonfiguration”).

from microbit import *
while True:
if button_a.is_pressed():
display.show("A")
elif button_a.is_pressed() and button_b.is_pressed():
display.scroll("AB")
elif button_b.is_pressed():
display.show("B")

Testergebnis: Laden Sie 2.4-Programmable Buttons-1.py hoch und schließen Sie den micro:bit über ein USB-Kabel an. Drücken Sie „A“ auf dem Micro:bit-Board, wird der Buchstabe „A“ angezeigt; wenn „B“ gedrückt wird, erscheint der Buchstabe „B“. „AB“ wird angezeigt, wenn Sie die Tasten A und B gleichzeitig drücken.

from microbit import *
a = 0
b = 0
val1 = Image("00000:""00000:""00
| sleep(500)                                                   | Verzögerung um 500ms                                         |
| **if** temperature() >= 35:<br/>display.show(Image.HEART)<br/>**else**:<br/>display.show(Image.HEART_SMALL) | Wenn der Temperaturwert 35 ist,<br/>zeigt micro:bit  ![image-20250421144625274](./media/image-20250421144625274.png) an.<br/>Wenn der Temperaturwert <35 ist,<br/>zeigt micro:bit „![](./media/image-20250421144739465.png) an. |

### 2.6 Kompass

#### 2.6.1 Beschreibung

Dieses Projekt stellt hauptsächlich die Verwendung des Micro:bit-Kompasses vor. Er kann zur Bestimmung der Richtung verwendet werden. Wir müssen die Micro:bit-Platine kalibrieren, wenn der Magnetsensor arbeitet. Die korrekte Kalibrierungsmethode besteht darin, die Micro:bit-Platine zu drehen.

<span style="color:red;">Zusätzlich können Objekte in der Nähe die Genauigkeit der Messwerte und der Kalibrierung beeinflussen.</span>

#### 2.6.2 Benötigte Komponenten

| ![](./media/mcirobit.png) | ![](./media/usb.png) |
| :-----------------------: | :------------------: |
|       Micro:bit * 1       |    Micro:bit * 1     |

#### 2.6.3 Testcode

Sie können den Code direkt aus dem Tutorial hochladen (lesen Sie bei Zweifeln die Datei "Entwicklungsumgebungskonfiguration").

![](./media/image-20250422104111026.png)

```python
from microbit import *
compass.calibrate()
while True:
if button_a.is_pressed():
display.scroll(compass.heading())

Code-Erklärung: Wir müssen micro:bit aufgrund unterschiedlicher Magnetfelder in verschiedenen Bereichen kalibrieren. Micro:bit fordert Sie zur Kalibrierung auf, wenn Sie es zum ersten Mal verwenden.

Übertragen Sie 2.6-Magnetic sensor-1.py auf micro:bit, schließen Sie micro:bit über ein USB-Kabel an und drücken Sie Taste A. „TILT TO FILL SCREEN“ erscheint auf micro:bit. Dann gelangen Sie in die Kalibrierungsoberfläche. Die Kalibrierungsmethode besteht darin, die micro:bit-Platine zu drehen und ein vollständiges Quadratmuster (25 LEDs leuchten) anzuzeigen, wie in der folgenden Abbildung gezeigt:

Die Kalibrierung ist abgeschlossen, sobald Sie das lächelnde Muster sehen.

Der serielle Monitor zeigt 0°, 90°, 180° und 270° an, wenn Taste A gedrückt wird.


from microbit import *
compass.calibrate()
x = 0
while True:
x = compass.heading()
if x >= 293 and x < 338:
display.show(Image("00999:""00099:""00909:""09000:""90000"))
elif x >= 23 and x < 68:
display.show(Image("99900:""99000:""90900:""00090:""00009"))
elif x >= 68 and x < 113:
display.show(Image("00900:""09000:""99999:""09000:""00900"))
elif x >= 113 and x < 158:
display.show(Image("00009:""00090:""90900:""99000:""99900"))
elif x >= 158 and x < 203:
display.show(Image("00900:""00900:""90909:""09990:""00900"))
elif x >= 203 and x < 248:
display.show(Image("90000:""09000:""00909:""00099:""00999"))
elif x >= 248 and x < 293:
display.show(Image("00900:""00090:""99999:""00090:""00900"))
else:
display.show(Image("00900:""09990:""90909:""00900:""00900"))

Richten Sie die micro:bit-Platine horizontal nach Norden, Süden, Osten und Westen aus, die LED-Punktmatrix zeigt die entsprechenden Richtungsmuster an.

Wie unten gezeigt, zeigt der Pfeil nach oben rechts, wenn der Wert zwischen 292,5 und 337,5 liegt. 0,5 kann im Code nicht eingegeben werden, daher sind die Werte, die wir erhalten, 293 und 338.

Laden Sie 2.6-Magnetic sensor-2.py auf die micro:bit-Platine hoch und ziehen Sie das USB-Kabel nicht ab. Nach der Kalibrierung neigen Sie die Micro:bit-Platine, die LED-Punktmatrix zeigt die Richtungssymbole an.

2.6.4 Code-Erklärung

code

Erklärung

from microbit import *

Importiert die Bibliotheksdatei von micro:bit

compass.calibrate()

Kompasskalibrierung

while True:

Dies ist eine Dauerschleife, die micro:bit den Code ausführen lässt.

if button_a.is_pressed():
display.scroll(compass.heading())

Wenn Taste A gedrückt wird,
scrollt micro:bit, um den Wert des Kompasses anzuzeigen.

x = 0

Variable x=0 setzen

x = compass.heading()

Den Wert des Kompasses der Variable x zuweisen

ifelifelse

Den Wert des Kompasses der Variable x zuweisen

display.show(Image(“00999:”“0009
9:”“00909:”“09000:”“90000”))
display.show(Image(“99900:”“9900
0:”“90900:”“00090:”“00009”))
display.show(Image(“00900:”“0900
0:”“99999:”“09000:”“00900”))
display.show(Image(“00009:”“0009
0:”“90900:”“99000:”“99900”))
display.show(Image(“00900:”“0090
0:”“90909:”“09990:”“00900”))
display.show(Image(“90000:”“0900
0:”“00909:”“00099:”“00999”))
display.show(Image(“00900:”“0009
0:”“99999:”“00090:”“00900”))
display.show(Image(“00900:”“0999
0:”“90909:”“00900:”“00900”))

Micro:bit zeigt das Nordost-Pfeilsymbol an.
Micro:bit zeigt das Nordwest-Pfeilsymbol an.
Micro:bit zeigt das West-Pfeilsymbol an.
Micro:bit zeigt das Südwest-Pfeilsymbol an.
Micro:bit zeigt das Südost-Pfeilsymbol an.
Micro:bit zeigt das Süd-Pfeilsymbol an.
Micro:bit zeigt das Ost-Pfe

from microbit import *

Importiert die Bibliotheksdatei von micro:bit

gesture = accelerometer.current_gesture()

Setzt accelerometer.current_gesture() auf gesture

while True:

Dies ist eine Dauerschleife, und micro:bit führt den Code aus

Lightintensity = display.read_light_level()

Setzt display.read_light_level() auf Lightintensity

print(“Light intensity:”, Lightintensity)

BBC micro:bit REPL gibt den erkannten Lichtintensitätswert aus

sleep(100)

Verzögerung um 100ms

2.8.5 Testergebnis

Laden Sie den Code auf das micro:bit-Board herunter, ziehen Sie das USB-Kabel nicht ab. Klicken Sie auf „REPL“ und drücken Sie die Reset-Tasten, der Lichtintensitätswert wird angezeigt, wie unten gezeigt.

Wenn die LED-Punktmatrix abgedeckt wird, ist der Intensitätswert 0; im Gegenteil, der Intensitätswert steigt, wenn das micro:bit-Board unter die Sonne gelegt wird.

2.9 Lautsprecher

2.9.1 Beschreibung

Das micro:bit-Mainboard verfügt über einen eingebauten Lautsprecher, der es sehr einfach macht, Ihrem Projekt einen Ton hinzuzufügen. Der Lautsprecher kann so programmiert werden, dass er eine Vielzahl von Tönen ausgibt, z. B. das Schreiben eines Liedes: Ode an die Freude, und es abspielt.

2.9.2 Benötigte Komponenten

Micro:bit * 1

Micro:bit * 1

2.9.3 Testcode

Sie können den Code direkt aus dem Tutorial hochladen (lesen Sie bei Zweifeln die Datei „Entwicklungsumgebungskonfiguration“).

from microbit import *
import audio
display.show(Image.MUSIC_QUAVER)
while True:
audio.play(Sound.GIGGLE)
sleep(1000)
audio.play(Sound.HAPPY)
sleep(1000)
audio.play(Sound.HELLO)
sleep(1000)
audio.play(Sound.YAWN)
sleep(1000)

2.9.4 Code-Erklärung

Code

Erklärung

from microbit import *

Importiert die Bibliotheksdatei von micro:bit

import audio

Audio-Bibliotheksdatei

while True:

Dies ist eine Dauerschleife, und micro:bit führt den Code aus

audio.play(Sound.GIGGLE)

Erzeugt ein Kichergeräusch

sleep(1000)

Verzögerung um 1000ms

2.9.5 Testergebnis

Laden Sie den Code auf das micro:bit-Board herunter, ziehen Sie das USB-Kabel nicht ab, dann gibt der Lautsprecher einen Ton aus und die LED-Punktmatrix zeigt ein Musiklogo-Muster an.

2.11 Mikrofon

2.11.1 Beschreibung

Das micro:bit-Mainboard verfügt über ein eingebautes Mikrofon, das zur Messung des Umgebungsgeräuschpegels verwendet werden kann. Wenn Sie klatschen, leuchtet die LED-Anzeige auf dem micro:bit-Mainboard auf. Es kann die Intensität des Schalls messen. In diesem Zusammenhang können Sie eine Schallpegelkarte oder Disco-Lichter erstellen, die im Takt der Musik sind.

2.11.2 Benötigte Komponenten

Micro:bit * 1

Micro:bit * 1

2.11.3 Testcode

Sie können | —— | —————— | ——– | —————— | | Schwarz | 255,255,255 | Rot | 0,255,255 | | Grün | 255,0,255 | Blau | 255,255,0 | | Cyan | 255,0,0 | Dunkelrot | 0,255,0 | | Gelb | 0,0,255 | Weiß | 0,0,0 | | … | … | … | … |

Da unsere LED-Leuchten eine gemeinsame Anode haben, ist 255 der niedrigste Wert und 0 der hellste Wert.

In diesem Projekt werden wir zwei Experimente durchführen. Eines besteht darin, zwei RGB-Leuchten in den drei Farben Rot, Grün und Blau leuchten zu lassen, das andere darin, zwei RGB-Leuchten allmählich verschiedene Farben anzeigen zu lassen.

3.1.2 Vorbereitung

(1) micro:bit korrekt in die Erweiterungsplatine einstecken

(2) Batteriehalter an die Erweiterungsplatine anschließen

(3) Netzschalter einschalten (Den POWER-Schalter auf ON stellen)

(4) micro:bit und Computer über ein Micro-USB-Kabel verbinden

(5) MU IDE öffnen

Wenn Sie die Mini-Car-Erweiterungsbibliothek hinzufügen möchten (siehe Datei “1.4 Install the Library File”).

3.1.3 Schaltplan

Funktionsprinzip: Microbit sendet als Host Befehle über IIC an den Slave STC8G1K08, dann gibt der Slave PWM aus, um die RGB-LED-Leuchten zu steuern. Dies spart erheblich die IO-Ports der Microbit-Platine, da das IIC zwei Motoren und zwei RGB-LED-Leuchten steuern kann.

3.1.4 Code-Erklärung

Funktionen der RGB-LEDs in der Datei Keyes_MiniCar.py:

Left.red(0-255): Stellt die linke RGB auf Rot ein, 0 ist am hellsten und 255 am dunkelsten.

Left.green(0-255): Stellt die linke RGB auf Grün ein, 0 ist am hellsten und 255 am dunkelsten.

Left.blue(0-255): Stellt die linke RGB auf Blau ein, 0 ist am hellsten und 255 am dunkelsten.

right.red(0-255): Stellt die rechte RGB auf Rot ein, 0 ist am hellsten und 255 am dunkelsten.

right.green(0-255): Stellt die rechte RGB auf Grün ein, 0 ist am hellsten und 255 am dunkelsten.

right.blue(0-255): Stellt die rechte RGB auf Blau ein, 0 ist am hellsten und 255 am dunkelsten.

3.1.5 Testcode

Sie können die Datei 3.1-RGB LED-1.py direkt aus dem Tutorial hochladen (lesen Sie bei Zweifeln die Datei “Development Environment Configuration”).

from microbit import *
from keyes_MiniCar import *
minicar = MiniCar()

while True:
    minicar.left_red(0)
    minicar.right_red(0)
    sleep(1000)
    minicar.led_off()
    minicar.left_green(0)
    minicar.right_green(0)
    sleep(1000)
    minicar.led_off()
    minicar.left_blue(0)
    minicar.right_blue(0)
    sleep(1000)
    minicar.led_off()

Testergebnis: Nach dem Hochladen des Codes wechselt die RGB-LED jede Sekunde in der Reihenfolge Rot, Grün und Blau.


Importieren Sie die Datei 3.1-RGB LED-2.py

from microbit import *
from keyes_MiniCar import *
minicar = MiniCar()

while True:
    for num in range(0 , 255):  		#It is a loop statement, the range is 0 to 255
        num += 1					#It is equal to num = num + 1 
        minicar.left_red(255 - num)
        minicar.right_red(255 - num)
        sleep(10)
        
    for num in range(0 , 255):
        num += 1
        minicar.left_green(255 - num)
        minicar.right_green(255 - num)
        sleep(10)
        
    for num in range(0 , 255):
        num += 1
        minicar.left_red(num)
        minicar.right_red(num)
        sleep(10)
        
    for num in range(0 , 255):
        num += 1
        minicar.left_blue(255 - num)
        minicar.right_blue(255 - num)
        sleep(10)
    
    for num in range(0 , 255):
        num += 1
        minicar.left_red(255 - num)
        minicar.right_red(255 - num)
        sleep(10)
    
    for num in range(0 , 255):
        num += 1
        minicar.left_green(num)
        minicar.right_green(num)
        sleep(10)
        
    for num in range(0 , 255):
        num += 1
        minicar.left_red(num)
        minicar.right_red(num)
        sleep(10)
    
    for num in range(0 , 255):
        num += 1
        minicar.left_blue(num)
        minicar.right_blue(num)
        sleep(10)

Testergebnis: Nach dem Hochladen des Codes leuchtet die RGB-LED rot, dann grün, dann erscheint eine Mischung aus Rot und Grün. Wenn das rote Licht aus ist, leuchtet das blaue Licht, dann wird eine Mischung aus Blau und Grün angezeigt.

Wenn jedoch das grüne Licht aus ist, leuchtet das rote Licht, dann wird eine Mischung aus Blau und Rot angezeigt. Zum Schluss werden die roten und blauen Lichter ausgeschaltet.

3.1.6 Erweitertes Wissen

1s = 1000ms; 1ms = 1000us; 1us = 1000nm

Die 1000 ms, die wir im Projekt verwendet haben, sind also 1 s.

Vielleicht sind Sie in der Lage, die gewünschte Lichtfarbe selbst zu konfigurieren. Sie müssen lediglich die roten, grünen und blauen PWM-Werte für die RGB konfigurieren.

3.2 Motorantrieb

3.2.1 Beschreibung

Das Roboterauto ist mit zwei DC-Getriebemotoren ausgestattet, die auf gewöhnlichen DC-Motoren basieren. Es verfügt über ein passendes Getriebe, das eine geringere Geschwindigkeit, aber ein größeres Drehmoment bietet. Darüber hinaus können verschiedene Untersetzungsverhältnisse des Getriebes unterschiedliche Geschwindigkeiten und Drehmomente liefern.

Der Untersetzungsmotor ist die Integration von Getriebemotor und Motor, die in der Stahl- und Maschinenindustrie weit verbreitet ist.

Darüber hinaus verfügt das Auto über einen STC8G1K08- und einen HR8833MTE-Chip. Um die IO-Ports zu sparen, senden wir Befehle über das IIC des micro:bit an den STC8G1K08-Chip. Der STC8G1K08-Chip steuert dann den HR8833MTE-Chip gemäß den entsprechenden Anweisungen, um die Drehrichtung und Geschwindigkeit der beiden DC-Untersetzungsmotoren zu steuern (der Steuerprozess ist wie folgt).

3.2.2 Vorbereitung

(1) micro minicar.Motor_L(1, 70) #It is a code of advance minicar.Motor_R(1, 70) elif LDR_L > 650 and LDR_R <= 650: #Judge if the left brightness>650,right≤650 minicar.Motor_L(0, 70) #Left turn code minicar.Motor_R(1, 70) elif LDR_L <= 650 and LDR_R > 650: #Judge if the left side of the car≤650,right>650 minicar.Motor_L(1, 70) #The car turns right minicar.Motor_R(0, 70) else: minicar.Motor_stop() #The car stops


#### 3.3.7 Testergebnis

Nach dem Hochladen des Codes schalten Sie den Schalter auf der Rückseite des Autos ein, dann können Sie eine Taschenlampe verwenden, um mit dem Auto zu spielen. Es ist am besten in einer relativ dunklen Umgebung zu verwenden. Wenn die Umgebungslichtintensität über 650 liegt, fährt das Auto weiter.

### 3.4 Linienverfolgungs-Smart-Car

#### 3.4.1 Beschreibung

Das Auto ist mit zwei Linienverfolgungssensoren und zwei Potentiometern ausgestattet.

Außerdem verwendet es eine TCRT5000 IR-Röhre, die eine IR-Emissionsröhre und eine IR-Empfangsröhre enthält. Wenn die Infrarotsignale der Emissionsröhre durch Reflexion von der Empfangsröhre empfangen werden, ändert sich der Widerstand der Empfangsröhre, was sich im Allgemeinen in der Spannungsänderung im Stromkreis widerspiegelt.

Der Widerstand variiert je nach Intensität der von der Empfangsröhre empfangenen Infrarotsignale, die oft in der Farbe der reflektierenden Oberfläche und deren Abstand zur Empfangsröhre liegen. Zum Zeitpunkt der Erkennung ist Schwarz High-Level-aktiv und Weiß Low-Level-aktiv.

**Funktionsprinzip:** Wenn das Auto über einer weißen Straße fährt, sendet die unter dem Auto installierte IR-Emissionsröhre Infrarotsignale aus, um die Straße zu erkennen, und die Empfangsröhre empfängt die zurückgesendeten Signale. Dann gibt der Ausgang Low-Level (0) aus. Wenn es schwarze Linien erkennt, gibt es High-Level (1) aus.

Senden Sie das erkannte Signal an den I/O-Port des Mikrocontrollers. Wenn es High-Level (1) ist, befindet sich das Auto auf der schwarzen Linie. Wenn es Low-Level (0) ist, befindet sich das Auto auf dem weißen Untergrund.

<span style="color:red;">Die beiden Linienverfolgungssensoren auf der Erweiterungsplatine werden von P12 und P13 der Micro:bit-Steuerplatine gesteuert, der linke von P13 und der rechte von P12. Stellen Sie die Linienverfolgungssensoren ein und platzieren Sie das Auto auf einem schwarzen Untergrund. Drehen Sie die Potentiometer, bis die LEDs (D3, D2) leuchten, und stellen Sie sie dann so ein, dass sie wieder ausgehen.</span>

#### 3.4.2 Vorbereitung

(1) Stecken Sie das micro:bit korrekt in die Erweiterungsplatine.

(2) Verbinden Sie den Batteriehalter mit der Erweiterungsplatine.

(3) Schalten Sie den Netzschalter ein (<span style="color:red;">Schieben Sie den POWER-Schalter auf ON</span>).

(4) Verbinden Sie das micro:bit und den Computer über ein Micro-USB-Kabel.

(5) Öffnen Sie die MU IDE.

Wenn Sie die Mini-Car-Erweiterungsbibliothek hinzufügen möchten (siehe Datei "1.4 Install the Library File").

#### 3.4.3 Schaltplan

![](./media/image-20250422095208760.png)

#### 3.4.4 Den Linienverfolgungssensor auslesen

Sie können den Code `3.4-Read the Line Tracking Sensor.py` direkt aus dem Tutorial hochladen (lesen Sie die Datei "Development Environment Configuration", falls Sie Zweifel haben).

![](./media/image-20250422113010395.png)

```python
from microbit import *
pin12.set_pull(pin12.PULL_UP)
pin13.set_pull(pin13.PULL_UP)
sensor_L = 0
sensor_R = 0

while True:
    sensor_L = pin13.read_digital()
    sensor_R = pin12.read_digital()
    print("sensor_L:", sensor_L)
    print("sensor_R:", sensor_R)
    sleep(1000)

Testergebnis: Laden Sie den Code auf das micro:bit-Board herunter, ziehen Sie das USB-Kabel nicht ab. Klicken Sie auf „REPL“ und drücken Sie die Reset-Taste. Die vom Linienverfolgungssensor erfassten Messwerte werden auf dem Monitor angezeigt.

Wenn der Linienverfolgungssensor ein weißes Objekt erkennt, wird 0 angezeigt und D2, D3 leuchten; wenn keine weißen Objekte und nur schwarze Objekte erkannt werden, wird 1 angezeigt und D2, D3 sind aus, wie unten gezeigt.

3.4.5 Flussdiagramm

3.4.6 Testcode

Sie können den Code 3.4-Patrol car.py direkt aus dem Tutorial hochladen (lesen Sie die Datei “Development Environment Configuration”, falls Sie Zweifel haben).

from microbit import *
from keyes_MiniCar import *		#Import the library file
minicar = MiniCar()				#Instantiate an object MiniCar()as minicar
pin12.set_pull(pin12.PULL_UP)      #Set pin12 to pull up
pin13.set_pull(pin13.PULL_UP)
sensor_L = 0
sensor_R = 0

while True:
    sensor_L = pin13.read_digital()    #Read the value of the sensor
    sensor_R = pin12.read_digital()
    print("sensor_L:", sensor_L)
    print("sensor_R:", sensor_R)
    if sensor_L == 1 and sensor_R == 1: #Judge if sensor_L and sensor_R =1
        minicar.Motor_L(1, 70)			#Advance code
        minicar.Motor_R(1, 70)
    elif sensor_L == 0 and sensor_R == 1: #Judge if sensor_L =0 and sensor_R=1
        minicar.Motor_L(1, 70)			#Right turn code
        minicar.Motor_R(0, 70)
    elif sensor_L == 1 and sensor_R == 0: #Judge if sensor_L=1 and sensor_R=0
        minicar.Motor_L(0, 70)
        minicar.Motor_R(1, 70)
    else:
        minicar.Motor_stop()

Testergebnis: Laden Sie den Code hoch und schalten Sie den Netzschalter am Auto ein. Platzieren Sie das Auto auf dem Linienverfolgungspapier, dann folgt es der schwarzen Linie.

Einstellen des Potentiometers:

Wenn das Fahrzeug die Linie nicht richtig verfolgt, stellen Sie das Potentiometer bitte wie folgt ein.

  1. Laden Sie den Kurs-Code hoch.

  2. Positionieren Sie das Auto so, dass die Vorderseite zu Ihnen zeigt. Drehen Sie das linke Potentiometer vollständig gegen den Uhrzeigersinn und das rechte Potentiometer vollständig im Uhrzeigersinn.

  3. Platzieren Sie das Auto auf