Micro Python Tutorial Teil 1 - Basics

| MicroPython

Schon länger habe ich ein paar Raspberry Pi Picos daheim herumliegen und bin eigentlich Feuer und Flamme was damit zu machen, nur fehlte die Zeit etwas neues zu lernen. Aber jetzt habe ich endlich Zeit gefunden und es erinnert etwas zurück an die Schulzeit!

Als erstes brauchen wir eine IDE der MicroPython versteht und der mit dem RaspberryPi kommunizieren kann und die Community hat sich für Thonny entschieden. Der Vorteil, den gibt es auch als Portable Version, perfekt um es im Netzwerk auf mehreren PCs zu verwenden!

Nach der Installation verbinden wir den Raspberry Pi mit dem PC und setzen die Konfiguration von Thonny auf MicroPython für Raspberry Pi Pico. Danach müssen wir noch MicroPython installlieren und es kann los gehen!

Endlosschleife

Folgender Code erzeugt eine Endlosschleife, der die OnBoard Led des Picos blinken lässt. Dabei passiert folgendes:

  1. Bibliotheken laden
  2. Erstellen eines Pin Objekts für Pin 25(OnBoard LED) und setzt diesen als Ausgangspin. Dadurch keinn er eine Spannung (High/Low) an externe Komponenten weitergeben.
  3. Definieren einer Endlosschleife
    1. Led einschalten
    2. warte 0.5 Sekunden
    3. Led ausschalten
    4. warte 1 Sekunde
# Bibliotheken laden
from machine import Pin
from time import sleep # Initialisierung von GPIO25 als Ausgang
led = Pin(25, Pin.OUT) # Wiederholung (Endlos-Schleife)
while True:
# LED einschalten
led.on()
# halbe Sekunde warten
sleep(0.5)
# LED ausschalten
led.off()
# 1 Sekunde warten
sleep(1)

 

Statt led.on() und led.off() können wir auch led.toggle() verwenden um den Status einfach zu wechseln ohne darauf zu achten, ob die LED nun leuchtet oder nicht.

Timer

Selber Code wie vorher, nur dieses mal lassen wir einen Timer für uns arbeiten, statt einer Endlosschleife. Die Vorteile des Timers sind einfach, dieser rennt auch weiter, sollte es sonst irgendwo zu Fehlern kommen. 

Die ersten 2 Codeteile sind noch gleich, jedoch definieren wir hier unsere erste Funktion blink als Parameter bekommt diese den Timer übergeben, den brauchen wir jetzt nur nicht. In der Funktion lassen wir die LED blinken und das in einer Frequenz von 1.5Hz, dass sind etwa alle 0,67 Sekunden ( Sekunde = 1/1.5). Timer.PERIODIC bedeutet wiederholend und callback ist ein Funktionsaufruf.

 

# Bibliotheken laden
from machine import Pin, Timer # Initialisierung von GPIO25 als Ausgang
led_onboard = Pin(25, Pin.OUT) # Definition einer Funktion, die der Timer aufruft
def blink(x):
led_onboard.toggle() # Timer initialisieren
Timer().init(freq=1.5, mode=Timer.PERIODIC, callback=blink)

 

Anstelle der Frequenz kann auch eine Periode angegeben werden: 

 

Timer().init(period=500, mode=Timer.PERIODIC, callback=blink)

 

Hier wird alle 500ms die blink Funktion aufgerufen

Ampelsteuerung

Gib mir Feedback!

Hab ich Blödsinn geschrieben oder etwas vergessen? Dann zögere nicht weiter und lass es mich sofort wissen indem du hier einen Kommentar hinterlässt!

×
Captcha Code

Kann das Bild nicht gelesen werden? Klicken Sie hier, um zu aktualisieren