#นางสาว พรรณวรินทร์ อุทัยศรี เลขที่ 8
#ใบงานที่ 6.3
import machine # นำเข้าเครื่องจักร
import dht # นำเข้าเซ็นเซอร์ DHT22
from machine import Pin, SoftI2C # ตั้งค่าขาพิน จอ I2C
from lcd_api import LcdApi #ตั้งค่าไลบรารี่ Lcd
from i2c_lcd import I2cLcd # ตั้งค่าไลบรารี่ i2c
from time import sleep #ตั้งค่าเวลาเเล้วน้ำเข้าการหน่วงเวลา
sensor = dht.DHT22(Pin(2)) #ตั้งค่าพินของตัวเซนเซอร์ไว้ที่ขา2
def get_temp(): # รับค่าอุณหภูมิ
sleep(1) #หน่วงเวลา 1 วินาที
sensor.measure() #รับค่าเซ็นเซอร์
temp = sensor.temperature() # รับค่าอุณหภูมิ
return temp #ย้อนกลับอุณหภูมิ
def get_temp_f(): #รับค่าอุณหภูมิ
sleep(1) #หน่วงเวลา1 วินาที
sensor.measure() #รับค่าเซ็นเซอร์
temp = sensor.temperature() #รับค่าเซ็นเซอร์ของอุณหภูมิ
temp_f = temp * (9/5) + 32.0 #การตั้งการทำงานของฟาเรนไฮต์
return temp_f #ย้อนกลับอุณหภูมิฟาเรนไฮต์
def get_humi(): #รับค่าของความชื้น
sleep(1) #หน่วงเวลา 1 วินาที
sensor.measure() #รับค่าเซ็นเซอร์
humi = sensor.humidity() #รับค่าเซ็นเซอร์ของความชื่น
return humi #
def show_text(text_temp,text_temp_f,text_humi) : #โชว์ข้อความ
lcd.putstr("Temperature="+str(text_temp)+"C") #โชว์ข้อความของอุณหภูมิ C
sleep(2) #หน่วงเวลา 2 วินาที่
lcd.clear() #เคลียร์จอ lcd
lcd.putstr("Temperature="+str(text_temp_f)+"F") #โชว์ข้อความของอุณหภูมิ F
sleep(2) #หน่วงเวลา 2 วินาที่
lcd.clear() #เคลียร์จอ lcd
lcd.putstr("humidity="+str(text_humi)+"%") #โชว์ข้อความของความชื้น
sleep(2) #หน่วงเวลา 2 วินาที่
lcd.clear() #เคลียร์จอ lcd
I2C_ADDR = 0x27 #
totalRows = 2 #
totalColumns = 16 #
i2c = SoftI2C(scl=Pin(22), sda=Pin(21), freq=10000) #
lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns) #
while True : #ใช้งานไวย์ ทรู
temperature = get_temp() #โชว์ข้อความของความชื้น
temperature_f = get_temp_f() #โชว์ข้อความของอุณหภูมิแบบองศาฟาเรนไฮต์
humidity = get_humi() #โชว์ข้อความของความชื้น
show_text(temperature,temperature_f,humidity) #