負溫度係數熱敏電阻(NTC)感測器
模組簡介
KY-013 Analog temperature sensor module
(參考https://easyeda.com/adrirobot/KY-013-Analog-temperature-sensor-module)
電路圖
Pycode程式列表
Blockly
Python
"""
"""
EPY NTC(KY-013 Temperature-Sensor module)
-----------------
AIN0 S
3V3 VCC
GND GND
"""
from machine import LED
from machine import Pin,ADC
import math
from machine import Switch
import utime
from machine import RTC
x = None
Temperature = None
Val = None
temp0 = None
rtc = None
adc0 = None
KeyA = None
ledR = None
ledY = None
ledG = None
"""描述此函式...
"""
def Display(x):
global Temperature, Val, temp0
if Temperature > 30:
ledR.on()
ledY.off()
ledG.off()
elif Temperature < 20:
ledR.off()
ledY.on()
ledG.off()
else:
ledR.off()
ledY.off()
ledG.on()
"""描述此函式...
"""
def calcTemp():
global x, Temperature, Val, temp0
Temperature = math.log(10000 * (4095 / Val - 1))
Temperature = 1 / (0.001129148 + (0.000234125 + 8.76741e-8 * (Temperature * Temperature)) * Temperature)
Temperature = Temperature - 273.15
return Temperature
rtc = RTC()
adc0 = ADC(Pin.board.AIN0)
KeyA = Switch('keya')
ledR = LED('ledr')
ledY = LED('ledy')
ledG = LED('ledg')
while True:
Val = adc0.read()
Val = 4095 - Val
temp0 = round(calcTemp())
print(''.join([str(x2) for x2 in ['Current temperature is:', temp0, "'C"]]))
Display(temp0)
if (KeyA.value()) == True:
break
utime.sleep_ms( 500 )
執行結果
溫度高於30度亮紅燈
溫度低於20度黃燈
溫度介於20~30度綠燈