21. Lektion: Pin's: Difference between revisions

From Attraktor Wiki
Jump to navigation Jump to search
Line 35: Line 35:
; Pin.value(x)
; Pin.value(x)
: 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.
: 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.
; Pin.high()
: Setzt den Pin auf 1.
; Pin.low()
: Setzt den Pin auf 0.
; Pin.off()
: Setzt den Pin auf 0.
; Pin.on()
: Setzt den Pin auf 1.
; Pin.toggle()
: Pin invertieren


= Pins als Ausgang=
= Pins als Ausgang=

Revision as of 19:23, 15 August 2023

Was 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:

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:

id
Nummer des Pin (GPIOxx)
mode
Pin.IN, Pin.OUT, Pin.OPEN_DRAIN
pull
None, Pin.PULL_UP, Pin.PULL_DOWN


Methoden von Pin

Pin.value(x)
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.
Pin.high()
Setzt den Pin auf 1.
Pin.low()
Setzt den Pin auf 0.
Pin.off()
Setzt den Pin auf 0.
Pin.on()
Setzt den Pin auf 1.
Pin.toggle()
Pin invertieren

Pins als Ausgang

LED ansteuern.

Pins als Eingang

Taster abfragen.

https://docs.m5stack.com/en/mpy/official/machine