# Importing required modules and lib.
import time
from machine import Pin
# Define the pins for the RGB LED, onboard led, two channel relay module.
led = machine.Pin(25, machine.Pin.OUT)
red_pin = machine.Pin(2, Pin.OUT)
green_pin = machine.Pin(3, Pin.OUT)
blue_pin = machine.Pin(4, Pin.OUT)
relay01 = machine.Pin(0, Pin.OUT)
relay02 = machine.Pin(1, Pin.OUT)
process_running = True
sensor_temp = machine.ADC(4)
conversion_factor = 3.3 / (65535)
# Define a function to set the RGB values
def set_rgb(r, g, b):
red_pin.value(r)
green_pin.value(g)
blue_pin.value(b)
while process_running:
# system start
led.toggle()
time.sleep(4)
reading = sensor_temp.read_u16() * conversion_factor
temperature = 27 - (reading - 0.706)/0.001721
print(temperature)
time.sleep(2)
# Turn on the red LED for scan time/detection
relay02.value(0)
relay01.value(0)
set_rgb(1, 0, 0)
time.sleep(8)
# Turn on the green LED for item "G".
set_rgb(0, 1, 0)
time.sleep(1)
relay02.value(0)
relay01.value(1)
time.sleep(8)
relay01.value(0)
time.sleep(2)
# Turn on the blue LED for item "B".
set_rgb(0, 0, 1)
relay01.value(0)
time.sleep(2)
relay02.value(1)
time.sleep(8)
relay02.value(0)
time.sleep(2)
# Turn on the white LED (red + green + blue) for operation done.
set_rgb(1, 1, 1)
time.sleep(8)
if temperature >= 30:
set_rgb(1, 0, 1)
print(temperature)
relay02.value(0)
relay01.value(0)
led.low()