from machine import Pin, ADC
from time import sleep, time
from neopixel import NeoPixel
import random
import dht
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
l = 16
led = NeoPixel(Pin(5),16)
gumb = Pin(14,Pin.IN,Pin.PULL_UP)
pot = ADC(Pin(27,Pin.IN))
pot_hitrost = ADC(Pin(14,Pin.IN))
sense = dht.DHT22(Pin(2))
prejsnje = convert(pot_hitrost.read(),0,4095,0.5,2.5)/10
cas = time() - 2
while True:
led.fill([0,0,0])
barva = [random.randint(100,255),random.randint(100,255),random.randint(100,255)]
for i in range(l):
sleep_time = convert(pot_hitrost.read(),0,4095,0.5,2.5)/10
if prejsnje == sleep_time and ((time() - cas) >= 60):
led.fill([0,0,0])
break -
else:
cas = time() - 2
# utrip in brisanje prejsnje ledice
led[i] = barva
led.write()
sleep(sleep_time)
led[i] = [0,0,0]
led.write()
sleep(sleep_time)
led[i] = barva
led.write()
#sprememba barve
for i in range(3):
sense.measure()
temp_vrednost = convert(int(sense.temperature()),-40,80,0,7)
vlaznost_vrednost = convert(int(sense.humidity()),0,100,0,7)
offset = temp_vrednost + vlaznost_vrednost
if offset < barva[i]:
barva[i] -= offset
else:
barva[i] += offset
led.fill([0,0,0])