Lập trình cảm biến khí gas và cảm biến nhiệt độ với Arduino

Để tiếp nối các bài viết về lập trình Arduino, hôm nay tôi xin giới thiệu tới các bạn cách lập trình giao tiếp 2 loại cảm biến (khí gas, nhiệt độ) với Arduino và ứng dụng của chúng.

Trên thị trường hiện nay có rất nhiều loại cảm biến khí gas như MQ-2, MQ-3, MQ-5, MQ-9…hay một số loại cảm biến nhiệt độ như LM35, DS18B20, E-type… Tuy nhiên trong bài viết này tôi sẽ hướng dẫn các bạn về cách lập trình cảm biến khi gas(MQ-5) và cảm biến nhiệt độ LM35. Đối với các dòng cảm biến khác về cơ bản chúng ta lập trình tương tự.

Với khoảng hơn 200k hiện nay chúng ta có thể mua được những gì?

 

  1. Module MQ-5

- Nguồn cung cấp:  2.5 V ~ 5V.

- Tích hợp MQ –5 gas Sensor.

- Kích thước : 40mm * 21mm.

- Led báo hiệu.

 

 

2.Cảm biến nhiệt độ LM35

- Điện áp đầu vào từ 4V đến 30V

- Điện áp ra: -1V đến 6V

 -Công suất tiêu thụ là 60uA

 -Độ phân giải điện áp đầu ra là 10mV/oC

 -Độ chính xác cao ở 25 C là 0.5 C

 

    

 3. Arduino Uno                                    

     (Nhân vật chính)

 

 

Ngoài ra còn một số linh kiện khác như: breadboard, dây cắm breadboard….
Làm cách nào để lập trình được chúng?

1.Với cảm biến khí gas MQ-5

Có 2 mức tín hiệu được MQ-5 đưa ra là tín hiệu tương tự và tín hiệu số, sau đây mình xin trình bày cả 2 trường hợp đó.

a.Đọc tín hiệu tại chân tín hiệu số(D7)

                                       Sơ đồ chân kết nối

Code mẫu:

int sensor=7; //khai báo chân đọc giá trị cảm biến

int gas_value;

void setup()

{

pinMode(sensor,INPUT);

Serial.begin(9600);  // mở cổng serial để giao tiếp

}

void loop()

{

gas_value=digitalRead(sensor);  //đọc giá trị tại chân số 7

Serial.println(gas_value);      //xuất giá trị đọc được

}

Sau khi chạy chương trình xong, hay thử dùng một chiếc máy lửa có gas để kiểm tra nồng độ và cùng xem kết quả:

 

 

                        Khi không có gas                                                                     Khi có gas     

b.Đối với tín hiệu tương tự, chúng ta có kết quả của nồng độ khí gas:

                                                  Sơ đồ kết nối

Code mẫu:

float sensor=A0;//khai báo giá trị chân cảm biến tại A0
float gas_value;
void setup()
{
pinMode(sensor,INPUT);
Serial.begin(9600);  // mở cổng serial để giao tiếp
}
void loop()
{
gas_value=analogRead(sensor);//đọc giá trị tại chân cảm biến
//giá trị nằm trong khoảng từ 0 đến 1023
Serial.println(gas_value);//xuất giá trị đọc được
}

Kết quả là :

                 Khi không có gas                                                                             Khi có gas

2. Với cảm biến nhiệt độ LM35

LM35 là một loại cảm biến tương tự rất hay được ứng dụng trong các ứng dụng đo nhiệt độ thời gian thực. Vì nó hoạt động khá chính xác với sai số nhỏ, đồng thời với kích thước nhỏ và giá thành rẻ là một trong những ưu điểm của nó. Vì đây là cảm biến tương tự (analog sensor) nên ta có thể dễ dàng đọc được giá trị của nó.

 

                                            Sơ đồ chân kết nối

Chương trình đọc nhiệt độ khá đơn giản:

float sensorTemp = 0.0;

float Temperature = 0.0; //khai báo ban đầu

int analogInputPin = 0; // khai báo chân đọc tín hiệu A0

void setup(){

  Serial.begin(9600);     // mở cổng serial để giao tiếp

}

 

void loop(){

  sensorTemp = analogRead(analogInputPin); // Đọc dữ liệu từ A0

  Temperature = sensorTemp * 0.48875855;    //hàm tính toán

  Serial.print("Temperature = ");

  Serial.print(Temperature);

  Serial.print(char(176));

  Serial.print("C ");

  delay(1000);

}

 

                                                          Kết quả

Thông qua một số hướng dẫn ở trên, chúng ta đã có thể nắm được một số thủ thuật sử dụng board mạch vi xử lý Arduino và bộ cảm biến nhiệt độ, cảm biến khói, zole, LCD đã được giới thiệu ở các bài viết trước... góp phần nâng cao khả năng hiểu biết và làm tiền đề phát triển các ứng dụng tiếp theo.

 Tôi xin định hướng phát triển thêm một số đề tài nghiên cứu cho các bạn đam mê với 2 loại cảm biến này:

+ Hệ thống đo và hiển thị  nhiệt độ, nồng độ khói thực của môi trường.

+ Hệ thống báo cháy cho phép người dùng cài đặt các chế độ báo cháy, cài đặt nhiệt độ, cài đặt nồng độ khói báo cháy theo từng môi trường cụ thể.

+ Hệ thống báo cháy tự động  thông báo bằng loa và ngắt hệ thống điện của khu vực cháy.

+ Hệ thống tự động chữa cháy theo yêu cầu của người sử dụng…

Thông qua bài viết này, tôi hy vọng các bạn có thể lấy những ví dụ này làm nền tảng cơ sở để phát triển thành các đề tài riêng tùy thuộc vào nhu cầu và mục đích nghiên cứu của các bạn.

Chúc các bạn thành công !

Gia Huy

Số lượt xem bài viết: 609



Comment
Name
Message
Coppy right ©: 2016 by Đỗ Ngọc Tuấn-TCU
Email: ngoctuansqtt@gmail.com