Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
MCP9805 on muistimoduulin digitaalinen lämpötila -anturi. Se on yhdistetty käyttäjän ohjelmoitaviin rekistereihin, jotka tarjoavat joustavuutta lämpötilan tunnistussovelluksiin. Tämä anturi on suunniteltu sisällytettäväksi mobiilialustan muistimoduulin lämpötila -anturiin. Tässä on esittely java -koodilla, joka käyttää Raspberry Pi: tä.
Vaihe 1: Mitä tarvitset..
1. Vadelma Pi
2. MCP9805
3. I²C -kaapeli
4. I²C -kilpi Raspberry Pi: lle
5. Ethernet -kaapeli
Vaihe 2: Liitännät
Ota I2C -kilpi vadelma pi: lle ja työnnä sitä varovasti vadelma pi: n gpio -nastojen päälle.
Liitä sitten I2C -kaapelin toinen pää MCP9805 -anturiin ja toinen pää I2C -suojaan.
Liitä myös Ethernet -kaapeli pi: hen tai voit käyttää WiFi -moduulia. Liitännät näkyvät yllä olevassa kuvassa.
Vaihe 3: Koodi
MCP9805: n Java-koodin voi ladata GitHub-arkistostamme Dcube Storesta.
Tässä linkki samaan:
github.com/DcubeTechVentures/MCP9805
MCP9805: n tietolomake löytyy täältä:
ww1.microchip.com/downloads/en/DeviceDoc/21…
Olemme käyttäneet java -koodille pi4j -kirjastoa, vaiheet pi4j: n asentamiseksi vadelma pi: hen on kuvattu tässä:
pi4j.com/install.html
Voit myös kopioida koodin täältä, se annetaan seuraavasti:
// Jaetaan vapaaehtoisella lisenssillä.
// Käytä sitä haluamallasi tavalla, voittoa tai ilmaiseksi, jos se sopii siihen liittyvien teosten lisensseihin.
// MCP9805
// Tämä koodi on suunniteltu toimimaan Dcube Storesta saatavilla olevan MCP9808_I2CS I2C Mini -moduulin kanssa.
tuonti com.pi4j.io.i2c. I2CBus;
tuoda com.pi4j.io.i2c. I2CDevice;
tuonti com.pi4j.io.i2c. I2CFactory;
tuoda java.io. IOException;
julkinen luokka MCP9805
{
public staattinen void main (String args ) heittää Poikkeus
{
// Luo I2C -väylä
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Hanki I2C -laite, MCP9805 I2C -osoite on 0x18 (24)
I2CDevice device = Bus.getDevice (0x18);
Kierre. Nukkumassa (300);
// Valitse määritysrekisteri
// Jatkuva muuntotila, käynnistys
tavu config = uusi tavu [2];
config [0] = 0x00;
config [1] = 0x00;
device.write (0x01, config, 0, 2);
// Valitse resoluutio rgister
// Resoluutio = +0,0625 / C
device.write (0x08, (tavu) 0x03);
Kierre. Nukkumassa (300);
// Lue 2 tavua dataa osoitteesta 0x05 (05)
// temp msb, temp lsb
tavu data = uusi tavu [2];
device.read (0x05, data, 0, 2);
// Muunna tiedot 13-bittisiksi
int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF));
jos (lämpötila> 4095)
{
lämpötila -= 8192;
}
kaksinkertainen cTemp = lämpötila * 0,0625;
kaksinkertainen fTemp = cTemp * 1,8 + 32;
// Tulosta tiedot näytölle
System.out.printf ("Lämpötila celsiusasteina on: %.2f C %n", cTemp);
System.out.printf ("Fahrenheit -lämpötila on: %.2f F %n", fTemp);
}
}
Vaihe 4: Sovellukset..:
MCP9805 voidaan sisällyttää erilaisiin järjestelmiin, joihin kuuluu DIMM (dual in-line memory module) -lämpötilanvalvontajärjestelmät, henkilökohtaiset tietokoneet ja palvelimet. Yleensä sitä voidaan käyttää yleiskäyttöisenä lämpötila -anturina.