21. Lektion: Pin's: Difference between revisions

From Attraktor Wiki
Jump to navigation Jump to search
Line 36: Line 36:
: 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()
; Pin.high()
: Setzt den Pin auf 1. Nicht ESP32!
: Setzt den Pin auf 1. '''Nicht ESP32!'''
; Pin.low()
; Pin.low()
: Setzt den Pin auf 0. Nicht ESP32!
: Setzt den Pin auf 0. '''Nicht ESP32!'''
; Pin.off()
; Pin.off()
: Setzt den Pin auf 0.
: Setzt den Pin auf 0.
Line 44: Line 44:
: Setzt den Pin auf 1.
: Setzt den Pin auf 1.
; Pin.toggle()
; Pin.toggle()
: Pin invertieren.  Nicht ESP32!
: Pin invertieren.  '''Nicht ESP32!'''


= Pins als Ausgang=
= Pins als Ausgang=

Revision as of 19:26, 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. Nicht ESP32!
Pin.low()
Setzt den Pin auf 0. Nicht ESP32!
Pin.off()
Setzt den Pin auf 0.
Pin.on()
Setzt den Pin auf 1.
Pin.toggle()
Pin invertieren. Nicht ESP32!

Pins als Ausgang

LED ansteuern.

Pins als Eingang

Taster abfragen.

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