<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://micropython.aundz.net/index.php?action=history&amp;feed=atom&amp;title=21._Lektion%3A_Pin%27s</id>
	<title>21. Lektion: Pin&#039;s - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="http://micropython.aundz.net/index.php?action=history&amp;feed=atom&amp;title=21._Lektion%3A_Pin%27s"/>
	<link rel="alternate" type="text/html" href="http://micropython.aundz.net/index.php?title=21._Lektion:_Pin%27s&amp;action=history"/>
	<updated>2026-10-24T09:49:18Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Micropython</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>http://micropython.aundz.net/index.php?title=21._Lektion:_Pin%27s&amp;diff=1010&amp;oldid=prev</id>
		<title>Mp-admin: 1 Version importiert</title>
		<link rel="alternate" type="text/html" href="http://micropython.aundz.net/index.php?title=21._Lektion:_Pin%27s&amp;diff=1010&amp;oldid=prev"/>
		<updated>2024-10-12T13:48:03Z</updated>

		<summary type="html">&lt;p&gt;1 Version importiert&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 12. Oktober 2024, 15:48 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;de&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(kein Unterschied)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Mp-admin</name></author>
	</entry>
	<entry>
		<id>http://micropython.aundz.net/index.php?title=21._Lektion:_Pin%27s&amp;diff=1009&amp;oldid=prev</id>
		<title>MPK2023&gt;Kapest: /* 5-Tasten abfragen */</title>
		<link rel="alternate" type="text/html" href="http://micropython.aundz.net/index.php?title=21._Lektion:_Pin%27s&amp;diff=1009&amp;oldid=prev"/>
		<updated>2024-01-21T11:07:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;5-Tasten abfragen&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Was bietet uns die Klasse Pin?=&lt;br /&gt;
