Tìm hiểu về Blynk [12]

Một phần của tài liệu Gian phoi thong minh dieu khien bang dien thoai (Trang 29)

- Blynk là một nền tảng với các ứng dụng IOS và Android để điều khiển Arduino, Raspberry Pi và các ứng dụng tương tự qua Internet.

- Nó là một bảng điều khiển kỹ thuật số nhờ đó bạn có thể xây dựng giao diện đồ họa cho dự án của mình bằng cách kéo và thả các widget. Việc thiết lập mọi thứ rất đơn giản và bạn sẽ bắt đầu sau chưa đầy 5 phút. - Blynk không bị ràng buộc với một số bo hoặc shield cụ thể. Thay vào

Raspberry Pi của bạn được liên kết với Internet qua Wi-Fi, Ethernet hoặc chip ESP8266, Blynk sẽ giúp bạn online và sẵn sàng cho IoT.

- Những lý do nên sử dụng Blynk:

- Dễ sử dụng: việc cài đặt ứng dụng và đăng ký tài khoản trên điện thoại rất đơn giản cho cả IOS và Android

- Chức năng phong phú: Blynk hỗ trợ rất nhiều chức năng với giao diện đẹp và thân thiện, bạn chỉ việc kéo thả đối tượng và sử dụng nó.

- Không phải lập trình ứng dụng: nếu bạn không có kiến thức về lập trình app cho Android cũng như IOS thì Blynk là một ứng dụng tuyệt vời để giúp bạn khám phá thế giới IOTs.

- Điều khiển, giám sát thiết bị ở bất kì đâu thông qua internet với khả năng đồng bộ hóa trạng thái và thiết bị.

- Cách hoạt động của Blynk

o Blynk được thiết kế cho IoT. Nó có thể điều khiển phần cứng từ xa, nó có thể hiển thị dữ liệu cảm biến, nó có thể lưu trữ dữ liệu, trực quan hóa và làm nhiều thứ hay ho khác.

CHƯƠNG 3: THIẾT KẾ GIÀN PHƠI THÔNG MINH 3.1 Mô tả công nghệ điều khiển giàn phơi thông minh

Giàn phơi thông minh điều khiển bằng điện thoại được điều khiển qua điện thoại thông qua ứng dụng blynk.

Có 2 chế độ chính:

- Chế độ bằng tay: Có thể điều khiển phơi hoặc thu quần áo bằng tay qua điện thoại.

- Chế độ tự động: Giàn phơi thông minh sẽ hoạt động thông qua cảm biến ánh sáng và cảm biến mưa

+ Khi trời sáng sẽ tự động kéo quần áo ra phơi, trời tối hoặc mưa sẽ thu quần áo vào.

3.2 Sơ đồ khối của hệ thống

- Khối nguồn: Sử dụng nguồn 12v đầu vào đi qua mạch hạ áp xuống 5v cung cấp cho vi điều khiển và linh kiện.

- Khối cảm biến: sử dụng cảm biến ánh sáng và cảm biến mưa để xác định thời tiết để vi điều khiển có thể điều khiển cách dễ nhất.

Khối nguồn Khối blynk

Khối cảm biến Khối vi điều khiển

Khối relay

- Khối vi điều khiển: sử dụng vi điều khiển arduino nano để giao tiếp với module esp8266-01 nhận tín hiệu điều khiển từ app blynk và điều khiển giàn phơi.

- Khối relay: nhận tín hiệu từ vi điều khiển để điều khiển các thiết bị mong muốn.

3.3 Xây dựng mạch nguyên lý

3.3.1 Khối nguồn

Mạch giảm áp LM2596 là module giảm áp có khả năng điều chỉnh được dòng ra đến 3A. LM2596 là IC nguồn tích hợp đầy đủ bên trong. Tức là khi cấp nguồn 9v vào module, sau khi giảm áp ta có thể lấp được nguồn 3A < 9v... như 5V hay 3.3V.

Hình 3. 3 Khối nguồn

3.3.2 Khối vi điều khiển

3.3.3 Khối module ESP8266-01

Mạch thu phát Wifi ESP8266 Uart ESP-01 sử dụng IC Wifi SoC ESP8266 của hãng Espressif, được sử dụng để kết nối với vi điều khiển thực hiện chức năng truyền nhận dữ liệu qua Wifi, mạch có thiết kế nhỏ gọn, mạch thu phát wifi ESP-01 được sử dụng trong các ứng dụng IoT và điều khiển thiết bị qua Wifi…

Sử dụng 4 chân để kết nối:

- Chân 2 được kết nối với chân 0 của vi điều khiển để truyền nhận dữ liệu bằng chuẩn giao tiếp UART.

- Chân 3 được kết nối với chân 1 của vi điều khiển để truyền nhận dữ liệu bằng chuẩn giao tiếp UART.

