アナログ入力 / read_analog()

参考:

 
GND ~ VCC の範囲の電圧が 0 ~ 1023 (10 ビット) に AD 変換される。
 
CdS (光が当たると抵抗値が下がる) を使って明るさ測ってみる。
f:id:ti-nspire:20171228114015p:plain:h158
 

from microbit import *

def mapConstrain(var, inMin = 0, inMax = 1023, outMin = 0, outMax = 25):
    mapped = (var - inMin) * (outMax - outMin) / (inMax - inMin) + outMin
    return round(max(outMin, min(mapped, outMax)))

def bargraph(numOfDots):
    count = 0
    display.clear()
    for y in reversed(range(5)):
        for x in range(5):
            count += 1
            if count > numOfDots:
                break
            display.set_pixel(x, y, 9)

while True:
    bargraph(mapConstrain(pin0.read_analog()))
    sleep(500)