from machine import Pin, ADC
import neopixel
import time
from time import sleep
import random
import dht
NUM_LED = 16
potPin = 13
leds = neopixel.NeoPixel(Pin(15), NUM_LED)
pot = ADC(Pin(13))
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]
redSteps = 255//NUM_LED
while True:
leds.fill([0,0,0])
sense = dht.DHT22(Pin(2))
for i in range(NUM_LED):
leds[i] = [255 - (i*redSteps), i*redSteps, 0]
time.sleep(0.05)
leds.write()