MicroPython - Class 2: Difference between revisions

From Embedded Workshop
Jump to navigation Jump to search
No edit summary
Line 26: Line 26:
  The TM1637, 7-segment display and keypad scanner IC, uses an “I2C Like”
  The TM1637, 7-segment display and keypad scanner IC, uses an “I2C Like”
  two wire serial interface to drive multiple 7-segment displays.
  two wire serial interface to drive multiple 7-segment displays.
  This interface uses DIO and CLK signals, driven like an I2C interface
  This interface uses DIO and CLK signals, to “bit-bang” commands and data
to “bit-bang” commands and data to the display chip.
to the display chip.

Revision as of 16:24, 6 May 2025

MicroPython - Class 2

Pins – Controlling / Using Pins

Input

# define input with pull-up
button = machine.Pin(18, machine.Pin.IN, machine.Pin.PULL_UP)

Input - Interrupt

# define input with pull-up
button = machine.Pin(18, machine.Pin.IN, machine.Pin.PULL_UP)
# interrupt with falling edge of signal
button.irq(trigger=machine.Pin.IRQ_FALLING, handler=button_change)
The function, "button_change" will get called with each interrupt

Output

led= machine.Pin(17, machine.Pin.OUT) # Define output

Special Function

sda_pin = machine.Pin(14) # define the pins to use
scl_pin = machine.Pin(15)
#create I2C bus object
i2c_bus = machine.I2C(1,sda=sda_pin,scl=scl_pin, freq=400000)
https://docs.micropython.org/en/latest/library/machine.I2C.html

Interfacing different devices

TM1637 7-segment display

The TM1637, 7-segment display and keypad scanner IC, uses an “I2C Like”
two wire serial interface to drive multiple 7-segment displays.
This interface uses DIO and CLK signals, to “bit-bang” commands and data
to the display chip.