- Chân 3V3 được nối với chân 3V3 đầu ra của ic ams117. - Chân GND được nối với chân GND đầu ra của ic ams117.

Hình 3. 5 Mạch thu phát Wifi ESP8266

3.3.4 Khối cảm biến ánh sáng

Cảm biến cường độ ánh sáng quang trở rất nhạy cảm với cường độ ánh sáng môi trường thường được sử dụng để phát hiện độ sáng môi trường xung quanh và cường độ ánh sáng. Khi cường độ ánh sáng môi trường xung quanh bên ngoài vượt quá một ngưỡng quy định, ngõ ra của module D0 là mức logic thấp. Ngoài ra còn có ngõ ra Analog ở chân A0 để xử lí mức độ ánh sáng.

Sử dụng 3 chân để kết nối:

- Chân cbas được kết nối với chân d5 của vi điều khiển để nhận tín hiệu 0 và 1 của cảm biến ánh sáng sau đó xác định sáng tối

- Chân 5V được nối với chân 5V đầu ra của mạch hạ áp. - Chân GND được nối với chân GND đầu ra của mạch hạ áp.

Hình 3. 7 Khối cảm biến mưa

3.3.5 Khối cảm biến mưa

Cảm biến mưa sử dụng để phát hiện mực nước, trời mưa, hay các môi trường có nước. Mạch cảm biến mưa được đặt ngoài trời để kiểm tra trời có mưa không, qua đó truyền tín hiệu điều khiển đóng / ngắt rơ le.

Mạch cảm biến mưa gồm 2 bộ phận:

+ Bộ phận cảm biến mưa được gắn ngoài trời + Bộ phận điều chỉnh độ nhạy cần được che chắn

Mạch cảm biến mưa hoạt động bằng cách so sánh hiệu điện thế của mạch cảm biến nằm ngoài trời với giá trị định trước (giá trị này thay đổi được thông qua 1 biến trở màu xanh) từ đó phát ra tín hiệu đóng / ngắt rơ le qua chân D0.

Sử dụng 3 chân để kết nối:

- Chân cbas được kết nối với chân d4 của vi điều khiển để nhận tín hiệu 0 và 1 của cảm biến ánh sáng sau đó xác định trời mưa và không mưa.

- Chân 5V được nối với chân 5V đầu ra của mạch hạ áp. - Chân GND được nối với chân GND đầu ra của mạch hạ áp.

3.3.6 Khối điều khiển động cơ quạt

Khối điều khiển động cơ quạt sử dụng opto để kích tín hiệu và cách li nguồn tránh xung đột nguồn làm chết vi điều khiển,sử dụng tran 815 để đóng mở Relay để bật tắt động cơ phun sương.

- Chân quat được kết nối với chân d6 của vi điều khiển để có thể bật tắt quạt.

- Chân 12V được nối với chân 12V nguồn đầu vào. - Chân GND được nối với chân GND nguồn đầu vào.

Hình 3. 8 Khối điều khiển động quạt

3.3.7 Khối điều khiển động cơ giàn phơi

Khối điều khiển động cơ giàn phơi theo mức đã thiết lập sử dụng opto điều khiển tín hiệu và tránh xung đột nguồn, sử dụng IFR840 để điều khiển xung theo mong muốn người sử dụng, sử dụng Realy bật tắt thiết bị.

Khối điều khiển động cơ quạt sử dụng opto để kích tín hiệu và cách li nguồn tránh xung đột nguồn làm chết vi điều khiển, sử dụng tran 815 để đóng mở Relay để bật tắt động cơ phun sương.

Sử dụng 4 chân để kết nối:

- Chân chieu1 được kết nối với chân D7 vi điều khiển để điều khiển chiều của động cơ.

- Chân chieu2 được kết nối với chân D8vi điều khiển để điều khiển chiều của động cơ.

- Chân 12V được nối với chân 12V nguồn đầu vào. - Chân GND được nối với chân GND nguồn đầu vào.

3.4 Lưu đồ thuật toán Chế độ bằng tay Chế độ bằng tay

Bắt đầu

Kết nối wifi và app blynk

Nhận tín hiệu từ app blynk lưu vào biến V1

Nếu V1==1?

Tắt quạt Thu quần áo

Bật quạt

Phơi quần áo

Kết thúc Đ

Chế độ tự động

Bắt đầu

Kết nối wifi và app blynk

Đọc dữ liệu từ cảm biến mưa và cảm biến ánh sáng

Nếu cảm biến mưa ==1?

Nếu cảm biến ánh sáng==0?

Phơi quần áo Thu quần áo

Thu quần áo Bật quạt Bật quạt Kết thúc Đ Đ S S

3.5 Thiết kế mạch in

