from machine import Pin,ADC
import neopixel
import random
from utime import sleep
import dht
import time
num_leds = 16
leds = neopixel.NeoPixel(Pin(5),num_leds)
sense = dht.DHT22(Pin(4))
pot = ADC(Pin(2,Pin.IN))
def convert(x, in_min, in_max, out_min, out_max):
return (x - in_min) * (out_max - out_min) // (in_max - in_min) + out_min
while True:
sense.measure()
potS = (convert(pot.read(),0,4096,1,5))
r = random.randint(0,255)
g = random.randint(0,255)
b = random.randint(0,255)
if time.time() >= 60:
leds.fill([0,0,0])
leds.write()
break
if sense.humidity() > 50:
for i in range(15,-1,-1):
potS = (convert(pot.read(),0,4096,1,5))
leds[i] = [(r//2),(g//2),(b//2)]
leds.write()
sleep(potS * 0.1)
for i in range(15,-1,-1):
potS = (convert(pot.read(),0,4096,1,5))
leds[i] = [0,0,0]
leds.write()
sleep(potS * 0.1)
else:
for i in range(num_leds):
potS = (convert(pot.read(),0,4096,1,5))
leds[i] = [r,g,b]
leds.write()
sleep(potS * 0.1)
for i in range(num_leds):
potS = (convert(pot.read(),0,4096,1,5))
leds[i] = [0,0,0]
leds.write()
sleep(potS * 0.1)