MENU

Trạm khí tượng arduino

TRẠM KHÍ TƯỢNG ARDUINO HIỂN THỊ TRÊN MÀN HÌNH NOKIA

Nguyên lý làm việc

Trong bài này, chúng ta làm một trạm khí tượng arduino sử dụng hai cảm biến: Cảm biến FC-28 để đo hơi ẩm đất và cảm biến DHT22 để đo nhiệt độ, độ ẩm và độ nóng. Tất cả các thông số đo sẽ được hiển thị trên màn hình LCD Nokia 5110.

Cảm biến đo độ ẩm FC- 28 có giá trị điện áp tương tự từ 0 đến 1023. Khi đất khô, giá trị cảm biến sẽ về gần 1023 và khi đất còn ướt, giá trị sẽ gần bằng 0 . Độ ẩm được đo bằng tỷ lệ phần trăm, vì vậy chúng ta cần chuyển đổi các giá trị này sang thang đo 0 đến 100. Tỷ lệ phần trăm này sau đó sẽ được hiển thị trên màn hình LCD Nokia 5110.

Cảm biến DHT22 có thể đo nhiệt độ, độ ẩm, và chỉ số nhiệt. Cảm biến DHT22 có ngõ ra ở dạng số và được nối trực tiếp thông qua các chân I / O của Arduino. Arduino sẽ đọc dữ liệu từ ngõ ra của cảm biến và tính toán nhiệt độ, độ ẩm và chỉ số nhiệt. Các giá trị này sẽ được hiển thị trên màn hình LCD Nokia 5110.

Sơ đồ mạch

Trước hết, nối LCD Nokia 5110 với Arduino.

  • Nối chân RST của LCD Nokia 5110 với chân 6 của Arduino qua điện trở 10k

  • Nối chân SCE của LCD Nokia 5110 với chân 7 của Arduino qua điện trở 1k

  • Nối chân D / C của LCD Nokia 5110 với chân 5 của Arduino qua điện trở 10k

  • Nối chân DIN của LCD Nokia 5110 với chân 4 của Arduino qua điện trở 10k

  • Nối chân CLK của LCD Nokia 5110 với chân 3 của Arduino qua điện trở 10k

  • Nối chân VCC của LCD Nokia 5110 với chân 3,3V của Arduino

  • Nối chân LED của LCD Nokia 5110 với chân giữa của chiết áp 1k qua điện trở 330Ω và nối hai đầu còn của chiết áp với VCC và GND.

  • Nối chân GND của LCD Nokia 5110 với chân GND của Arduino

Sau đó, nối của cảm biến DHT22 và FC-28 với Arduino.

  • Nối DHT22 với Arduino

  • Nối chân 1 (chân VCC) của cảm biến DHT22 với chân 5V của Arduino

  • Nối chân 2 (chân dữ liệu) của DHT22 với chân 8 của Arduino

  • Nối chân 4 (chân GND) của DHT22 với chân GND của Arduino

  • Nối FC-28 với Arduino

  • Nối chân VCC của FC-28 với chân 5V của Arduino

  • Nối chân A0 của FC-28 với A0 của Arduino

  • Nối chân GND của FC-28 với GND của Arduino

Chương trình

#include <PCD8544.h> //khai báo thư viện

PCD8544 lcd; //khởi tạo biến lcd

 

#include "DHT.h"

#define DHTPIN 8 //khai báo chân 8 cho cảm biến DHT22

#define DHTTYPE DHT22

DHT temp_hum_sensor(DHTPIN, DHTTYPE); //khởi tạo biến temp_hum_sensor

 

int sensor_pin = A0;

int output_value ;

 

void setup() {

lcd.begin(84, 48); // bắt đầu thiết lập lcd

lcd.print("Reading From the Sensors"); //hiển thị Reading From the Sensors

temp_hum_sensor.begin(); // bắt đầu giao tiếp với cảm biến DHT22

delay(2000);

}

 

void loop() {

lcd.clear();

output_value= analogRead(sensor_pin);//đọc giá trị từ cảm biến

output_value = map(output_value,550,40,0,100); // chuyển đổi giá trị 0-100 ứng với 550-40

float hum = temp_hum_sensor.readHumidity();// đọc giá trị từ DHT22

float temp = temp_hum_sensor.readTemperature();

float fah = temp_hum_sensor.readTemperature(true);

if (isnan(hum) || isnan(temp) || isnan(fah)) {

lcd.print("Failed to read from sensor!");

return;

}

float heat_index = temp_hum_sensor.computeHeatIndex(fah, hum);

float heat_indexC = temp_hum_sensor.convertFtoC(heat_index);

 

//Hiển thị độ ẩm lên LCD Nokia 5110

lcd.setCursor(0, 0);

lcd.print(" Moist: ");

lcd.print(output_value);

lcd.print(" % ");

 

//Hiển thị nhiệt độ ( độ C) lên LCD Nokia 5110

lcd.setCursor(0, 1);

lcd.print("Temp: ");

lcd.print(temp);

lcd.print(" *C ");

 

// Hiển thị nhiệt độ ( độ F) lên LCD Nokia 5110

lcd.setCursor(0, 2);

lcd.print("Temp: ");

lcd.print(fah);

lcd.print(" *F ");

 

//Hiển thị độ ẩm không khí lên LCD Nokia 5110

lcd.setCursor(0, 3);

lcd.print("Humi: ");

lcd.print(hum);

lcd.print(" % ");

 

//Hiển thị giá trị nhiệt (độ C) lên LCD Nokia 5110

lcd.setCursor(0, 4);

lcd.print("Hi: ");

lcd.print(heat_indexC);

lcd.print(" *C ");

 

//Hiển thị giá trị nhiệt (độ F) lên LCD Nokia 5110

lcd.setCursor(0,5);

lcd.print("Hi: ");

lcd.print(heat_index);

lcd.println(" *F ");

 

delay(2000);

}

Hỗ trợ liên kết
0979466469
0899909838
0938128290
0899909838
Khiếu nại: 0964238397
0979466469

Hotline: 0979 466 469

Thương hiệu nổi bật