Sommario:

Misurazione della temperatura utilizzando MCP9803 e Arduino Nano: 4 passaggi
Misurazione della temperatura utilizzando MCP9803 e Arduino Nano: 4 passaggi

Video: Misurazione della temperatura utilizzando MCP9803 e Arduino Nano: 4 passaggi

Video: Misurazione della temperatura utilizzando MCP9803 e Arduino Nano: 4 passaggi
Video: Misurare correttamente la temperatura | Guide Pic it easy! 2024, Luglio
Anonim
Image
Image

MCP9803 è un sensore di temperatura ad alta precisione a 2 fili. Sono dotati di registri programmabili dall'utente che facilitano le applicazioni di rilevamento della temperatura. Questo sensore è adatto per sistemi di monitoraggio della temperatura multizona altamente sofisticati.

In questo tutorial è stato illustrato l'interfacciamento del modulo sensore MCP9803 con arduino nano. Per leggere i valori di temperatura, abbiamo utilizzato arduino con un adattatore I2c. Questo adattatore I2C rende la connessione al modulo sensore facile e più affidabile.

Passaggio 1: hardware richiesto:

Hardware richiesto
Hardware richiesto
Hardware richiesto
Hardware richiesto
Hardware richiesto
Hardware richiesto

I materiali di cui abbiamo bisogno per raggiungere il nostro obiettivo includono i seguenti componenti hardware:

1. MCP9803

2. Arduino Nano

3. Cavo I2C

4. Scudo I2C per arduino nano

Passaggio 2: collegamento hardware:

Collegamento hardware
Collegamento hardware
Collegamento hardware
Collegamento hardware

La sezione di collegamento hardware spiega fondamentalmente le connessioni di cablaggio richieste tra il sensore e l'arduino nano. Garantire connessioni corrette è la necessità di base mentre si lavora su qualsiasi sistema per l'output desiderato. Quindi, i collegamenti necessari sono i seguenti:

L'MCP9803 funzionerà su I2C. Ecco lo schema elettrico di esempio, che mostra come cablare ciascuna interfaccia del sensore.

Di default, la scheda è configurata per un'interfaccia I2C, quindi consigliamo di utilizzare questo collegamento se sei altrimenti agnostico.

Tutto ciò di cui hai bisogno sono quattro fili! Sono necessarie solo quattro connessioni pin Vcc, Gnd, SCL e SDA e questi sono collegati con l'aiuto del cavo I2C.

Queste connessioni sono mostrate nelle immagini sopra.

Passaggio 3: codice per la misurazione della temperatura:

Codice per la misurazione della temperatura
Codice per la misurazione della temperatura

Iniziamo ora con il codice arduino.

Durante l'utilizzo del modulo sensore con arduino, includiamo la libreria Wire.h. La libreria "Wire" contiene le funzioni che facilitano la comunicazione i2c tra il sensore e la scheda arduino.

L'intero codice arduino è riportato di seguito per comodità dell'utente:

#includere

// L'indirizzo I2C di MCP9803 è 0x48(72)

#define Indirizzo 0x48

configurazione nulla()

{

// Inizializza la comunicazione I2C come MASTER

Wire.begin();

// Inizializza la comunicazione seriale, imposta la velocità di trasmissione = 9600

Serial.begin(9600);

// Avvia la trasmissione I2C

Wire.beginTransmission(Addr);

// Seleziona il registro di configurazione

Wire.write(0x01);

// Modalità di conversione continua, impostazione predefinita all'accensione

Wire.write(0x60);

// Interrompi trasmissione I2C

Wire.endTransmission();

ritardo(300);

}

ciclo vuoto()

{

dati int senza segno[2];

// Avvia la comunicazione I2C

Wire.beginTransmission(Addr);

// Seleziona registro dati

Wire.write(0x00);

// Interrompe la trasmissione I2C

Wire.endTransmission();

// Richiedi 2 byte di dati

Wire.requestFrom(Addr, 2);

// Legge 2 byte di dati

//temp msb, temp lsb

if(Filo.disponibile() == 2)

{

data[0] = Wire.read();

data[1] = Wire.read();

}

// Converti i dati a 12 bit

int temp = ((data[0] * 256) + data[1]) / 16,0;

if(temp > 2047)

{

temperatura -= 4096;

}

float cTemp = temperatura * 0,0625;

float fTemp = cTemp * 1,8 + 32;

// Invia i dati al monitor seriale

Serial.print("Temperatura in gradi Celsius: ");

Serial.print(cTemp);

Serial.println("C");

Serial.print("Temperatura in Fahrenheit: ");

Serial.print(fTemp);

Serial.println("F");

ritardo (500);

}

Nella libreria wire Wire.write() e Wire.read() viene utilizzato per scrivere i comandi e leggere l'output del sensore.

Serial.print() e Serial.println() vengono utilizzati per visualizzare l'output del sensore sul monitor seriale dell'IDE Arduino.

L'uscita del sensore è mostrata nell'immagine sopra.

Passaggio 4: applicazioni:

Applicazioni
Applicazioni

MCP9803 può essere impiegato in un'ampia gamma di dispositivi che includono personal computer e periferiche, unità disco rigido, vari sistemi di intrattenimento, sistemi per ufficio e sistemi di comunicazione dati. Questo sensore può essere incorporato in vari sistemi sofisticati.

Consigliato: