2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
MCP9805 je digitalni senzor temperature memorijskog modula. Uključen je u registrovane programe koje korisnik može programirati i koji pružaju fleksibilnost za primjenu senzora temperature. Ovaj senzor je dizajniran za ugrađivanje u senzor temperature memorijskog modula mobilne platforme. Evo demonstracije s java kodom pomoću Raspberry Pi.
Korak 1: Šta vam treba..
1. Malina Pi
2. MCP9805
3. I²C kabel
4. I²C štit za Raspberry Pi
5. Ethernet kabel
Korak 2: Veze
Uzmite I2C štit za malinu pi i nježno je gurnite preko gpio igle maline pi.
Zatim spojite jedan kraj I2C kabela na senzor MCP9805, a drugi kraj na I2C štit.
Također priključite Ethernet kabel na pi ili možete koristiti WiFi modul. Veze su prikazane na gornjoj slici.
Korak 3: Kodirajte
Java kod za MCP9805 može se preuzeti sa našeg GitHub spremišta-Dcube Store.
Evo linka za isto:
github.com/DcubeTechVentures/MCP9805
Tehnički list za MCP9805 možete pronaći ovdje:
ww1.microchip.com/downloads/en/DeviceDoc/21…
Za java kod koristili smo biblioteku pi4j, koraci za instaliranje pi4j na malinu pi opisani su ovdje:
pi4j.com/install.html
Kôd možete i kopirati odavde, dat je na sljedeći način:
// Distribuirano s licencom za slobodnu volju.
// Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela.
// MCP9805
// Ovaj kod je dizajniran za rad s MCP9808_I2CS I2C mini modulom dostupnim u Dcube Storeu.
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
javna klasa MCP9805
{
public static void main (String args ) baca Exception
{
// Kreiranje I2C sabirnice
I2CBus sabirnica = I2CFactory.getInstance (I2CBus. BUS_1);
// Nabavite I2C uređaj, MCP9805 I2C adresa je 0x18 (24)
I2CDevice uređaj = Bus.getDevice (0x18);
Thread.sleep (300);
// Odabir registra konfiguracije
// Način kontinuirane konverzije, uključivanje
bajt konfiguracija = novi bajt [2];
config [0] = 0x00;
config [1] = 0x00;
device.write (0x01, config, 0, 2);
// Odaberite registar rezolucije
// Rezolucija = +0.0625 / C
device.write (0x08, (bajt) 0x03);
Thread.sleep (300);
// Čitanje 2 bajta podataka s adrese 0x05 (05)
// temp msb, temp lsb
bajt podatak = novi bajt [2];
device.read (0x05, podaci, 0, 2);
// Pretvorimo podatke u 13-bitne
int temp = ((podaci [0] & 0x1F) * 256 + (podaci [1] & 0xFF));
if (temp> 4095)
{
temp -= 8192;
}
dvostruki cTemp = temp * 0,0625;
dvostruki fTemp = cTemp * 1,8 + 32;
// Iznos podataka na ekran
System.out.printf ("Temperatura u Celzijusima je: %.2f C %n", cTemp);
System.out.printf ("Temperatura u Fahrenheitu je: %.2f F %n", fTemp);
}
}
Korak 4: Aplikacije..:
MCP9805 se može ugraditi u različite sisteme koji uključuju sisteme za praćenje temperature sa dvostrukim linijskim memorijskim modulom (DIMM), personalne računare i servere. Obično se može koristiti kao osjetnik temperature opće namjene.