from machine import Pin, ADC, PWM
from tm1637 import TM1637
import time
# =====================================================
# LED PATTERN
# =====================================================
pins = [6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
leds = []
for p in pins:
leds.append(Pin(p, Pin.OUT))
def all_off():
for l in leds:
l.value(0)
def pattern_cen_out():
mid = 4
for offset in range(5):
all_off()
leds[mid - offset].value(1)
leds[mid + offset].value(1)
time.sleep(0.3)
def led_pattern():
for _ in range(2):
pattern_cen_out()
time.sleep(0.5)
# =====================================================
# TM1637 + LEDs
# =====================================================
tm = TM1637(clk=Pin(16), dio=Pin(26))
tm_leds = [Pin(18, Pin.OUT), Pin(19, Pin.OUT), Pin(17, Pin.OUT)]
def tm_run():
counter = 90
while counter >= -60:
tm.number(counter)
time.sleep(0.5)
counter -= 10
for l in tm_leds:
l.value(1)
time.sleep(5)
for l in tm_leds:
l.value(0)
# =====================================================
# SEVEN SEGMENT (FIXED + START EMPTY)
# =====================================================
seg_pins = [0, 1, 5, 7, 4, 2, 20] # كما عندك أنت
seg = [Pin(p, Pin.OUT) for p in seg_pins]
digits = {
0:[0,0,0,0,0,0,1],
1:[1,0,0,1,1,1,1],
2:[0,0,1,0,0,1,0],
3:[0,0,0,0,1,1,0],
4:[1,0,0,1,1,0,0],
5:[0,1,0,0,1,0,0],
6:[0,1,0,0,0,0,0],
7:[0,0,0,1,1,1,1],
8:[0,0,0,0,0,0,0],
9:[0,0,0,0,1,0,0]
}
def clear():
for i in range(7):
seg[i].value(0)
def show(n):
for i in range(7):
seg[i].value(digits[n][i])
def seven_segment():
clear()
time.sleep(0.5)
for i in range(10):
show(i)
time.sleep(0.5)
# =====================================================
# RGB + POT
# =====================================================
pot = ADC(Pin(28))
rgb_pins = [27, 22, 21]
rgb = [PWM(Pin(p)) for p in rgb_pins]
for r in rgb:
r.freq(1000)
def rgb_control():
for _ in range(50):
value = pot.read_u16()
rgb[0].duty_u16(value)
rgb[1].duty_u16(value // 2)
rgb[2].duty_u16(65535 - value)
time.sleep(0.05)
# =====================================================
# MAIN MENU (KEYBOARD)
# =====================================================
while True:
print("\n===== MENU =====")
print("1 - LED Pattern")
print("2 - TM1637")
print("3 - Seven Segment")
print("4 - RGB")
choice = input("Enter number: ").strip()
print("You entered:", choice)
if choice == "1":
led_pattern()
elif choice == "2":
tm_run()
elif choice == "3":
seven_segment()
elif choice == "4":
rgb_control()
else:
print("Invalid choice")