Sommario:

Monitoraggio della temperatura utilizzando MCP9808 e Raspberry Pi: 4 passaggi
Monitoraggio della temperatura utilizzando MCP9808 e Raspberry Pi: 4 passaggi

Video: Monitoraggio della temperatura utilizzando MCP9808 e Raspberry Pi: 4 passaggi

Video: Monitoraggio della temperatura utilizzando MCP9808 e Raspberry Pi: 4 passaggi
Video: Arduino: Sensore di temperatura MCP9808 2024, Dicembre
Anonim
Image
Image

MCP9808 è un sensore di temperatura digitale ad alta precisione ±0,5°C I2C mini modulo. Sono dotati di registri programmabili dall'utente che facilitano le applicazioni di rilevamento della temperatura. Il sensore di temperatura ad alta precisione MCP9808 è diventato uno standard industriale in termini di fattore di forma e intelligenza, fornendo segnali del sensore calibrati e linearizzati in formato digitale I2C.

In questo tutorial viene dimostrata l'interfacciamento del modulo sensore MCP9808 con raspberry pi ed è stata illustrata anche la sua programmazione in linguaggio python. Per leggere i valori di temperatura, abbiamo utilizzato raspberry pi 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. MCP9808

2. Raspberry Pi

3. Cavo I2C

4. Scudo I2C per lampone pi

5. Cavo Ethernet

Passaggio 2: collegamento hardware:

Collegamento hardware
Collegamento hardware
Collegamento hardware
Collegamento hardware

La sezione relativa ai collegamenti hardware spiega sostanzialmente le connessioni di cablaggio necessarie tra il sensore e il Raspberry Pi. 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'MCP9808 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

Il vantaggio dell'utilizzo di raspberry pi è che fornisce la flessibilità del linguaggio di programmazione in cui si desidera programmare la scheda per interfacciare il sensore con essa. Sfruttando questo vantaggio di questa scheda, stiamo dimostrando qui la sua programmazione in python. Python è uno dei linguaggi di programmazione più semplici con la sintassi più semplice. Il codice python per MCP9808 può essere scaricato dalla nostra comunità github che è DCUBE Store Community.

Oltre che per la facilità degli utenti, spieghiamo anche qui il codice:

Come primo passo della codifica è necessario scaricare la libreria SMBus in caso di python, perché questa libreria supporta le funzioni utilizzate nel codice. Quindi, per scaricare la libreria puoi visitare il seguente link:

pypi.python.org/pypi/smbus-cffi/0.5.1

Puoi copiare il codice funzionante anche da qui:

import smbus

tempo di importazione

# Ottieni busbus I2C = smbus. SMBus(1)

# indirizzo MCP9808, 0x18(24)

# Seleziona il registro di configurazione, 0x01(1)

# 0x0000(00) Modalità di conversione continua, impostazione predefinita all'accensione

config = [0x00, 0x00]bus.write_i2c_block_data(0x18, 0x01, config)

# indirizzo MCP9808, 0x18(24)

# Seleziona registro risoluzione, 0x08(8)

# 0x03(03) Risoluzione = +0.0625 / C

bus.write_byte_data(0x18, 0x08, 0x03)

tempo.sonno(0.5)

# indirizzo MCP9808, 0x18(24)

# Rilegge i dati da 0x05(5), 2 byte

# Temp MSB, TEMP LSB

dati = bus.read_i2c_block_data(0x18, 0x05, 2)

# Converti i dati a 13 bit

ctemp = ((data[0] & 0x1F) * 256) + data[1]

se ctemp > 4095:

ctemp -= 8192

ctemp = ctemp * 0,0625

ftemp = ctemp * 1.8 + 32

# Invia i dati allo schermo

print "La temperatura in gradi Celsius è: %.2f C" %ctemp

print "La temperatura in Fahrenheit è: %.2f F" %ftemp

Il codice viene eseguito utilizzando il seguente comando:

$> python MCP9808.py gt; python MCP9808.py

gt; python MCP9808.py

L'uscita del sensore è mostrata nell'immagine sopra per riferimento dell'utente.

Passaggio 4: applicazioni:

Applicazioni
Applicazioni

Il sensore di temperatura digitale MCP9808 ha diverse applicazioni di livello industriale che incorporano congelatori e frigoriferi industriali insieme a vari robot da cucina. Questo sensore può essere impiegato per vari personal computer, server e altre periferiche per PC.

Consigliato: