Sommario:

Interfacciamento di TMP-112 con Arduino Nano (I2C): 5 passaggi
Interfacciamento di TMP-112 con Arduino Nano (I2C): 5 passaggi

Video: Interfacciamento di TMP-112 con Arduino Nano (I2C): 5 passaggi

Video: Interfacciamento di TMP-112 con Arduino Nano (I2C): 5 passaggi
Video: MCP4725 DAC I2C 12bit e Arduino Nano, test di velocità su breadboard 2024, Novembre
Anonim
Interfacciamento di TMP-112 con Arduino Nano (I2C)
Interfacciamento di TMP-112 con Arduino Nano (I2C)

Ciao, Buoni saluti..!!

I (Somanshu Choudhary) per conto di Dcube tech ventures andando a misurare la temperatura utilizzando Arduino nano, è una delle applicazioni del protocollo I2C per leggere i dati analogici del sensore di temperatura TMP-112.

Passaggio 1: Panoramica

Panoramica
Panoramica
  1. TMP-112 è un sensore di temperatura.
  2. SCHEDA TECNICA Link:

Passaggio 2: cosa ti serve / link

Cosa ti serve / Link
Cosa ti serve / Link
  1. Arduino Nano
  2. I²C Shield per Arduino Nano
  3. Cavo USB da Tipo A a Micro Tipo B lungo 6 piedi
  4. Cavo I²C
  5. TMP112 I²C Sensore di temperatura ±.5°C Mini modulo I²C a 12 bit

Passaggio 3: schema elettrico

Schema elettrico
Schema elettrico
Schema elettrico
Schema elettrico

Passaggio 4: programmazione

Programmazione
Programmazione

#includere

configurazione nulla()

{

// Indirizzo I2C del TMP112

#define TMP_ADDR 0x48

// Unisciti a I2c Bus come master

Wire.begin();

// Avvia comunicazione seriale

Serial.begin(9600);

// Inizia la trasmissione

Wire.beginTransmission(TMP_ADDR);

// Seleziona ABILITA registro

Wire.write(0x01);

// Seleziona il funzionamento normale

Wire.write(0x60A0);

// Termina la trasmissione e rilascia il bus I2C

Wire.endTransmission();

}

ciclo vuoto()

{

// Inizia la trasmissione

Wire.beginTransmission(TMP_ADDR);

// Seleziona i registri di dati

Wire.write(0X00);

// Fine trasmissione

Wire.endTransmission();

ritardo (500);

// Richiedi 2 byte, prima Msb

Wire.requestFrom(TMP_ADDR, 2);

// Legge i due byte

while(Filo.disponibile())

{

//rimuovi la spazzatura

Serial.flush();

int msb = Wire.read();

int lsb = Wire.read();

Wire.endTransmission();

// Conversione dati in valori grezzi

int rawtmp = msb << 8 |lsb;

int valore = rawtmp >> 4;

doppia ans = valore * 0,0625;

// Stampa l'output

Serial.print("valore centigrado: ");

Serial.println(ans);

}

}

Passaggio 5:

Ho fatto del mio meglio, tu fai il tuo;-)

Per ulteriori domande Non esitate a visitare il nostro sito:

www.dcubetechnologies.com

Consigliato: