Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
MCP9805 es un sensor de temperatura digital de módulo de memoria. Está incorporado con registros programables por el usuario que brindan flexibilidad para aplicaciones de detección de temperatura. Este sensor está diseñado para incorporarse en el sensor de temperatura del módulo de memoria de la plataforma móvil. Aquí está la demostración con un código java usando Raspberry Pi.
Paso 1: ¡¡Lo que necesitas …
1. Raspberry Pi
2. MCP9805
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 MCP9805 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 java para MCP9805 se puede descargar desde nuestro repositorio de GitHub-Dcube Store.
Aquí está el enlace para el mismo:
github.com/DcubeTechVentures/MCP9805
La hoja de datos de MCP9805 se puede encontrar aquí:
ww1.microchip.com/downloads/en/DeviceDoc/21…
Hemos utilizado la biblioteca pi4j para el código java, los pasos para instalar pi4j en la raspberry pi se describen aquí:
pi4j.com/install.html
También puede copiar el código desde aquí, se proporciona de la siguiente manera:
// Distribuido con licencia de libre albedrío.
// Úselo de la forma que desee, lucrativa o gratuita, siempre que encaje en las licencias de sus obras asociadas.
// MCP9805
// Este código está diseñado para funcionar con el Mini Módulo MCP9808_I2CS I2C disponible en Dcube Store.
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
clase pública MCP9805
{
public static void main (String args ) arroja una excepción
{
// Crear bus I2C
Bus I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Obtener el dispositivo I2C, la dirección I2C del MCP9805 es 0x18 (24)
Dispositivo I2CDevice = Bus.getDevice (0x18);
Hilo.sueño (300);
// Seleccionar registro de configuración
// Modo de conversión continua, encendido
byte config = nuevo byte [2];
config [0] = 0x00;
config [1] = 0x00;
device.write (0x01, config, 0, 2);
// Seleccionar resolución rgister
// Resolución = +0.0625 / C
device.write (0x08, (byte) 0x03);
Hilo.sueño (300);
// Leer 2 bytes de datos de la dirección 0x05 (05)
// temp msb, temp lsb
byte datos = nuevo byte [2];
device.read (0x05, datos, 0, 2);
// Convierte los datos a 13 bits
int temp = ((datos [0] y 0x1F) * 256 + (datos [1] y 0xFF));
si (temperatura> 4095)
{
temp - = 8192;
}
doble cTemp = temp * 0.0625;
fTemp doble = cTemp * 1.8 + 32;
// Salida de datos a la pantalla
System.out.printf ("La temperatura en grados Celsius es:%.2f C% n", cTemp);
System.out.printf ("La temperatura en Fahrenheit es:%.2f F% n", fTemp);
}
}
Paso 4: Aplicaciones …:
MCP9805 se puede incorporar en varios sistemas que incluyen sistemas de monitoreo de temperatura de módulo de memoria dual en línea (DIMM), computadoras personales y servidores. Por lo general, se puede utilizar como sensor de temperatura de uso general.