Spisu treści:

Pomiar temperatury za pomocą MCP9803 i Raspberry Pi: 4 kroki
Pomiar temperatury za pomocą MCP9803 i Raspberry Pi: 4 kroki

Wideo: Pomiar temperatury za pomocą MCP9803 i Raspberry Pi: 4 kroki

Wideo: Pomiar temperatury za pomocą MCP9803 i Raspberry Pi: 4 kroki
Wideo: Elektroniczny pomiar temperatury [RS Elektronika] #189 2024, Lipiec
Anonim
Image
Image

MCP9803 to 2-przewodowy czujnik temperatury o wysokiej dokładności. Są one wyposażone w rejestry programowane przez użytkownika, które ułatwiają aplikacje z czujnikami temperatury. Ten czujnik nadaje się do wysoce wyrafinowanego wielostrefowego systemu monitorowania temperatury.

W tym samouczku zademonstrowano interfejs modułu czujnika MCP9803 z raspberry pi, a także zilustrowano jego programowanie w języku Java. Do odczytu wartości temperatury użyliśmy raspberry pi z adapterem I2C. Ten adapter I2C sprawia, że połączenie z modułem czujnika jest łatwe i bardziej niezawodne.

Krok 1: Wymagany sprzęt:

Wymagany sprzęt
Wymagany sprzęt
Wymagany sprzęt
Wymagany sprzęt
Wymagany sprzęt
Wymagany sprzęt

Materiały, których potrzebujemy do realizacji naszego celu, obejmują następujące komponenty sprzętowe:

1. MCP9803

2. Malinowy pi

3. Kabel I2C

4. Tarcza I2C dla malinowego pi

5. Kabel Ethernet

Krok 2: Podłączenie sprzętu:

Podłączenie sprzętu
Podłączenie sprzętu
Podłączenie sprzętu
Podłączenie sprzętu

Sekcja dotycząca podłączania sprzętu zasadniczo wyjaśnia połączenia okablowania wymagane między czujnikiem a raspberry pi. Zapewnienie prawidłowych połączeń jest podstawową koniecznością podczas pracy na dowolnym systemie o pożądanej mocy. Tak więc wymagane połączenia są następujące:

MCP9803 będzie działał przez I2C. Oto przykładowy schemat okablowania, pokazujący, jak okablować każdy interfejs czujnika.

Po wyjęciu z pudełka, płyta jest skonfigurowana do interfejsu I2C, dlatego zalecamy korzystanie z tego podłączenia, jeśli jesteś agnostykiem.

Wszystko czego potrzebujesz to cztery przewody! Wymagane są tylko cztery połączenia Vcc, Gnd, SCL i SDA, które są połączone za pomocą kabla I2C.

Połączenia te są pokazane na powyższych zdjęciach.

Krok 3: Kod do pomiaru temperatury:

Kod do pomiaru temperatury
Kod do pomiaru temperatury

Zaletą korzystania z raspberry pi jest to, że zapewnia elastyczność języka programowania, w którym chcesz zaprogramować płytkę w celu połączenia z nią czujnika. Wykorzystując tę zaletę tej płyty, demonstrujemy tutaj, że jest to programowanie w Javie. Kod Java dla MCP9803 można pobrać z naszej społeczności Github, czyli sklepu Dcube Store.

Oprócz ułatwienia użytkownikom wyjaśniamy również kod tutaj:

Jako pierwszy krok kodowania musisz pobrać bibliotekę pi4j w przypadku java, ponieważ ta biblioteka obsługuje funkcje używane w kodzie. Aby pobrać bibliotekę, możesz odwiedzić poniższy link:

pi4j.com/install.html

Możesz skopiować działający kod java dla tego czujnika również stąd:

importuj com.pi4j.io.i2c. I2CBus;

importuj com.pi4j.io.i2c. I2CDurządzenie;

importuj com.pi4j.io.i2c. I2CFabryka;

import java.io. IOException; klasa publiczna MCP9803

{

public static void main(String args) wyrzuca Wyjątek

{

// Utwórz magistralę I2C

Magistrala I2CBus = I2CFactory.getInstance(I2CBus. BUS_1);

// Pobierz urządzenie I2C, adres MCP9803 I2C to 0x48(72)

Urządzenie I2CDevice = Bus.getDevice(0x48);

// Wybierz rejestr konfiguracji

// Tryb ciągłej konwersji, włączanie, tryb komparatora, rozdzielczość 12-bitowa

urządzenie.write(0x01, (bajt)0x60);

Wątek.sen(500);

// Odczytaj 2 bajty danych z adresu 0x00(0)

// temp msb, temp lsb

bajt dane = nowy bajt[2];

urządzenie.odczyt(0x00, dane, 0, 2);

// Konwertuj dane na 12-bitowe

int temp = ((dane[0] i 0xFF) * 256 + (dane[1] i 0xF0)) / 16;

jeśli (temp > 2047)

{

temp -= 4096;

}

podwójny cTemp = temp * 0,0625;

podwójne fTemp = cTemp * 1,8 + 32;

// Prześlij dane na ekran

System.out.printf("Temperatura w stopniach Celsjusza to: %.2f C %n", cTemp);

System.out.printf("Temperatura w stopniach Fahrenheita wynosi: %.2f F %n", fTemp);

}

}

Biblioteka, która ułatwia komunikację i2c między czujnikiem a płytą to pi4j, jej różne pakiety I2CBus, I2CDevice i I2CFactory pomagają w nawiązaniu połączenia.

importuj com.pi4j.io.i2c. I2CBus;

importuj com.pi4j.io.i2c. I2CDurządzenie;

importuj com.pi4j.io.i2c. I2CFabryka;

import java.io. IOException;

Funkcje write() i read() służą do zapisywania określonych poleceń do czujnika, aby działał on w określonym trybie i odpowiednio odczytywał dane wyjściowe czujnika.

Wyjście czujnika pokazano również na powyższym obrazku.

Krok 4: Aplikacje:

Aplikacje
Aplikacje

MCP9803 może być stosowany w szerokiej gamie urządzeń, w tym w komputerach osobistych i urządzeniach peryferyjnych, dyskach twardych, różnych systemach rozrywkowych, systemach biurowych i systemach transmisji danych. Ten czujnik można zintegrować z różnymi wyrafinowanymi systemami.

Zalecana: