Professional Documents
Culture Documents
Mỗi project, Blynk sẽ gửi cho bạn 1 mã Auth Token để nhập vào trong
code của Board mạch điều khiển NodeMCU, Các bạn có thể lựa chọn nhiều
chức năng như nút bấm, hẹn giờ, LCD… để đưa vào project của mình.
Mỗi đối tượng các bạn chọn sẽ tốn energy (1 đơn vị giới hạn khi bạn dùng
server miễn phí).
// Pin
#define DHTPIN D5
#define den D7
#define quat D1
#define GAS A0
// Su dung cam bien DHT11
#define DHTTYPE DHT11
// Tao server
WiFiServer server(80);
void sendSensor()
{
float h = dht.readHumidity(); //Doc gia tri do am
float t = dht.readTemperature(); //Doc gia tri nhiet do
float g = analogRead(GAS) ;
float nguoi = digitalRead(D6);
void setup() {
// Mo Serial
Serial.begin(115200);
delay(10);
Blynk.begin(auth, ssid, pass); // Ket noi voi blynk
dht.begin(); // Khoi tao DHT
WiFi.begin(ssid, pass);
// In ra dia chi IP
Serial.println(WiFi.localIP());
}
void loop() {
float g = analogRead(GAS) ;
float nguoi = digitalRead(D6);
if (g>300){
digitalWrite(D8, HIGH);
}
if (nguoi == HIGH){
digitalWrite(D3,HIGH);
}
// Doc do am
float h = dht.readHumidity();
// Doc nhiet do o do C
float t = dht.readTemperature();
// Doc yeu cau tu client
String req = client.readStringUntil('\r');
Serial.println(req);
client.flush();
s += "<div class=\"container\">";
s += "<div class=\"container\">";
s += "<h1>Dieu khien quat</h1>";
s += "<div class=\"row\">";
s += "<div class=\"col-md-2\"><input class=\"btn btn-block btn-lg btn-
primary\" type=\"button\" value=\"On1\" onclick=\"on1()\"></div>";
s += "<div class=\"col-md-2\"><input class=\"btn btn-block btn-lg btn-
danger\" type=\"button\" value=\"Off1\" onclick=\"off1()\"></div>";
s += "</div></div>";
s += "<script>function on1() {$.get(\"/on1\");}</script>";
s += "<script>function off1() {$.get(\"/off1\");}</script>";
s += "<div class=\"container\">";
s += "<h1>Theo doi nhiet do va do am</h1>";
s += "<div class=\"row voffset\">";
s += "<div class=\"col-md-3\">Nhiet do: </div><div class=\"col-md-3\">" +
String(t) + "</div>";
s += "<div class=\"col-md-3\">Do am: </div><div class=\"col-md-3\">" +
String(h) + "</div>";
s += "</div>";
s += "<div class=\"container\">";
s += "<h1>Theo doi khi Gas va canh bao trom</h1>";
s += "<div class=\"row voffset\">";
s += "<div class=\"col-md-3\">GAS: </div><div class=\"col-md-3\">" +
String(g) + "</div>";
s += "<div class=\"col-md-3\">Nguoi: </div><div class=\"col-md-3\">" +
String(nguoi) + "</div>";
s += "</div>";
// Sau khi nhan duoc thong tin thi se tu dong ngat ket noi
}
------------------------------------------------------------------------------------------------
2.2.4. Thiết kế phần cứng
2.2.4.1. Sơ đồ nguyên lý
Khối chấp hành (khối relay)
Hình 2. 7: Sơ đồ nguyên lý
2.2.4.2. Sơ đồ mạch in
Khối chấp hành
Hình 2. 8: Sơ đồ mạch in
2.3. Kết quả đạt được
Đề tài thực hiện được một số kết quả tiêu biểu như sau:
- Thiết kế được hệ thống báo cháy và chống trộm giúp người dung có thể
quan sát các chỉ số của nhà mình.
- Kết nối thành công mạch với server, demo điều khiển thiết bị thông qua
wifi.
- Thiết kế thành công mạch đo nhiệt độ, độ ẩm sử dụng cảm biến DHT11, và
truyền lên server cũng như Blynk.
- Lập trình giao diện web để đo lường, hiển thị thống kê các thông số nhiệt
độ, độ ẩm và điều khiển cơ cấu chấp hành
Bên cạnh đó, việc thực hiện xây dựng Webserver và hiển thị hình ảnh lên Blynk
như mô tả ở hình 2.6 và 2.7 bên dưới.
Hình 2. 9: Websever