from machine import Pin
import time
# 7 segment display pinlerinin Raspberry Pi Pico'daki GPIO karşılıkları
segments = [
Pin(0, Pin.OUT), # a
Pin(1, Pin.OUT), # b
Pin(2, Pin.OUT), # c
Pin(3, Pin.OUT), # d
Pin(4, Pin.OUT), # e
Pin(5, Pin.OUT), # f
Pin(6, Pin.OUT) # g
]
# Sayıların segment kodları (Common Cathode için, 1 yanık - 0 kapalı)
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 display_number(num):
"""Girilen sayıyı 7 segment ekranda gösteren fonksiyon"""
for i in range(7):
segments[i].value(digits[num][i])
while True:
num1 = input("Lütfen 0-9 arasında bir sayı girin: ")
if not num1.isdigit() or int(num1) not in digits:
print("Geçersiz giriş! 0-9 arasında bir sayı girin.")
continue
num1 = int(num1)
display_number(num1)
time.sleep(1)
num2 = input("Lütfen 0-9 arasında ikinci bir sayı girin: ")
if not num2.isdigit() or int(num2) not in digits:
print("Geçersiz giriş! 0-9 arasında bir sayı girin.")
continue
num2 = int(num2)
display_number(num2)
time.sleep(1)
total = num1 + num2
print(f"Toplam: {total}")
if total < 10:
display_number(total)
else:
# Eğer toplam çift haneli ise, önce onlar basamağını sonra birler basamağını göster
onlar = total // 10
birler = total % 10
display_number(onlar)
time.sleep(1)
display_number(birler)