import time
time.sleep(0.1)
print("Fatma TURAN")
from ili9341xnew import ILI9341, color565
from machine import Pin, SPI
import tt14
import tt24 # Yazı tipi (orta boy)
import tt32
import glcdfont # Basit font
import framebuf
import dht # DHT sensör kütüphanesi
# DHT22 sensörünün DATA pini GP2'ye bağlı (yeşil)
dht_pin = Pin(2)
sensor = dht.DHT22(dht_pin)
# Switch, GP3 üzerinden okunuyor. Pull-up ile basılı olmadığında 1,
# basıldığında 0 (sarı)
switch_pin = Pin(3, Pin.IN, Pin.PULL_UP)
TFT_MOSI_PIN = 19#Veri gönderme pini
TFT_CLK_PIN = 18
TFT_CS_PIN = 17
TFT_DC_PIN = 20
TFT_RST_PIN = 21
fonts = [glcdfont, tt14, tt24, tt32] # Font listesi
# SPI arayüzü başlatılıyor
spi = SPI(
0, # SPI0 kullanılıyor
baudrate=40000000, # Hızlı SPI haberleşme 40 Megahertz
mosi=Pin(TFT_MOSI_PIN),
sck=Pin(TFT_CLK_PIN))
# Ekran başlatılıyorrr
display = ILI9341(
spi,
cs=Pin(TFT_CS_PIN),
dc=Pin(TFT_DC_PIN),
rst=Pin(TFT_RST_PIN),
w=320, # Ekran genişliği
h=240, # Ekran yüksekliği
r=0) # Rotasyon (ekran döndürülmez)
# Ekranı temizle
display.erase()
display.set_pos(0, 0)#yazı konumu sol üst köşe
display.set_font(tt24) # Yazı tipi belirleniyor(orta boy)
# Sonsuz döngü
while True:
try:
sensor.measure() # Sıcaklık ve nem ölçümü yapılır
temp_c = sensor.temperature() # Sıcaklık °C
hum = sensor.humidity() # Nem %
# Switch'e basılmışsa Fahrenheit göster
if switch_pin.value() == 0:
temp_f = temp_c * 9 / 5 + 32
temp_str = "Sicaklik: {:.1f} F".format(temp_f)
else:
temp_str = "Sicaklik: {:.1f} C".format(temp_c)
# Ekranı temizle ve bilgileri yaz
display.erase()
display.set_pos(10, 10)
display.print(temp_str)#sıcaklığı ekrana yazdır
display.set_pos(10, 50)
display.print("Nem: {:.1f}%".format(hum))#nem ekrana yazdır
time.sleep(2)
except Exception as e:
print("Sensor hatasi:", e)
display.set_pos(10, 10)
display.print("Sensor hatasi")
time.sleep(2)