Dựa trên mạch nguyên lý, chúng ta thiết kế và xây dựng mạch in trên trên phần mềm Altium Designer.Ở đây ta đi dây với độ rộng của các dây tín hiệu là 0.6 mm và các dây GND là 0.7 mm.

3.6 Thiết kế phần mềm

Để điều khiển thiết bị, ta cần thiết kế một ứng dụng chạy trên điện thoại thông minh. Để thực hiện điều này ta cần app hỗ trợ code được ứng dụng đó chính là Blynk. Đây là giao diện đã được thiết kế trên Blynk.

Bước 1: Tạo new template

Bước 3: thêm new device vowswi template vừa tạo

3.7 Kết quả thực nghiệm

3.7.1 Hình ảnh mô hình sau khi hoàn thành

+ Hình ảnh mô hình sau khi thiết kế

Hình 3. 11 Mô hình được quan sát từ mặt trước

Hình 3. 13 Mặt sau của mô hình

3.7.2 Hình ảnh mạch khi chạy thực nghiệm

- Giao diện ứng dụng Blynk khi đã được kết nối để điều khiển

3.7.3 Kết quả chạy thực nghiệm

- Mô hình này được thiết kế với kích thước nhỏ nhằm phù hợp cho nghiên cứu và học tập để phát triển áp dụng vào thực tế.

+ Phần khung mô hình được làm bằng inox chống gỉ, những chi tiết được hàn chắc chắn, ở trên có gắn decan thay cho mái che thực tế khi thu quần áo vào.

+ Khối điều khiển của hệ thống được gắn cố định lên phần khung giúp hệ thống hoạt động trơn chu và hiệu quả.

- Sau khi chạy thực nghiệm 5 lần em thấy mạch hoạt động ổn định, hoạt động đúng yêu cầu đề ra ban đầu.

3.8 Hướng phát triển

Ðây là một đề tài khá mới mẻ nên có nhiều hướng phát triển trong tương lai:

- Cần mở rộng hơn nữa về phương thức điều khiển như có thể điều khiển bằng giọng nói, qua kết nối bluetooth thay vì chỉ với wifi.

- Cần mở rộng hơn nữa để giàn mô hình có thể tự di chuyển theo hướng nắng phù hợp với mọi nơi cần sử dụng.

- Sản phẩm không chỉ dừng lại ở việc phơi quần áo mà nó có thể mở rộng hơn nữa với quy mô lớn như hệ thống phơi nông sản, hàng thủ công mĩ nghệ, các dây chuyền công nghiệp …

KẾT LUẬN

Sau một thời gian nghiên cứu về đề tài thiết kế mô hình giàn phơi thông minh điều khiển bằng điện thoại. Qua quá trình thực hiện đồ án, em đã tìm hiểu và nắm vững được một số kiến thức như sau:

- Kiến thức về cấu tạo và nguyên lý hoạt động của arduino nano. - Kiến thức về cảm biến: cảm biến quang sử dụng quang trở và cảm

biến mưa.

- Biết sử dụng phần mềm lập trình, thiết kế mạch in, mô phỏng mạch điều khiển giàn phơi.

Bên cạnh đó đề tài “thiết kế mô hình giàn phơi thông minh điều khiển

bằng điện thoại” là đề tài rất hay và mang cao tinh thần chia sẻ kinh nghiệm

và giao lưu học hỏi.

Sau quá trình thiết kế, thi công và chạy thực nghiệm mô hình “giàn phơi

thông minh điều khiển bằng điện thoại”. Em thấy mạch đã chạy đúng chương

trình đã được lập trình và hoạt động ổn định.

Cuối cùng em xin chân thành cảm ơn cô Bùi Thị Thu Hà cùng với các thầy cô trong khoa điện tử đã nhiệt tình giúp đỡ em trong quá trình làm đồ án để đề tài của em được hoàn thành đúng như yêu cầu được giao.

HƯỚNG DẪN SỬ DỤNG MÔ HÌNH

Bước 1: Tìm và cài đặt ứng dụng Blynk trên Appstore hoặc ChPlay:

Bước 2: Tạo tài khoản Blynk và đăng nhập Bước 3: Thiết kế giao diện Blynk như hình

Hình 3. 15 Chú thích một số linh kiện quan trọng Relay Header Led hiển thị Arduino nano Module wifi ESP8266 LM2596 Cổng nguồn

Bước 4: Cấp nguồn 12V cho mô hình

Hình 3. 16 Mạch sau khi cấp nguần

Bước 5: Mở ứng dụng Blynk đã cài và thiết lập sẵn trước đó và điều khiển

TÀI LIỆU THAM KHẢO

[1] Phạm Minh Tuấn – “Arduino cho người mới bắt đầu”, IoT Maker Viet Nam, 2018.

