from machine import Pin
from time import sleep, sleep_us
PD_SCK = Pin(22, Pin.OUT)
DOUT = Pin(21, Pin.IN)
PD_SCK.value(0)
sleep(1)
def read_raw():
while DOUT.value() == 1:
sleep_us(50) # cede tempo ao sistema, evita reset por watchdog
value = 0
for i in range(24):
PD_SCK.value(1)
sleep_us(1)
PD_SCK.value(0)
sleep_us(1)
value = (value << 1) | DOUT.value()
PD_SCK.value(1)
sleep_us(1)
PD_SCK.value(0)
sleep_us(1)
if value & 0x800000:
value -= 0x1000000
return value
print("Leituras cruas:")
for i in range(20):
v = read_raw()
print(i, ":", v)
sleep(0.2)