import dht
import neopixel
from machine import Pin, ADC
from utime import sleep
import random
greenLed = Pin(12, Pin.OUT)
btnGreen = Pin(13, Pin.IN, Pin.PULL_UP)
start = False
nl = 48
leds = neopixel.NeoPixel(Pin(15), nl)
pot1 = ADC(Pin(25))
pot2 = ADC(Pin(26))
pot3 = ADC(Pin(27))
sense = dht.DHT22(Pin(2))
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
for c in range(1):
print(c, convert(c, 0, 4096, 0, 16))
while True:
sense.measure()
hum = sense.humidity()
temp=sense.temperature()
print(f" Vlaga: {sense.humidity()}%, Temperatura: {sense.temperature()}°C")
h = convert(hum, -80,100,0,10)
t = convert(temp,-100,80,0,10)
btnStateGreen = not bool(btnGreen.value())
if btnStateGreen == True:
if start == True:
start = False
sleep(1)
else:
start = True
sleep(1)
if start == True:
while start == True:
greenLed.value(1)
btnStateGreen = not bool(btnGreen.value())
if btnStateGreen == True:
if start == True:
start = False
sleep(1)
leds.fill([0,0,0])
for p in range(16):
b1=(pot1.read())//16
b2=(pot2.read())//16
b3=(pot3.read())//16
leds[p]=([b1,b2,b3])
leds.write()
sleep(0.3)
if p == 15:
for d in range(16):
b1=(pot1.read())//16
b2=(pot2.read())//16
b3=(pot3.read())//16
for f in range(16):
leds[f] = ([b1,b2,b3])
leds[d+16] = ([255,0,0])
leds.write()
sleep(0.3)
if d == 15:
b1=(pot1.read())//16
b2=(pot2.read())//16
b3=(pot3.read())//16
for f in range(16):
leds[f] = ([b1,b2,b3])
#leds.fill([0,0,0])
#leds.write()
#sleep(0.3)
else:
greenLed.value(0)