2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
MCP9805 është një sensor dixhital i temperaturës së modulit të kujtesës. Shtë inkorporuar me regjistra të programueshëm të përdoruesve që ofrojnë fleksibilitet për aplikimet e ndjeshmërisë së temperaturës. Ky sensor është krijuar për t'u përfshirë në sensorin e temperaturës së modulit të memorjes së platformës celulare. Këtu është demonstrimi me një kod java duke përdorur Raspberry Pi.
Hapi 1: Ajo që ju nevojitet.. !
1. Raspberry Pi
2. MCP9805
3. Kabllo I²C
4. Mburoja I²C për Raspberry Pi
5. Kabllo Ethernet
Hapi 2: Lidhjet
Merrni një mburojë I2C për mjedrën pi dhe shtyjeni butësisht mbi kunjat e gpio të mjedrës pi.
Pastaj lidhni njërin skaj të kabllit I2C me sensorin MCP9805 dhe skajin tjetër me mburojën I2C.
Gjithashtu lidhni kabllon Ethernet me pi ose mund të përdorni një modul WiFi. Lidhjet janë treguar në figurën e mësipërme.
Hapi 3: Kodi
Kodi java për MCP9805 mund të shkarkohet nga depoja jonë GitHub-Dyqani Dcube.
Këtu është lidhja për të njëjtën gjë:
github.com/DcubeTechVentures/MCP9805
Fleta e të dhënave e MCP9805 mund të gjendet këtu:
ww1.microchip.com/downloads/en/DeviceDoc/21…
Ne kemi përdorur bibliotekën pi4j për kodin java, hapat për të instaluar pi4j në pi mjedër përshkruhen këtu:
pi4j.com/install.html
Ju gjithashtu mund të kopjoni kodin nga këtu, ai jepet si më poshtë:
// Shpërndarë me një licencë me vullnet të lirë.
// Përdoreni atë në çdo mënyrë që dëshironi, fitimprurëse ose falas, me kusht që të përshtatet në licencat e veprave të tij shoqëruese.
// MCP9805
// Ky kod është krijuar për të punuar me Mini Modulin MCP9808_I2CS I2C i disponueshëm në Dyqanin Dcube.
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
klasë publike MCP9805
{
public static void main (String args ) hedh Exception
{
// Krijo autobus I2C
Bus I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Merrni pajisjen I2C, adresa MCP9805 I2C është 0x18 (24)
Pajisja I2CDevice = Bus.getDevice (0x18);
Thread.sleep (300);
// Zgjidhni regjistrin e konfigurimit
// Mënyra e konvertimit të vazhdueshëm, Fuqizimi
bajt config = bajt i ri [2];
konfiguro [0] = 0x00;
konfiguro [1] = 0x00;
pajisje.shkruaj (0x01, konfiguro, 0, 2);
// Zgjidhni regjistrin e rezolucionit
// Rezoluta = +0.0625 / C
pajisje.shkruaj (0x08, (bajt) 0x03);
Thread.sleep (300);
// Lexoni 2 bajt të dhëna nga adresa 0x05 (05)
// temp msb, temp lsb
bajt të dhëna = bajt i ri [2];
pajisje.lex (0x05, të dhëna, 0, 2);
// Shndërroni të dhënat në 13-bit
int temp = ((të dhënat [0] & 0x1F) * 256 + (të dhënat [1] & 0xFF));
nëse (temp> 4095)
{
temp -= 8192;
}
dyshe cTemp = temp * 0.0625;
dyshe fTemp = cTemp * 1.8 + 32;
// Dalja e të dhënave në ekran
System.out.printf ("Temperatura në Celsius është: %.2f C %n", cTemp);
System.out.printf ("Temperatura në Fahrenheit është: %.2f F %n", fTemp);
}
}
Hapi 4: Aplikimet..:
MCP9805 mund të inkorporohet në sisteme të ndryshme të cilat përfshijnë sisteme të monitorimit të temperaturës së modulit të kujtesës së dyfishtë në linjë (DIMM), kompjuterë personalë dhe serverë. Zakonisht, mund të përdoret si një sensor i temperaturës për qëllime të përgjithshme.