In Micropython ist der Zugriff auf die Hardware als Klasse implementiert. Für jeden Pin wird dementsprechend eine Instanz der Klasse Pin angelegt. Diese enthält die Einstellungen und die Daten des Pin.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;!---&lt;br /&gt;
== Im M5Microphyton:==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; import machine&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; dir(machine.Pin)&lt;br /&gt;
[&amp;#039;__class__&amp;#039;, &amp;#039;__name__&amp;#039;, &amp;#039;value&amp;#039;, &amp;#039;__bases__&amp;#039;, &amp;#039;__dict__&amp;#039;, &amp;#039;IN&amp;#039;, &amp;#039;IRQ_FALLING&amp;#039;, &amp;#039;IRQ_RISING&amp;#039;, &amp;#039;OPEN_DRAIN&amp;#039;, &lt;br /&gt;
&amp;#039;OUT&amp;#039;, &amp;#039;PULL_DOWN&amp;#039;, &amp;#039;PULL_HOLD&amp;#039;, &amp;#039;PULL_UP&amp;#039;, &amp;#039;WAKE_HIGH&amp;#039;, &amp;#039;WAKE_LOW&amp;#039;, &amp;#039;init&amp;#039;, &amp;#039;irq&amp;#039;, &amp;#039;off&amp;#039;, &amp;#039;on&amp;#039;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Im Raspi Pico Microphyton:==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; import machine&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; dir(machine.Pin)&lt;br /&gt;
[&amp;#039;__class__&amp;#039;, &amp;#039;__name__&amp;#039;, &amp;#039;value&amp;#039;, &amp;#039;__bases__&amp;#039;, &amp;#039;__dict__&amp;#039;, &amp;#039;ALT&amp;#039;, &amp;#039;ALT_GPCK&amp;#039;, &amp;#039;ALT_I2C&amp;#039;, &amp;#039;ALT_PIO0&amp;#039;, &amp;#039;ALT_PIO1&amp;#039;, &lt;br /&gt;
&amp;#039;ALT_PWM&amp;#039;, &amp;#039;ALT_SIO&amp;#039;, &amp;#039;ALT_SPI&amp;#039;, &amp;#039;ALT_UART&amp;#039;, &amp;#039;ALT_USB&amp;#039;, &amp;#039;IN&amp;#039;, &amp;#039;IRQ_FALLING&amp;#039;, &amp;#039;IRQ_RISING&amp;#039;, &amp;#039;OPEN_DRAIN&amp;#039;, &lt;br /&gt;
&amp;#039;OUT&amp;#039;, &amp;#039;PULL_DOWN&amp;#039;, &amp;#039;PULL_UP&amp;#039;, &amp;#039;board&amp;#039;, &amp;#039;cpu&amp;#039;, &amp;#039;high&amp;#039;, &amp;#039;init&amp;#039;, &amp;#039;irq&amp;#039;, &amp;#039;low&amp;#039;, &amp;#039;off&amp;#039;, &amp;#039;on&amp;#039;, &amp;#039;toggle&amp;#039;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Pins initialisieren.=&lt;br /&gt;
So sieht eine umfangreiche Initialisierung aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;my_pin = machine.Pin(id, mode=- 1, pull=- 1, *, value=None, drive=0, alt=- 1)&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Üblicherweise reicht diese Kurzform:===&lt;br /&gt;
&amp;lt;pre&amp;gt;from machine import Pin&lt;br /&gt;
p0 = Pin(0, Pin.OUT)&lt;br /&gt;
p2 = Pin(2, Pin.IN, Pin.PULL_UP)&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Bedeutung der Parameter:===&lt;br /&gt;
; id&lt;br /&gt;
: Nummer des Pin (GPIOxx)&lt;br /&gt;
; mode&lt;br /&gt;
: Pin.IN, Pin.OUT, Pin.OPEN_DRAIN &amp;lt;br&amp;gt;[[Open Collector / Open Drain]]&lt;br /&gt;
; pull&lt;br /&gt;
: None, Pin.PULL_UP, Pin.PULL_DOWN &amp;lt;br&amp;gt;[[PullUp / PullDown]]&lt;br /&gt;
&lt;br /&gt;
=== Methoden von Pin===&lt;br /&gt;
&lt;br /&gt;
; Pin.init(mode=- 1, pull=- 1, *, value=None, drive=0, alt=- 1)&lt;br /&gt;
: Neuinitialisierung des Pins unter Verwendung der angegebenen Parameter.&lt;br /&gt;
; Pin.value(x)&lt;br /&gt;
: Diese Methode ermöglicht das Setzen und Lesen des Pins. Wird x (0 oder 1) angegeben wird der Pin darauf gesetzt. Ohne x wird der Wert des Pins ausgelesen.&amp;lt;br&amp;gt;[[Verhalten von Pin.value()]]&lt;br /&gt;
; Pin.high()&lt;br /&gt;
: Setzt den Pin auf 1. &amp;#039;&amp;#039;&amp;#039;Nicht ESP32!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
; Pin.low()&lt;br /&gt;
: Setzt den Pin auf 0. &amp;#039;&amp;#039;&amp;#039;Nicht ESP32!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
; Pin.off()&lt;br /&gt;
: Setzt den Pin auf 0.&lt;br /&gt;
; Pin.on()&lt;br /&gt;
: Setzt den Pin auf 1.&lt;br /&gt;
; Pin.toggle()&lt;br /&gt;
: Pin invertieren.  &amp;#039;&amp;#039;&amp;#039;Nur Raspberry Pi Pico.&amp;#039;&amp;#039;&amp;#039; Nicht bei docs.micropython.org erwähnt.&lt;br /&gt;
&lt;br /&gt;
= Pins als Ausgang=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from machine import Pin&lt;br /&gt;
&lt;br /&gt;
pin_von_led = 22&lt;br /&gt;
led_pin = Pin(pin_von_led, Pin.OUT)&lt;br /&gt;
led_pin.value(0)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LED ansteuern.==&lt;br /&gt;
&lt;br /&gt;
* Anschaltung &lt;br /&gt;
** nach Vcc&lt;br /&gt;
** nach GND&lt;br /&gt;
&lt;br /&gt;
* Software&lt;br /&gt;
&lt;br /&gt;
== LED blinken lassen.==&lt;br /&gt;
&lt;br /&gt;
So findet man es zu Abtippen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while True:&lt;br /&gt;
    led_pin.value(1)&lt;br /&gt;
    sleep_ms(500) &lt;br /&gt;
    led_pin.value(0)&lt;br /&gt;
    sleep_ms(500) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier eine Alternative:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while True:&lt;br /&gt;
    if led_pin.value() == 0:&lt;br /&gt;
        led_pin.value(1)&lt;br /&gt;
    else:&lt;br /&gt;
        led_pin.value(0)&lt;br /&gt;
    sleep_ms(500) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit der toggle.Methode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while True:&lt;br /&gt;
    led_pin.toggle()&lt;br /&gt;
    sleep_ms(500) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== toggle / XOR &amp;#039;^&amp;#039;===&lt;br /&gt;
XOR ist eine logische Vernüpfung die nur 1 ergibt, wenn a &amp;#039;&amp;#039;&amp;#039;oder&amp;#039;&amp;#039;&amp;#039; b 1 ist, wenn a &amp;#039;&amp;#039;&amp;#039;und&amp;#039;&amp;#039;&amp;#039; b 1 sind wird 0 ausgegeben.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 50px;&amp;quot;&lt;br /&gt;
|+ XOR Verknüpfung&lt;br /&gt;
|-&lt;br /&gt;
! A !! B !! Q&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || 0&lt;br /&gt;
|}&lt;br /&gt;
===== Übung:===== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; pin_x = 0&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; pin_x = pin_x ^ 1&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; pin_x&lt;br /&gt;
1&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; pin_x = pin_x ^ 1&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; pin_x&lt;br /&gt;
0&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Als konkretes Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mit toggle-Methode&lt;br /&gt;
&lt;br /&gt;
led_pin.toggle()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ohne toggle-Methode&lt;br /&gt;
# mit bitwise xor&lt;br /&gt;
&lt;br /&gt;
led_pin.value(led_pin.value()^1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LED dimmen.==&lt;br /&gt;
&lt;br /&gt;
Das Dimmen einer LED unterscheidet sich vom Blinken nur durch die Umschaltgeschwindigkeit.&lt;br /&gt;
Sobald unser Auge den Wechel nicht mehr wahrnimmt, wird das Impuls-Pausen-Verhältnis in Helligkeit umgesetzt.&lt;br /&gt;
&lt;br /&gt;
===== Übung:=====&lt;br /&gt;
* Schreibt ein Programm mit dem die Helligkeit der LED verändert werden kann. &lt;br /&gt;
** Ändert dazu den Wert von sleep_ms() auf 10 und 1.&lt;br /&gt;
** Die Helligkeit wird nicht im laufenden Programm geändert. Dazu wird das Programm gestoppt. Entsprechende Werte im Script geändert und neu gestartet.&lt;br /&gt;
** Ersetzt sleep_ms() durch sleep_us() und passt den Wert an.&lt;br /&gt;
&lt;br /&gt;
= Pins als Eingang=&lt;br /&gt;
== Taster abfragen.==&lt;br /&gt;
[[Taster anschließen]]&lt;br /&gt;
=== Taster abfragen===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from machine import Pin&lt;br /&gt;
&lt;br /&gt;
pin_center = 15&lt;br /&gt;
button = Pin(pin_center, Pin.IN, Pin.PULL_DOWN)&lt;br /&gt;
button.value()&lt;br /&gt;
0&lt;br /&gt;
&lt;br /&gt;
# nun bei gedrückter Taste&lt;br /&gt;
button.value()&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Übung:=====&lt;br /&gt;
* Schreibe ein Programm, das die LED leuchten lässt wenn der Taster gedrückt ist.&lt;br /&gt;
&lt;br /&gt;
===== Übung:=====&lt;br /&gt;
* Schreibe ein Programm, dass beim ersten Tastendruck die LED einschaltet und beim nächsten sie wieder ausschaltet.&lt;br /&gt;
&lt;br /&gt;
=== Taster entprellen===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# button_6.py&lt;br /&gt;
&lt;br /&gt;
from machine import Pin&lt;br /&gt;
from time import sleep_ms&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pin_center = 15&lt;br /&gt;
pin_led = 22&lt;br /&gt;
&lt;br /&gt;
button = Pin(pin_center, Pin.IN, Pin.PULL_DOWN)&lt;br /&gt;
led = Pin(pin_led, Pin.OUT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    while not button.value():&lt;br /&gt;
        pass&lt;br /&gt;
    sleep_ms(15)&lt;br /&gt;
    if button.value():&lt;br /&gt;
        led.toggle()&lt;br /&gt;
    while button.value():&lt;br /&gt;
        pass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Übung:=====&lt;br /&gt;
* Übung 1:&lt;br /&gt;
** Schreibe ein Programm bei dem Du mit der Taste die Blinkfrequenz verändern kannst.&lt;br /&gt;
*** max: 1000ms, min: 100ms, step: 100ms.&lt;br /&gt;
* Übung 2:&lt;br /&gt;
** Schreibe ein Programm bei dem Du mit der Taste die Helligkeit verändern kannst.&lt;br /&gt;
*** max. 100%, min: 0%., step: 10%.&lt;br /&gt;
&lt;br /&gt;
== 5-Tasten abfragen==&lt;br /&gt;
Zur Einführung betrachten wir was hinter den Kulissen passiert:&lt;br /&gt;
[[Das Objekt Pin|Das Objekt Pin]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# meine_funktionen.py&lt;br /&gt;
#&lt;br /&gt;
# Sammlung nützlicher Funktionen&lt;br /&gt;
#&lt;br /&gt;
# Version: 00.00.01&lt;br /&gt;
# Datum: 17.01.2024&lt;br /&gt;
# Autor: Peter Stöck&lt;br /&gt;
#&lt;br /&gt;
# Nach Ideen von:&lt;br /&gt;
# Andreas Günther,&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
from machine import Pin&lt;br /&gt;
from time import sleep_ms&lt;br /&gt;
&lt;br /&gt;
####################################################################&lt;br /&gt;
# Tastenfunktionen&lt;br /&gt;
####################################################################&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Taster init&lt;br /&gt;
#&lt;br /&gt;
b_up = Pin(11, Pin.IN, Pin.PULL_DOWN)&lt;br /&gt;
b_down = Pin(14, Pin.IN, Pin.PULL_DOWN)&lt;br /&gt;
b_left = Pin(12, Pin.IN, Pin.PULL_DOWN)&lt;br /&gt;
b_right = Pin(13, Pin.IN, Pin.PULL_DOWN)&lt;br /&gt;
b_ok = Pin(15, Pin.IN, Pin.PULL_DOWN)&lt;br /&gt;
&lt;br /&gt;
# Die Pins für das Demoboard&lt;br /&gt;
MPDB_BUTTONS = (b_up, b_down, b_left, b_right, b_ok)&lt;br /&gt;
&lt;br /&gt;
# get_button(buttons)&lt;br /&gt;
# buttons muss iterierbar sein!&lt;br /&gt;
# wartet auf einen Tastendruck&lt;br /&gt;
# und gibt den Namen der Taste zurück.&lt;br /&gt;
&lt;br /&gt;
def get_button(buttons):&lt;br /&gt;
    while True:&lt;br /&gt;
        for i in buttons:&lt;br /&gt;
            if i.value():&lt;br /&gt;
                sleep_ms(30)&lt;br /&gt;
                if i.value():          &lt;br /&gt;
                    while i.value():&lt;br /&gt;
                        pass            &lt;br /&gt;
                    return i&lt;br /&gt;
&lt;br /&gt;
# Anwendung:&lt;br /&gt;
# import meine_funktionen as mf&lt;br /&gt;
# mf.get_button(MPDB_BUTTONS)&lt;br /&gt;
#&lt;br /&gt;
# Wenn das zuviel Schreibkram ist:&lt;br /&gt;
# get_b = mf.get_button&lt;br /&gt;
# get_b()&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# ----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# button_pressed(MPDB_BUTTONS)&lt;br /&gt;
# Prüft ob eine Taste gedrückt ist.&lt;br /&gt;
# liefert True/False zurück.&lt;br /&gt;
# buttons muss iterierbar sein!&lt;br /&gt;
&lt;br /&gt;
def button_pressed(buttons):&lt;br /&gt;
    pressed = False&lt;br /&gt;
    for b in buttons:&lt;br /&gt;
        if b.value():&lt;br /&gt;
            pressed = True&lt;br /&gt;
    return pressed&lt;br /&gt;
&lt;br /&gt;
# ----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# get_button_2(MPDB_BUTTONS)&lt;br /&gt;
# wartet bis alle Tasten losgelassen sind&lt;br /&gt;
# und wartet dann auf einen Tastendruck.&lt;br /&gt;
# Kehrt zurück, sobald ein Tastendruck&lt;br /&gt;
# erkannt wurde.&lt;br /&gt;
&lt;br /&gt;
def get_button_2(buttons):&lt;br /&gt;
    pressed = True&lt;br /&gt;
    while pressed:&lt;br /&gt;
        pressed = False &lt;br /&gt;
        for b in buttons:&lt;br /&gt;
            if b.value():&lt;br /&gt;
                pressed = True &lt;br /&gt;
    sleep_ms(30)               # Prellen abwarten&lt;br /&gt;
    while True:&lt;br /&gt;
        for i in buttons:&lt;br /&gt;
            if i.value():&lt;br /&gt;
                sleep_ms(30)&lt;br /&gt;
                if i.value():             &lt;br /&gt;
                    return i&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Buzzer==&lt;br /&gt;
Das Demoboard enthält auch einen Buzzer. Hier ein kleines Programm, das ihm einen Ton entlockt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import machine&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
buzz = machine.Pin(10, machine.Pin.OUT)&lt;br /&gt;
freq = 440&lt;br /&gt;
verz = int(1/freq/2 * 1E6)&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    buzz.value(1)&lt;br /&gt;
    time.sleep_us(verz)&lt;br /&gt;
    buzz.value(0)&lt;br /&gt;
    time.sleep_us(verz)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nähere Betrachtung des Objektes Pin==&lt;br /&gt;
&lt;br /&gt;
[[Das Objekt Pin|Das Objekt Pin]]&lt;br /&gt;
&lt;br /&gt;
==Navigation==&lt;br /&gt;
[[Micropython_Kurs_2023_-_Teil_2|Zurück zur &amp;quot;Micropython Kurs 2023 Teil 2&amp;quot; Startseite]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Micropython Kurs 2023|Zurück zur &amp;quot;Micropython Kurs 2023&amp;quot; Startseite]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Programmieren|Zurück zur Programmieren Startseite]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Attraktor_Wiki|Zurück zur Wiki Startseite]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>MPK2023&gt;Kapest</name></author>
	</entry>
</feed>