Két darab 3641AS típusű 4-digites hétszegmenses LED kijelzőt, nyolc LED-ed és nyolc nyomógombot kezel Az E-bay kínálatában kapható a LED & KEY modulnál egy TM1638 típusú IC, amit hrom digitális ki/mbemeneten keresztül szoftveresen írunk, illetve olvasunk.
Az IC tárolja a LED-ek állapotát és automatikusan frissíti a kijelzést, korlátoza a LED-ek áramát és digitálisan szabályozza a LED-ek fényerejét (PWM) 5 fokozatban.
Szoftveres meghajtó: CircuitPython-tm1638 programkönyvtár
A programkönyvtárhoz egy mintapéldát is mellékeltek. Most ezt a test_code.py programot mutatjuk be.
Mielőtt tovább lépnénk, ellenőrizük, hogy csatlakoztatva van-e a CircuitPython kártyánk!
import os
print("Running CircuitPython release", os.uname().release, "on board", os.uname().machine)
Running CircuitPython release 7.0.0 on board stm32f411ce-blackpill-with-flash with STM32F411CE
import tm1638
import time
import board
from digitalio import DigitalInOut, Direction
# TM1638 Keyboard & LED setup.
stb = DigitalInOut(board.B12)
stb.direction = Direction.OUTPUT
clk = DigitalInOut(board.B13)
clk.direction = Direction.OUTPUT
dio = DigitalInOut(board.B15)
dio.direction = Direction.OUTPUT
kled = tm1638.TM1638(stb, clk, dio, brightness=2)
# blink all leds
for i in range(8):
kled.led(i, 1)
time.sleep(0.5)
kled.led(i, 0)
kled.clear()
# display text
kled.show("PYTHON")
# change brightness
for i in range(5):
kled.brightness(i)
time.sleep(0.5)
kled.brightness(2)
# display number
kled.clear()
kled.number(-1234567)
time.sleep(1.5)
# led combinations
kled.leds(170)
time.sleep(0.5)
kled.leds(85)
time.sleep(0.5)
kled.leds(170)
time.sleep(0.5)
kled.leds(85)
time.sleep(0.5)
kled.clear()
# scroll text
kled.scroll("ABC DEF 123 456 789 CircuitPython")
kled.clear()
# display temperature and humidity
kled.temperature(25)
kled.humidity(45)
time.sleep(1.5)
# wait for a key press and activate corresponding led
# while True:
# kled.leds(kled.keys())