2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
MCP9803 është një sensor i temperaturës me 2 tela me saktësi të lartë. Ato janë të mishëruara me regjistra të programueshëm nga përdoruesit që lehtësojnë aplikimet e ndjeshmërisë së temperaturës. Ky sensor është i përshtatshëm për sistemin shumë të sofistikuar të monitorimit të temperaturës me shumë zona. Këtu është demonstrimi me një kod java duke përdorur Raspberry Pi.
Hapi 1: Ajo që ju nevojitet.. !
1. Raspberry Pi
2. MCP9803
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 MCP9803 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 MCP9803 mund të shkarkohet nga depoja jonë e github- Dyqani Dcube
Këtu është lidhja për të njëjtën gjë:
github.com/DcubeTechVentures/MCP9803/blob/master/Java/MCP9803.java
Ne kemi përdorur bibliotekën pi4j për kodin java, hapat për të instaluar pi4j në mjedër pi janë përshkruar 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.
// MCP9803
// Ky kod është krijuar për të punuar me Mini Modulin MCP9808_I2CS I2C
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
klasë publike MCP9803
{
public static void main (String args ) hedh Exception
{
// Krijo autobus I2C
Bus I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Merrni pajisjen I2C, adresa MCP9803 I2C është 0x48 (72)
Pajisja I2CDevice = Bus.getDevice (0x48);
// Zgjidhni regjistrin e konfigurimit
// Mënyra e konvertimit të vazhdueshëm, Fuqizimi, mënyra krahasuese, rezolucioni 12-bit
pajisje.shkruaj (0x01, (bajt) 0x60);
Thread.sleep (500);
// Lexoni 2 bajt të dhëna nga adresa 0x00 (0)
// temp msb, temp lsb
bajt të dhëna = bajt i ri [2];
pajisje.lexoni (0x00, të dhëna, 0, 2);
// Shndërroni të dhënat në 12-bit
int temp = ((të dhënat [0] & 0xFF) * 256 + (të dhënat [1] & 0xF0)) / 16;
nëse (temp> 2047)
{
temp -= 4096;
}
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..:
MCP9803 mund të përdoret në një fushë të gjerë të pajisjeve të cilat përfshijnë kompjuter personal dhe pajisje periferike, disqe të ngurtë, sisteme të ndryshme argëtimi, sisteme zyre dhe sisteme të komunikimit të të dhënave. Ky sensor mund të përfshihet në sisteme të ndryshme të sofistikuara.