類比實作Part6 – UV sensor
UV sensor模組
電路圖
UV Index
參考 https://wiki.dfrobot.com/UV_sensor_SKU__SEN0162
程式列表
Blockly
Python
|
from machine import ADC from machine import LED from machine import KEY import utime
sensorValue = None sensorVoltage = None UV_Index = None adc_1 = None ledRgb = None key_0 = None
ledRgb = LED(LED.RGB) adc_1 = ADC(1) key_0 = KEY(0) while True: sensorValue = adc_1.read() sensorVoltage = (sensorValue * 3300) / 1024 if sensorVoltage < 50: UV_Index = 0 ledRgb.rgb_write(1,0,0,0) ledRgb.rgb_write(2,0,0,0) ledRgb.rgb_write(3,0,0,0) elif sensorVoltage < 227: UV_Index = 1 ledRgb.rgb_write(1,0,153,0) ledRgb.rgb_write(2,0,153,0) ledRgb.rgb_write(3,0,0,0) elif sensorVoltage < 318: UV_Index = 2 ledRgb.rgb_write(1,0,153,0) ledRgb.rgb_write(2,0,0,0) ledRgb.rgb_write(3,0,0,0) elif sensorVoltage < 408: UV_Index = 3 ledRgb.rgb_write(1,255,255,102) ledRgb.rgb_write(2,255,255,102) ledRgb.rgb_write(3,255,255,102) elif sensorVoltage < 503: UV_Index = 4 ledRgb.rgb_write(1,255,255,102) ledRgb.rgb_write(2,255,255,102) ledRgb.rgb_write(3,0,0,0) elif sensorVoltage < 606: UV_Index = 5 ledRgb.rgb_write(1,255,255,102) ledRgb.rgb_write(2,0,0,0) ledRgb.rgb_write(3,0,0,0) elif sensorVoltage < 696: UV_Index = 6 ledRgb.rgb_write(1,255,102,0) ledRgb.rgb_write(2,255,102,0) ledRgb.rgb_write(3,0,0,0) elif sensorVoltage < 795: UV_Index = 7 ledRgb.rgb_write(1,255,102,0) ledRgb.rgb_write(2,0,0,0) ledRgb.rgb_write(3,0,0,0) elif sensorVoltage < 881: UV_Index = 8 ledRgb.rgb_write(1,255,0,0) ledRgb.rgb_write(2,255,0,0) ledRgb.rgb_write(3,255,0,0) elif sensorVoltage < 976: UV_Index = 9 ledRgb.rgb_write(1,255,0,0) ledRgb.rgb_write(2,255,0,0) ledRgb.rgb_write(3,0,0,0) elif sensorVoltage < 1079: UV_Index = 10 ledRgb.rgb_write(1,255,0,0) ledRgb.rgb_write(2,0,0,0) ledRgb.rgb_write(3,0,0,0) else: UV_Index = 11 ledRgb.rgb_write(1,204,51,204) ledRgb.rgb_write(2,204,51,204) ledRgb.rgb_write(3,204,51,204) print(''.join([str(x) for x in ['sensor reading = ', sensorValue, ', sensor voltage = ', sensorVoltage, 'mV', ', UV index = ', UV_Index]])) if (key_0.value()) == 0: break
utime.sleep_ms( 500 ) adc_1.deinit() ledRgb.off() key_0.deinit() |