Cytron Technologies

Giờ làm việc: 8:00 - 17:00

Thứ 2 - Thứ 6 (trừ ngày lễ)

Hotline 0362917357 

Hiển Thị Nhiệt Độ và Độ Ẩm Trên Màn hình IPS 0.96″ với Cảm biến DHT22 và Raspberry Pi Pico

Trong video này, chúng ta sẽ làm một dự án nhỏ để đọc giá trị nhiệt độ và độ ẩm từ cảm biến DHT22, và hiển thị thông tin này trên màn hình IPS 0.96″ với Raspberry Pi Pico

Phần cứng

Đây là danh sách các linh kiện chính được sử dụng trong dự án. Ngoài ra, bạn sẽ cần thêm dây cắm để kết nối các linh kiện lại với nhau.

Sơ đồ kết nối

Chương trình mẫu

Đây là chương trình mẫu cho Arduino IDE. Trong trường trình này, chúng ta sử dụng thư viện Adafruit_GFX và Adafruit_ST7735 để điều khiển màn hình, và thư viện DHT để giao tiếp với cảm biến DHT22.

#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library
#include <SPI.h>
#include "DHT.h"

#define DHTPIN 2
#define DHTTYPE DHT22   
 
#define TFT_CS     10
#define TFT_RST    7
#define TFT_DC     9
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);

DHT dht(DHTPIN, DHTTYPE);
 
void setup(void) {
  tft.initR(INITR_MINI160x80); //Initializes ST7735.
  //Please note that use of 'MINI160x80' displays cyan instead of yellow and vice versa.
  dht.begin();
  
  tft.setRotation(3);
  tft.fillScreen(ST7735_BLACK);
 
  tft.setCursor(5, 5);
  tft.setTextColor(ST7735_RED); 
  tft.setTextSize(2);
  tft.println("   Pi Pico   ");
  tft.setCursor(5, 25);
  tft.setTextColor(ST7735_GREEN);
  tft.setTextSize(2);
  tft.println("   DHT22   ");
  tft.setCursor(5, 45);
  tft.setTextColor(ST7735_BLUE);
  tft.setTextSize(2);
  tft.print("0.96 Display");

  delay(2000);
 
}
 
void loop()
{

  delay(200);
  tft.fillScreen(ST7735_BLACK);

   float h = dht.readHumidity();
  // Read temperature as Celsius (the default)
  float t = dht.readTemperature();
  // Read temperature as Fahrenheit (isFahrenheit = true)
  float f = dht.readTemperature(true);

  Serial.print(F("Humidity: "));
  Serial.print(h);
  Serial.print(F("%  Temperature: "));
  Serial.print(t);
  Serial.print(F("°C "));
  
  tft.setCursor(5, 20);
  tft.setTextColor(ST7735_RED); 
  tft.setTextSize(2);
  tft.print("Temp:");
  tft.print(t);
  tft.print("C");


  tft.setCursor(5, 40);
  tft.setTextColor(ST7735_GREEN);
  tft.setTextSize(2);
  tft.print("Humid:");
  tft.print(h);

  
}

Chúc các bạn nghiên cứu vui vẻ!

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận