2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
MCP9808 on ülitäpne digitaalne temperatuuriandur ± 0,5 ° C I2C minimoodul. Need on varustatud kasutaja poolt programmeeritavate registritega, mis hõlbustavad temperatuuri andmise rakendusi. MCP9808 ülitäpne temperatuuriandur on muutunud vormiteguri ja intelligentsuse poolest tööstusstandardiks, pakkudes kalibreeritud, lineariseeritud andurisignaale digitaalses I2C-vormingus. Siin on demonstratsioon koos püütoni koodiga, kasutades Raspberry Pi.
Samm: mida vajate..
1. Vaarika Pi
2. MCP9808
3. I²C kaabel
4. I²C kilp Raspberry Pi jaoks
5. Etherneti kaabel
Samm 2: Ühendused
Võtke vaarika pi jaoks I2C kilp ja lükake see õrnalt üle vaarika pi gpio tihvtide.
Seejärel ühendage I2C kaabli üks ots MCP9808 anduriga ja teine ots I2C varjestusega.
Ühendage ka Etherneti kaabel pi -ga või võite kasutada WiFi -moodulit.
Ühendused on näidatud ülaltoodud pildil.
3. samm: kood
Pythoni koodi MCP9808 jaoks saate alla laadida meie GitHubi hoidlast- Dcube Store
Siin on link samale:
github.com/DcubeTechVentures/MCP9808
MCP9808 andmelehe leiate siit:
ww1.microchip.com/downloads/en/DeviceDoc/25…
Oleme python -koodi jaoks kasutanud SMBusi teeki, SMBus -i vaarika pi -le installimise samme kirjeldatakse siin:
pypi.python.org/pypi/smbus-cffi/0.5.1
Siit saate koodi ka kopeerida, see on järgmine:
# Levitatud vabatahtliku litsentsiga.
# Kasutage seda mis tahes viisil, kasumit teenides või tasuta, tingimusel et see sobib sellega seotud teoste litsentsidega.
# MCP9808
# See kood on loodud töötama Dcube Store'is saadaval oleva MCP9808_I2CS I2C minimooduliga.
import smbus
impordi aeg
# Hankige I2C buss
buss = smbus. SMBus (1)
# MCP9808 aadress, 0x18 (24)
# Valige konfiguratsiooniregister, 0x01 (1)
# 0x0000 (00) Pidev teisendusrežiim, vaikimisi sisselülitamine
config = [0x00, 0x00]
bus.write_i2c_block_data (0x18, 0x01, konfiguratsioon)
# MCP9808 aadress, 0x18 (24)
# Vali resolutsioon rgister, 0x08 (8)
# 0x03 (03) Eraldusvõime = +0,0625 / C
bus.write_byte_data (0x18, 0x08, 0x03)
time.sleep (0.5) # MCP9808 aadress, 0x18 (24)
# Lugege andmeid tagasi 0x05 (5), 2 baiti
# Temp MSB, TEMP LSB
andmed = bus.read_i2c_block_data (0x18, 0x05, 2)
# Teisendage andmed 13-bitisteks
ctemp = ((andmed [0] ja 0x1F) * 256) + andmed [1]
kui ctemp> 4095:
ctemp -= 8192
ctemp = ctemp * 0,0625
ftemp = ctemp * 1,8 + 32
# Väljastage andmed ekraanile
print "Temperatuur Celsiuse järgi on: %.2f C" %ctemp
print "Temperatuur Fahrenheiti järgi on: %.2f F" %ftemp
Samm: rakendused..:
MCP9808 digitaalsel temperatuurianduril on mitu tööstustasandi rakendust, mis sisaldavad tööstuslikke sügavkülmikuid ja külmikuid koos erinevate köögikombainidega. Seda andurit saab kasutada erinevate personaalarvutite, serverite ja muude arvuti välisseadmete jaoks.