from machine import Pin, ADC
import neopixel
from time import sleep
import random
import time
import dht
NUM_LED = 10
potPin=12
leds = neopixel.NeoPixel(Pin(5), NUM_LED)
pot= ADC(Pin(12,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
"""for i in range(4096):
print(i, convert(i, 0, 4096, 0, 10))"""
# 1. naloga
# prikaži pozicijo potenciometra na krogu
# recimo če je ptenciometer na 0, gori LEDica 0
# če je na 4096, gori zadnja ledica (NUM_LED)
# PAZI, da funkciji convert() poveš pravilno število LEDic za out_max
"""while True:
leds.fill([0,0,0])
leds[convert(pot.read(),0,4096,0,NUM_LED)]=[255,0,0]
leds.write()"""
# 2. naloga
# s pomočjo funkcije convert, na 2 krogih z 10 LEDicami
# izpisuj podatke 1 - krog (temperatura), 2 - krog (vlaga)
# naredi še, da bolj kot je vroče, bolj so rdeče ledice proti vrhu
# bolj ko je vlažno, bolj je modro
# ne pozabi kako smo to delali: leds[i] = [i*redSteps, 255 - (i*redSteps), 0]
sense = dht.DHT22(Pin(4))
while True:
sense.measure()
"""print(sense.humidity(),sense.temperature())
for x in range(NUM_LED):
if sense.humidity()>0:
leds[x]=[0,100+int(sense.humidity()),255-(int(sense.humidity()))]
else:
leds[x]=[0,0,255-(abs(int(sense.humidity())))]"""
for x in range(NUM_LED):
m=convert(x,0,NUM_LED,NUM_LED,NUM_LED*2)
"""print(m)
if sense.humidity()>0:
leds[convert(x,0,10,NUM_LED,NUM_LED*2]=[100+int(sense.temperature()),255-(int(sense.temperature())),0]
else:
leds[convert(x,0,NUM_LED,NUM_LED,NUM_LED*2]=[255-(abs(int(sense.temperature()))),0,0]"""
leds.write()