2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
MCP9803 on 2-juhtmeline suure täpsusega temperatuuriandur. Need on varustatud kasutaja poolt programmeeritavate registritega, mis hõlbustavad temperatuuri andmise rakendusi. See andur sobib väga keeruka mitme tsooni temperatuuri jälgimissüsteemi jaoks. Siin on demonstratsioon java koodiga, kasutades Raspberry Pi.
Samm: mida vajate..
1. Vaarika Pi
2. MCP9803
3. I²C kaabel
4. I²C kilp Raspberry Pi jaoks
5. Etherneti kaabel
Samm 2: Ühendused
Võtke vaarika pi jaoks I2C kilp ja lükake see õrnalt üle vaarika pi gpio tihvtide.
Seejärel ühendage I2C kaabli üks ots MCP9803 anduriga ja teine ots I2C varjestusega.
Ühendage ka Etherneti kaabel pi -ga või võite kasutada WiFi -moodulit. Ühendused on näidatud ülaltoodud pildil.
3. samm: kood
MCP9803 java koodi saate alla laadida meie githubi hoidlast- Dcube Store
Siin on link samale:
github.com/DcubeTechVentures/MCP9803/blob/master/Java/MCP9803.java
Oleme Java -koodi jaoks kasutanud pi4j -raamatukogu, pi4j -i vaarika pi -le installimise samme kirjeldatakse siin:
pi4j.com/install.html
Siit saate koodi ka kopeerida, see on järgmine:
// Levitatakse vaba tahte litsentsiga.
// Kasutage seda soovitud viisil, kasumit teenides või tasuta, tingimusel et see sobib sellega seotud teoste litsentsidega.
// MCP9803
// See kood on loodud töötama koos MCP9808_I2CS I2C minimooduliga
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
importige java.io. IOException;
avalik klass MCP9803
{
public static void main (String args ) viskab Erand
{
// Loo I2C siin
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Hangi I2C seade, MCP9803 I2C aadress on 0x48 (72)
I2CDevice seade = Bus.getDevice (0x48);
// Valige konfiguratsiooniregister
// Pidev teisendusrežiim, sisselülitamine, võrdlusrežiim, 12-bitine eraldusvõime
device.write (0x01, (bait) 0x60);
Niit.unenägu (500);
// Lugege 2 baiti andmeid aadressilt 0x00 (0)
// temp msb, temp lsb
bait andmed = uus bait [2];
device.read (0x00, andmed, 0, 2);
// Teisendage andmed 12-bitisteks
int temp = ((andmed [0] & 0xFF) * 256 + (andmed [1] & 0xF0)) / 16;
kui (temp> 2047)
{
temp -= 4096;
}
kahekordne cTemp = temp * 0,0625;
kahekordne fTemp = cTemp * 1,8 + 32;
// Andmete väljastamine ekraanile
System.out.printf ("Temperatuur Celsiuse järgi on: %.2f C %n", cTemp);
System.out.printf ("Temperatuur Fahrenheiti järgi on: %.2f F %n", fTemp);
}
}
Samm: rakendused..:
MCP9803 saab kasutada paljudes seadmetes, sealhulgas personaalarvutid ja välisseadmed, kõvakettadraivid, mitmesugused meelelahutussüsteemid, kontorisüsteemid ja andmesidesüsteemid. Seda andurit saab integreerida erinevatesse keerukatesse süsteemidesse.