Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Hallo, Goede groeten..!!
Ik (Somanshu Choudhary) namens Dcube tech ventures die de temperatuur gaan meten met behulp van Arduino nano, het is een van de toepassingen van het I2C-protocol om analoge gegevens van temperatuursensor TMP-112 te lezen.
Stap 1: Overzicht
- TMP-112 is een temperatuursensor.
- DATASHEET Link:
Stap 2: Wat je nodig hebt / Links
- Arduino Nano
- I²C-schild voor Arduino Nano
- USB-kabel Type A naar Micro Type B 6 voet lang
- I²C-kabel
- TMP112 I²C-temperatuursensor ± 0,5 °C 12-bits I²C-minimodule
Stap 3: Schakelschema
Stap 4: Programmeren
#erbij betrekken
ongeldige setup()
{
// I2C-adres van de TMP112
#define TMP_ADDR 0x48
// Word lid van I2c Bus als master
Draad.begin();
// Start seriële communicatie
Serieel.begin(9600);
// Begin met verzenden
Wire.beginTransmission (TMP_ADDR);
// Selecteer INSCHAKELEN register
Draad.schrijven (0x01);
// Selecteer normale werking
Draad.schrijven (0x60A0);
// Beëindig de verzending en laat de I2C-bus los
Wire.endTransmission();
}
lege lus()
{
// Begin met verzenden
Wire.beginTransmission (TMP_ADDR);
// Selecteer gegevensregisters
Draad.schrijven (0X00);
// Beëindig verzending
Wire.endTransmission();
vertraging (500);
// Vraag 2 bytes aan, eerst Msb
Wire.requestFrom(TMP_ADDR, 2);
// Lees de twee bytes
while(Draad.beschikbaar())
{
// verwijder afval
Serieel.flush();
int msb = Wire.read();
int lsb = Wire.read();
Wire.endTransmission();
// Gegevensconversie in onbewerkte waarden
int rawtmp = msb << 8 |lsb;
int-waarde = rawtmp >> 4;
dubbele ans = waarde * 0,0625;
// Afdrukuitvoer
Serial.print("celsiuswaarde: ");
Serial.println(ans);
}
}
Stap 5:
Ik heb mijn best gedaan, jij de jouwe;-)
Voor verdere katernen Bezoek gerust onze site:
www.dcubetechnologies.com