(https://drive.google.com/file/d/1GXdKUSItVKxjUQjl4RYu5fAtZFCHM

vG/view).

[2] Arduino Nano Manual – Arduino

[3] Arduino nano datasheets – Arduino

[4] ATmega328P datasheets – ATMEL

[5] Phan Quốc Phô, Nguyễn Đức Chiến – “Giáo trình cảm biến”, Nhà xuất bản khoa học và kỹ thuật, 2006.

[6] L298 datasheets – STMicroelect Electronic

WEBSITE THAM KHẢO

[7]http://gianphoiviet.vn/gianphoi-xepngang/gian-phoi-thong-minh- gantuonginox.html. [8]https://gianphoidohoaphat.com/nhung-dieu-can-biet-ve-gia-phoi- thongminh-gan-tran/ [9]http://baongocpro.com/gian-phoi-dieu-khien-glt-8013-fs. [10]http://hasuko.com.vn/tinh-nang-vuot-troi-cua-gian-phoi-thong-minh- dieukhien-tu-xa/ [11]https://blog.siliconstraits.vn/arduino-nen-tang-moi-trong-viec- dieukhientu-dong/. [12]http://iottuonglai.com/blynk-la-gi.html [13]https://nshopvn.com/product/mach-thu-phat-wifi-esp8266-uart-esp-01/

PHỤ LỤC

#define BLYNK_TEMPLATE_ID "TMPLv5UPM3j5"

#define BLYNK_DEVICE_NAME "HOÀNG THỜI GIÀN PHƠI THÔNG MINH"

#define BLYNK_AUTH_TOKEN

"8AJ7AOjuLd_yEeteTzsAgBanRyefJ1_r" #define BLYNK_PRINT Serial #include <ESP8266_Lib.h> #include <BlynkSimpleShieldEsp8266.h> #define CB_MUA 4 #define CB_AS 5 #define CB_THU 2 #define CB_PHOI 3 #define QUAT 6 #define THU 7 #define PHOI 8 #define ADC A1

char auth[] = BLYNK_AUTH_TOKEN; char ssid[] = "duyken";

char pass[] = "12345677"; int VIRTUAL_PIN_0; int VIRTUAL_PIN_1; int VIRTUAL_PIN_2; int dem;

#define EspSerial Serial

// or Software Serial on Uno, Nano... //#include <SoftwareSerial.h>

// Your ESP8266 baud rate: #define ESP8266_BAUD 115200 ESP8266 wifi(&EspSerial); BLYNK_WRITE(V0){VIRTUAL_PIN_0 = param.asInt();} BLYNK_WRITE(V1){VIRTUAL_PIN_1 = param.asInt();} BLYNK_WRITE(V2){VIRTUAL_PIN_2 = param.asInt();} void setup() { Serial.begin(9600); pinMode(CB_MUA, INPUT); pinMode(CB_AS, INPUT); pinMode(CB_THU, INPUT); pinMode(CB_PHOI, INPUT); pinMode(QUAT, OUTPUT); pinMode(THU, OUTPUT); pinMode(PHOI, OUTPUT); digitalWrite(THU,0); digitalWrite(PHOI,0); digitalWrite(QUAT,0); EspSerial.begin(ESP8266_BAUD); delay(10);

Blynk.begin(auth, wifi, ssid, pass); }

void loop() {

// put your main code here, to run repeatedly: Blynk.run();

} void che_do() { if(VIRTUAL_PIN_0==0){bang_tay();} else tu_dong(); }

void tu_dong()//mua=0; ko mua=1; sang=0; toi=1. {

if(digitalRead(CB_MUA)==HIGH && digitalRead(CB_AS)==LOW) {

Phoi_QA(); }

if(digitalRead(CB_MUA)==LOW && digitalRead(CB_AS)==LOW) { Thu_QA(); } else if(digitalRead(CB_MUA)==LOW||digitalRead(CB_AS)==HIGH) { Thu_QA(); } } void bang_tay() { if(VIRTUAL_PIN_1==0){Thu_QA();} else Phoi_QA(); } void Thu_QA() {

if(analogRead(A1)<20){digitalWrite(THU,0);digitalWrite(PHOI,0); digitalWrite(QUAT,1); } if(analogRead(A1)>50){digitalWrite(THU,1);digitalWrite(PHOI,0);digitalWr ite(QUAT,0); } } void Phoi_QA() { if(analogRead(A1)>1000) {digitalWrite(THU,0);digitalWrite(PHOI,0);} if(analogRead(A1)<950){digitalWrite(THU,0);digitalWrite(PHOI,1); digitalWrite(QUAT,0);} }

Một phần của tài liệu Gian phoi thong minh dieu khien bang dien thoai (Trang 29)

Tải bản đầy đủ (PDF)

(56 trang)