21. Lektion: Pin'sAus Attraktor WikiVersion vom 5. Oktober 2023, 21:14 Uhr von Kapest (Diskussion | Beiträge) InhaltsverzeichnisWas bietet uns die Klasse Pin?Im M5Microphyton:>>> import machine >>> dir(machine.Pin) ['__class__', '__name__', 'value', '__bases__', '__dict__', 'IN', 'IRQ_FALLING', 'IRQ_RISING', 'OPEN_DRAIN', 'OUT', 'PULL_DOWN', 'PULL_HOLD', 'PULL_UP', 'WAKE_HIGH', 'WAKE_LOW', 'init', 'irq', 'off', 'on'] Im Raspi Microphyton:>>> import machine >>> dir(machine.Pin) ['__class__', '__name__', 'value', '__bases__', '__dict__', 'ALT', 'ALT_GPCK', 'ALT_I2C', 'ALT_PIO0', 'ALT_PIO1', 'ALT_PWM', 'ALT_SIO', 'ALT_SPI', 'ALT_UART', 'ALT_USB', 'IN', 'IRQ_FALLING', 'IRQ_RISING', 'OPEN_DRAIN', 'OUT', 'PULL_DOWN', 'PULL_UP', 'board', 'cpu', 'high', 'init', 'irq', 'low', 'off', 'on', 'toggle'] Pins initialisieren.So sieht eine umfangreiche Initialisierung aus: my_pin = machine.Pin(id, mode=- 1, pull=- 1, *, value=None, drive=0, alt=- 1) Üblicherweise reicht diese Kurzform:from machine import Pin p0 = Pin(0, Pin.OUT) p2 = Pin(2, Pin.IN, Pin.PULL_UP) Bedeutung der Parameter:
Methoden von Pin
Pins als Ausgangfrom machine import Pin pin_von_led = 25 led_pin = Pin(pin_von_led, Pin.OUT) led_pin.value(0) LED ansteuern.
LED blinken lassen.So findet man es zu Abtippen: while True: led_pin.value(1) sleep_ms(500) led_pin.value(0) sleep_ms(500) Hier eine Alternative: while True: if led_pin.value() == 0: led_pin.value(1) elif: led_pin.value(0) sleep_ms(500) Mit der toggle.Methode: while True: led_pin.toggle() sleep_ms(500) toggle / XOR '^'XOR ist eine logische Vernüpfung die nur 1 ergibt, wenn a oder b 1 ist, wenn a und b 1 sind wird 0 ausgegeben.
Übung:>>> pin_x = 0 >>> pin_x = pin_x ^ 1 >>> pin_x 1 >>> pin_x = pin_x ^ 1 >>> pin_x 0 >>> Als konkretes Beispiel: # mit toggle-Methode led_pin.toggle() # ohne toggle-Methode # mit bitwise xor led_pin.value(led_pin.value()^1) LED dimmen.Das Dimmen einer LED unterscheidet sich vom Blinken nur durch die Umschaltgeschwindigkeit. Sobald unser Auge den Wechel nicht mehr wahrnimmt, wird das Impuls-Pausen-Verhältnis in Helligkeit umgesetzt. Übung:
Pins als EingangTaster abfragen.Taster abfragenÜbung:
Übung:
Taster entprellenÜbung:
|