HƯỚNG DẪN SỬ DỤNG INUT CẢM BIẾN VỚI MODULE 2 RELAY, CẢM BIẾN NHIỆT ĐỘ DS18B20 VÀ ĐIỀU KHIỂN THÔNG QUA INTERNET

Mô tả dự án

Làm cách nào để theo dõi nhiệt độ trong một không gian nhỏ ví dụ như nhà của bạn? làm cách nào để bạn có thể điều khiển các thiết bị trong nhà bật tắt theo ý muốn của bạn thông qua internet?

Inut cảm biến sẽ giúp bạn giải quyết vấn đề này. Hôm này tụi mình sẽ cùng bạn làm một dự án nhỏ là giám sát nhiệt độ và điều khiển đóng mở qua internet nha,bạn có thể tùy biến thêm,lần này mình dùng 2 cảm biến nhiệt độ DS18B20 và module 2 relay.

I. Những Thứ Bạn Cần Chuẩn Bị

Phần Cứng

Cách Nối Dây:

B1: lắp INut cảm biến lên board Arduino UNO

B2: Kết Nối 2 cảm biến DS18B20 theo sơ đồ sau:

DS18B20 (1)

DS18B20 (2)

INut Cảm Biến

Relay

VCC

VCC

5V

VCC

GND

GND

GND

GND

Chân tín hiệu

 

2

 

 

Chân tín hiệu

3

 

 

 

8

IN1

 

 

9

IN2

 

B3: (bước này quan trọng này,bạn không làm đừng hỏi sao nhiệt độ toàn -127 hehe)

Sử dụng điện trở nối chân VCC và chân tín hiệu của cảm biến DS18B20 lại với nhau. Chúng ta có 2 cảm biến => sử dụng 2 con trở.

Phần Mềm:

  • Trên điện thoại di động:
    • iNut - Công tắc wifi (các bạn search trong apple store hoặc google play từ khóa inut là ra). Tải về trên Apple Store, tải về ở Google Play.
  • Trên máy tính:

Nếu bạn chưa biết,tham khảo bài biết này: http://arduino.vn/i

II. Các Cài Đặt Khác:

III. Lập Trình:

Bạn cần chuẩn bị thư viện sau:

Code Arduino:

#include <iNut.h>
#include <OneWire.h>
#include <DS18B20.h>
#include <DallasTemperature.h>


#define OFF HIGH
#define ON  LOW
// vì relay kích mức thấp nên sẽ ngược lại
#define ONE_WIRE_BUS_1 2 // khai báo chân cho cảm biến DS18B20
#define ONE_WIRE_BUS_2 3 // khai báo chân cho cảm biến DS18B20

iNut sensor;
OneWire oneWire_1(ONE_WIRE_BUS_1);
OneWire oneWire_2(ONE_WIRE_BUS_2);
DallasTemperature sensor_tem_1 (&oneWire_1);
DallasTemperature sensor_tem_2 (&oneWire_2);


const byte RELAY[2] = {9,8}; //Chân digital của relay

void setup() {
  // put your setup code here, to run once:
  //wdt_disable();
  Serial.begin(9600);
  sensor.setup(4);// có 4 luồng cảm biến
  sensor_tem_1.begin();
  sensor_tem_2.begin();
  for (int i = 0; i < 2; i++){
    pinMode (RELAY[i],OUTPUT);
    digitalWrite(RELAY[i],OFF); // tắt tất cả relay khi reset hoặc khi mới bật
}
//wdt_enable(WDTO_8S);
  sensor.addCommand("RELAY",RelayFunction);
  Serial.println("Sẵn sàng nhận lệnh: ");
}

void RelayFunction()
{
    char* arg0 = sensor.next();
    char* arg1 = sensor.next();
    if (arg0 == NULL || arg1 == NULL)
        return;
    byte num = atoi(arg0);
    if (strcmp(arg1, "ON") == 0) { //nếu tham số 1 là ON. RELAY ON. Thì bật
        digitalWrite(RELAY[num], ON);
        Serial.println(F("Relay bật"));
    }
    else if (strcmp(arg1, "OFF") == 0) { // RELAY OFF. Thì tắt
        digitalWrite(RELAY[num], OFF);
        Serial.println(F("Relay tắt"));
    }
    else {
        Serial.println(F("Khong nam trong tap hop lenh"));
    }
}

void loop() {
    // put your main code here, to run repeatedly:
    Serial.println("Arduino.vn");
    Serial.print("Nhiet do cam bien 1: ");
    Serial.println(sensor_tem_1.getTempCByIndex(0));
    Serial.print("Nhiet do cam bien 2: ");
    Serial.println(sensor_tem_2.getTempCByIndex(0));
  sensor_tem_1.requestTemperatures();  
  sensor_tem_2.requestTemperatures();  
  
  for (byte i = 0; i < 2; i++) {
        sensor.setValue(i,1 - digitalRead(RELAY[i]));   // gửi trạng thái lên gause 
  }       
  sensor.setValue (2,sensor_tem_1.getTempCByIndex(0)); // gửi nhiệt độ lên internet
  sensor.setValue (3,sensor_tem_2.getTempCByIndex(0));
sensor.loop();
}

Code Node - RED: http://localhost:1880/#flow/891bb18c.71f9b

Giao diện làm việc: http://localhost:1880/ui

IV. Kết Quả Của Ngày Hôm Nay 

https://ideone.com/P1dQb1

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

Youtube: 
lên
8 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Bộ điều khiển PID - ứng dụng phần 2 - xe dò line dùng thuật toán PID

Tiép nối bài viết về xe dò line cảm ơn Đỗ Hữu Toàn đã viết hộ mình phần 4. hôm nay mình sẽ làm cho chiếc xe dò line đi mượt và có hồn hơn 

lên
34 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

CHUNG TAY GÓP SỨC XÂY DỰNG CỘNG ĐỒNG ARDUINO VIỆT NAM

Từ 19/5/2014 đến nay, Cộng đồng Arduino Việt Nam đã trải qua hơn 5 năm phụng sự bạn đọc và đã cùng với nhiều thế hệ sinh viên và người đam mê nghiên cứu. Hôm nay, chúng ta cùng chung tay hỗ trợ sức mình để duy trì và vận hành cộng đồng Arduino bạn nhé.

lên
33 thành viên đã đánh giá bài viết này hữu ích.

Lần đầu trải nghiệm iNut cảm biến và sử dụng phần mềm iNut cảm biến

Hôm nay, mình sẽ chia sẻ những trải nghiệm đầu tiên của mình khi lần đầu sử dụng sản phẩn IOT của Cty cổ phần đầu tư và phát triển công nghệ INUT, đó là board mạch Inut cảm biến do chính công ty nghiên cứu và phát triển. Đây là lần đầu mình trải nghiệm sản phẩm này, vì quỹ thời gian tiếp xúc với nó còn hạn chế nên mình sẽ nói lên những cảm nhận ban đầu của mình khi được cầm,sờ,nắn,bóp… và test thử em nó

lên
4 thành viên đã đánh giá bài viết này hữu ích.