2017年3月13日 星期一

Controlling 1-wire devices DS18B20




import machine #pour accéder aux GPIOs
import onewire, ds18x20 #pour lire la sonde 1-wire  
import time

dat = machine.Pin(12)
ds = ds18x20.DS18X20(onewire.OneWire(dat)) #On crée l'objet OneWire
roms = ds.scan()   #On scanne le bus pour trouver toutes les sondes
print('found devices:', roms)
# (°F - 32) x 5/9 = °C or in plain english, First subtract 32, then multiply by 5,
# (°C × 9/5) + 32 = °F or in plain English, Multiple by 9, then divide by 5, then add 32.
# loop 10 times and print all temperatures
for i in range(10):
    print('temperatures:', end=' ')
    ds.convert_temp()
    time.sleep_ms(750)
    for rom in roms:
degreeF=ds.read_temp(rom)
degreeC=(degreeF-32)*5/9
print(degreeF,'F', degreeC ,'C',  end=' ')
    print()



alex@alex-PC MINGW64 /d/mini3/onewire
$ ampy --port COM13 run DS1820.py
found devices: [bytearray(b'(\xff\xe0\x88\x90\x15\x04\r')]
temperatures: 85.0 F 29.44444 C
temperatures: 85.0 F 29.44444 C
temperatures: 85.0 F 29.44444 C
temperatures: 85.0 F 29.44444 C
temperatures: 85.0 F 29.44444 C
temperatures: 85.0 F 29.44444 C
temperatures: 85.0 F 29.44444 C
temperatures: 85.0 F 29.44444 C
temperatures: 85.0 F 29.44444 C
temperatures: 85.0 F 29.44444 C

alex@alex-PC MINGW64 /d/mini3/onewire
$

沒有留言:

張貼留言

Messaging API作為替代方案

  LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...