Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
El MCP9808 es un mini módulo I2C de sensor de temperatura digital de alta precisión ± 0,5 ° C. Están incorporados con registros programables por el usuario que facilitan las aplicaciones de detección de temperatura. El sensor de temperatura de alta precisión MCP9808 se ha convertido en un estándar de la industria en términos de factor de forma e inteligencia, proporcionando señales de sensor calibradas y linealizadas en formato digital I2C. Aquí está la demostración con un código Python usando Raspberry Pi.
Paso 1: ¡¡Lo que necesitas …
1. Raspberry Pi
2. MCP9808
3. Cable I²C
4. Escudo I²C para Raspberry Pi
5. Cable Ethernet
Paso 2: conexiones
Tome un protector I2C para raspberry pi y empújelo suavemente sobre los pines gpio de raspberry pi.
Luego, conecte un extremo del cable I2C al sensor MCP9808 y el otro extremo al blindaje I2C.
También conecte el cable Ethernet al pi o puede usar un módulo WiFi.
Las conexiones se muestran en la imagen de arriba.
Paso 3: Código
El código python para MCP9808 se puede descargar desde nuestro repositorio de GitHub - Dcube Store
Aquí está el enlace para el mismo:
github.com/DcubeTechVentures/MCP9808
La hoja de datos de MCP9808 se puede encontrar aquí:
ww1.microchip.com/downloads/en/DeviceDoc/25…
Hemos utilizado la biblioteca SMBus para el código python, los pasos para instalar SMBus en raspberry pi se describen aquí:
pypi.python.org/pypi/smbus-cffi/0.5.1
También puede copiar el código desde aquí, se proporciona de la siguiente manera:
# Distribuido con una licencia de libre albedrío.
# Úselo de la forma que desee, lucrativa o gratuita, siempre que encaje en las licencias de sus obras asociadas.
# MCP9808
# Este código está diseñado para funcionar con el Mini Módulo MCP9808_I2CS I2C disponible en Dcube Store.
importar smbus
tiempo de importación
# Obtener bus I2C
bus = smbus. SMBus (1)
# Dirección MCP9808, 0x18 (24)
# Seleccionar registro de configuración, 0x01 (1)
# 0x0000 (00) Modo de conversión continua, encendido predeterminado
config = [0x00, 0x00]
bus.write_i2c_block_data (0x18, 0x01, config)
# Dirección MCP9808, 0x18 (24)
# Seleccionar resolución de registro, 0x08 (8)
# 0x03 (03) Resolución = +0.0625 / C
bus.write_byte_data (0x18, 0x08, 0x03)
time.sleep (0.5) # Dirección MCP9808, 0x18 (24)
# Leer datos de 0x05 (5), 2 bytes
# Temp MSB, TEMP LSB
datos = bus.read_i2c_block_data (0x18, 0x05, 2)
# Convierte los datos a 13 bits
ctemp = ((datos [0] y 0x1F) * 256) + datos [1]
si ctemp> 4095:
ctemp - = 8192
ctemp = ctemp * 0.0625
ftemp = ctemp * 1.8 + 32
# Salida de datos a la pantalla
print "La temperatura en grados Celsius es:%.2f C"% ctemp
imprimir "La temperatura en Fahrenheit es:%.2f F"% ftemp
Paso 4: Aplicaciones …:
El sensor de temperatura digital MCP9808 tiene varias aplicaciones de nivel industrial que incorporan congeladores y refrigeradores industriales junto con varios procesadores de alimentos. Este sensor se puede utilizar para varios ordenadores personales, servidores y otros periféricos de PC.