Lesen, Merken und Rechnen
Mithilfe von Variablen lassen sich Werte und Informationen speichern. Sie sind prinzipiell Container für veränderbare Werte. Gespeicherte Variablen können zu einem späteren Zeitpunkt wieder aufgerufen werden, um ihren Wert auszulesen oder zu verändern oder auch um mit ihm zu rechnen. Variablen bestehen immer aus einem eindeutigen Namen. Dieser Name ist beliebig und wird vom Nutzer selbst vergeben.
Verwendung von Variablen
Im folgendem Beispiel kombinieren wir eine Variable mit einer wenn
-Bedingung. Wir initialisieren die Variable counter
mit dem Wert 0 und die Revisionsnummer des Joy-Cars im beim Start
-Block. Im dauerhaft
-Block wird mit der wenn
-Bedingung geprüft, ob die Variable den Wert 1 besitzt. Trifft dies zu, so aktivieren wir die Scheinwerfer des Joy-Cars. Sollte dies nicht zutreffen, so schalten wir die Scheinwerfer aus. Im Anschluss wird der Wert der Variable counter
auf den LEDs angezeigt und dann der Wert der Variable counter
um 1 erhöht.
JoyCar.initJoyCar(RevisionMainboard.OnepThree)
let counter = 0
basic.forever(function () {
if (counter == 1) {
JoyCar.light(ToggleSwitch.On)
} else {
JoyCar.light(ToggleSwitch.Off)
}
basic.showString("" + (counter))
counter += 1
})
Der Beispielcode in MicroPython ist da, weil es ihn auch in MakeCode gibt. Das ist super praktisch, denn wenn du schon mit MakeCode klar kommst, kannst du viel leichter mit MicroPython loslegen. Indem wir Beispielcodes in beiden Umgebungen haben, kannst du ohne große Unterbrechung weiterlernen. So verstehst du besser, wie Programmierung funktioniert und kannst sehen, wie man dieselben Sachen in verschiedenen Programmiersprachen macht.
# Notwendige Bibliotheken importieren
from microbit import *
import neopixel
# Definiere deine Joy Car Mainboard Revision
joycar_rev = 1.3
# Objekt für die LEDs definieren
np = neopixel.NeoPixel(pin0, 8)
# Werte für die Lichter definieren
# welche LEDs aktiviert werden sollen
headlights = (0, 3)
backlights = (5, 6)
indicator_left = (1, 4)
indicator_right = (2, 7)
indicator_warning = (1, 2, 4, 7)
# welche Farbe auf den LEDs angezeigt werden soll
led_white = (60, 60, 60)
led_red = (60, 0, 0)
led_off = (0, 0, 0)
led_red_br = (255, 0, 0)
led_orange = (100, 35, 0)
# Methode zum Aktivieren/Deaktivieren von Lichtern
def lights(on = True):
if on:
for x, y in zip(headlights, backlights):
# Weiß für die Scheinwerfer definieren
np[x] = led_white
# Dunkelrot für die Rücklichter definieren
np[y] = led_red
else:
for x, y in zip(headlights, backlights):
# Schwarz für die Scheinwerfer und Rücklichter definieren
np[x] = led_off
np[y] = led_off
np.show()
# Variable zum Zählen definieren
counter = 0
while True:
# Prüfen, ob der Zähler 1 ist
if counter == 1:
# Abblendlicht anschalten
lights()
else:
# Abblendlicht abschalten
lights(on = False)
# Zähler auf LED-Matrix anzeigen
display.scroll(str(counter))
# Zähler um 1 erhöhen
counter += 1
Verändern von Variablen
Im nächsten Schritt erweitern wir unser bisheriges Beispiel noch um eine zusätzliche Komponente. Wir prüfen zusätzlich mit einer weiteren wenn
-Abfrage, ob sich der Wert unserer Variable unterhalb von 4 befindet. Trifft dies zu, so erhöhen wir unsere counter
-Variable wieder um 1. Sollte dies nicht zutreffen und damit der Wert unserer Variable 4 oder größer sein, so setzen wir unsere Variable wieder zurück auf 0.
Auf diese Weise durchlaufen wir unsere Anweisungen immer wieder aufs Neue, auch ohne den Einsatz einer Schleife.
JoyCar.initJoyCar(RevisionMainboard.OnepThree)
let counter = 0
basic.forever(function () {
if (counter == 1) {
JoyCar.light(ToggleSwitch.On)
} else {
JoyCar.light(ToggleSwitch.Off)
}
basic.showString("" + (counter))
if (counter < 4) {
counter += 1
} else {
counter = 0
}
})
Der Beispielcode in MicroPython ist da, weil es ihn auch in MakeCode gibt. Das ist super praktisch, denn wenn du schon mit MakeCode klar kommst, kannst du viel leichter mit MicroPython loslegen. Indem wir Beispielcodes in beiden Umgebungen haben, kannst du ohne große Unterbrechung weiterlernen. So verstehst du besser, wie Programmierung funktioniert und kannst sehen, wie man dieselben Sachen in verschiedenen Programmiersprachen macht.
# Notwendige Bibliotheken importieren
from microbit import *
import neopixel
# Definiere deine Joy Car Mainboard Revision
joycar_rev = 1.3
# Objekt für die LEDs definieren
np = neopixel.NeoPixel(pin0, 8)
# Werte für die Lichter definieren
# welche LEDs aktiviert werden sollen
headlights = (0, 3)
backlights = (5, 6)
indicator_left = (1, 4)
indicator_right = (2, 7)
indicator_warning = (1, 2, 4, 7)
# welche Farbe auf den LEDs angezeigt werden soll
led_white = (60, 60, 60)
led_red = (60, 0, 0)
led_off = (0, 0, 0)
led_red_br = (255, 0, 0)
led_orange = (100, 35, 0)
# Methode zum Aktivieren/Deaktivieren von Lichtern
def lights(on = True):
if on:
for x, y in zip(headlights, backlights):
# Weiß für die Scheinwerfer definieren
np[x] = led_white
# Dunkelrot für die Rücklichter definieren
np[y] = led_red
else:
for x, y in zip(headlights, backlights):
# Schwarz für die Scheinwerfer und Rücklichter definieren
np[x] = led_off
np[y] = led_off
np.show()
# Variable zum Zählen definieren
counter = 0
while True:
# Prüfen, ob der Zähler 1 ist
if counter == 1:
# Abblendlicht anschalten
lights()
else:
# deactivate lights
lights(on = False)
# Zähler auf LED-Matrix anzeigen
display.scroll(str(counter))
# Der Zähler soll im Intervall zwischen 0 und 4 liegen
if counter < 4:
# Zähler um 1 erhöhen
counter += 1
else:
# Zähler auf 0 zurücksetzen
counter = 0
Variable -1
Natürlich muss eine Variable nicht immer nur um 1 erhöht werden. Variablen können auch gesenkt werden und auch für komplexere mathematische Rechnungen verwendet werden. Da die Variablen nur einen Container darstellen, können sie praktisch für jeden Wert, jeden Zwischenspeicher und jede Rechnung benutzt werden. Im nächsten Beispiel zeigen wir noch einmal, wie unser bisheriges Beispiel mit einer Subtraktion, anstatt einer Addition, funktioniert. Dieses Mal haben wir anstatt des ändere Variable
-Blocks den setze Variable auf
-Block verwendet und diesen mit einer mathematischen Operation versehen (counter - 1
).
JoyCar.initJoyCar(RevisionMainboard.OnepThree)
let counter = 0
basic.forever(function () {
if (counter == 1) {
JoyCar.light(ToggleSwitch.On)
} else {
JoyCar.light(ToggleSwitch.Off)
}
basic.showString("" + (counter))
if (counter > 0) {
counter = counter - 1
} else {
counter = 4
}
})
Der Beispielcode in MicroPython ist da, weil es ihn auch in MakeCode gibt. Das ist super praktisch, denn wenn du schon mit MakeCode klar kommst, kannst du viel leichter mit MicroPython loslegen. Indem wir Beispielcodes in beiden Umgebungen haben, kannst du ohne große Unterbrechung weiterlernen. So verstehst du besser, wie Programmierung funktioniert und kannst sehen, wie man dieselben Sachen in verschiedenen Programmiersprachen macht.
# Notwendige Bibliotheken importieren
from microbit import *
import neopixel
# Definiere deine Joy Car Mainboard Revision
joycar_rev = 1.3
# Objekt für die LEDs definieren
np = neopixel.NeoPixel(pin0, 8)
# Werte für die Lichter definieren
# welche LEDs aktiviert werden sollen
headlights = (0, 3)
backlights = (5, 6)
indicator_left = (1, 4)
indicator_right = (2, 7)
indicator_warning = (1, 2, 4, 7)
# welche Farbe auf den LEDs angezeigt werden soll
led_white = (60, 60, 60)
led_red = (60, 0, 0)
led_off = (0, 0, 0)
led_red_br = (255, 0, 0)
led_orange = (100, 35, 0)
# Methode zum Aktivieren/Deaktivieren von Lichtern
def lights(on = True):
if on:
for x, y in zip(headlights, backlights):
# Weiß für die Scheinwerfer definieren
np[x] = led_white
# Dunkelrot für die Rücklichter definieren
np[y] = led_red
else:
for x, y in zip(headlights, backlights):
# Schwarz für die Scheinwerfer und Rücklichter definieren
np[x] = led_off
np[y] = led_off
np.show()
# Variable zum Zählen definieren
counter = 0
while True:
# Prüfen, ob der Zähler 1 ist
if counter == 1:
# Abblendlicht anschalten
lights()
else:
# Abblendlicht abschalten
lights(on = False)
# Zähler auf LED-Matrix anzeigen
display.scroll(str(counter))
# Der Zähler soll im Intervall 4 bis 0 liegen (rückwärts)
if counter > 0:
# Zähler um 1 verringern
counter -= 1
else:
# Zähler auf 4 zurücksetzen
counter = 4