You are on page 1of 10

CHƯƠNG I: Lời nói đầu

2.1. Khái quát chung

Ngày nay với sự phát triển mạnh mẽ của khoa học – kĩ thuật thì việc ứng
dụng các sản phẩm khoa học kỹ thuật vào thực tiễn đời sống ngày càng được
chú trọng. Tự động hóa trong sản xuất cũng như trong đời sống hằng ngày ngày
càng được phát triển và hoàn thiện. Việc kết hợp của nhiều lĩnh vực như cơ khí,
điều khiển, công nghệ thông tin và cơ điện tử vào nghiên cứu nâng cao các sản
phẩm điện tử thông minh phục vụ cho đời sống ngày càng hiện đại của con
người.

Cùng với sự phát triển của nền kinh tế và sự bùng nổ của cuộc các mạng
công nghệ 4.0 hàng loạt các đề tài nghiên cứu kết hợp sử dụng cảm biến thông
minh với phương tiện ngôn ngữ lập trình hoàn thiện những sản phẩm phục vụ
nhu cầu của xã hội hiện đại. Những mô hình nhà thông minh đang ngày càng
được ứng dụng rộng rãi mang lại sự tiện nghi cho người sử dụng, và là một công
nghệ phát triển trong tương lai. Trong đó những sản phẩm ứng dụng cảm biến
như cảm biến nhiệt độ, độ ẩm, cảm biến siêu âm, những thiết bị điều khiển từ
xa, … có một vị trí quan trọng không thể thiếu trong mô hình phát triển ngôi nhà
thông minh – mô hình rộng rãi ở tương lai.

Chính bởi những ứng dụng quan trọng đó với những hiểu biết ban đầu về
cảm biến và tiếp cận với ngôn ngữ lập trình nhóm đã chọn bài tập lớn về giao
tiếp với esp8266-12e, cụ thể là đề tài: “Điều khiển thiết bị bằng sóng wifi”.

1.2.Yêu cầu công nghệ

Sản phẩm đáp ứng được những yêu cầu về điều khiển thiết bị bằng sóng
wifi.

CHƯƠNG II: TỔNG QUAN VỀ CÁC LINH KIỆN


2.1. Giới thiệu chung về ESP8266

ESP8266 là

2.5. Một số linh kiện khác:

2.5.1. Điện trở than

1
- Điện trở than là loại điện trở sử dụng nhiều nhất trong mạch điện. Điện
trở than được cấu tạo bởi hỗn hợp của bột than và các chất khác, tùy theo
tỷ lệ pha trộn mà điện trở có trị số lớn hay nhỏ. Bên ngoài điện trở bọc
bằng lớp cách điện.

- Điện trở của dây dẫn phụ thộc vào chất liệu, độ dài và tiết diện của dây,
được tính theo công thức sau:
2.5.2. Tụ hóa

Tụ hóa hay Tụ điện điện phân (Tiếng anh:electrolytic capacitor) là một


loại tụ điện có phân cực. Nó có anode (+) được làm bằng kim loại đặc biệt được
xử lí bề mặt để tạo lớp oxyt cách điện. Sau đó chất điện phân rắn hoặc không rắn
(non-solid) được phủ lên lớp oxyt để tạo cathode.

Tụ hóa được dung nhiều trong các bộ lọc cung cấp nguồn, nơi mà điện
tích lưu trữ cần cho việc điều tiết điện áp ra và sự dao động của dòng điện,
trong chỉnh lưu ngõ ra và đặc biệt khi thiếu nguồn pin sạc để cung cấp dòng điện
tần số thấp.

2.5.3. Relay

Relay là một linh kiện điện tử thụ động thường hay gặp trong các ứng
dụng thực tế. Relay hay Rowle là một loại công tắc (khóa K) nhưng được kích
hoạt bằng điện.

Hình 11 : Hình ảnh Relay

2
2.5.4. Diode zenner
2.5.5. Hình 11: Diode zenner

CHƯƠNG III: NGÔN NGỮ LẬP TRÌNH VÀ PHẦN MỀM PHỤ TRỢ
3.1. Ngôn ngữ lập trình

3.1.1.Ngôn ngữ C

3.2. Phần mềm phụ trợ

3.2.1. Proteus 8.8

Proteus Professional 8.8 là một phần mềm mô phỏng mạch điện tử một cách
chính xác nhất so với các trương trình tương tự. Nó có thể thiết kế mạch, chạy thử
nghiệm, thiết kế các mạch in. Với giao diện cực kì trực quan, thao tác dễ dàng chỉ
việc kéo thả các link kiện, kéo thả kết nối các chân kết nối với nhau một cách
nhanh chóng.

Hình 12: Giao diện proteus 8.8

3.2.2 Eagle 9.6.1

3
CHƯƠNG IV: THỰC THI THIẾT KẾ
4.1 Thiết kế phần cứng

4.1.1 Nguyên lý hoạt động

Esp8266-12e bắt sóng wifi được thiết lập sẵn, lúc này ta có thể truy cập vào
web Server theo địa chỉ esp8266-12e bắt trên module wifi, ta cũng có thể điều
khiển trực tiếp thông qua nút ấn, thông qua google assistant để điều khiển.

4.1.2 Sơ đồ nguyên lý

4
Hình 13: Sơ đồ nguyên lý

4.2. Phần mềm

4.2.1. Chương trình


#include <BlynkSimpleEsp8266.h>

#include <ESP8266WiFi.h>

#include <ESP8266WebServer.h>

ESP8266WebServer webServer(80);

char ssid[] = "ABC";

char pass[] = "123454321";

char auth[] = "2NRscZ6kGdJdSiVee1hQtGUOdSjtfPpT";

BLYNK_WRITE(V5){

int pinmode = param.asInt();

digitalWrite(5,pinmode);

5
BLYNK_WRITE(V4){

int pinmode = param.asInt();

digitalWrite(4,pinmode);

BLYNK_WRITE(V0){

int pinmode = param.asInt();

digitalWrite(0,pinmode);

BLYNK_WRITE(V2){

int pinmode = param.asInt();

digitalWrite(2,pinmode);

void setup() {

pinMode(5,OUTPUT);

digitalWrite(5,HIGH);

pinMode(4,OUTPUT);

digitalWrite(4,HIGH);

pinMode(0,OUTPUT);

digitalWrite(0,HIGH);

pinMode(2,OUTPUT);

digitalWrite(2,1);

pinMode(16,INPUT);

pinMode(14,INPUT);

pinMode(13,INPUT);

pinMode(12,INPUT);

Blynk.begin(auth,ssid,pass);

webServer.on("/",[](){

webServer.send(200,"text/html","<meta charset=utf-8> <button><a


href=\"/phong1\">phòng 1</a></button> <button><a href=\"/phong2\">phòng
2</a></button> <button><a href=\"/phong3\">phòng 3</a></button> <button><a
href=\"/phong4\">phòng 4</a></button>");//href để tạo một liên kết đến một mục trong
server của esp8266

});

6
webServer.on("/phong1",[](){

digitalWrite(5,!digitalRead(5));

webServer.send(200,"text/html"," <button><a href=\"/phong1\">ON-0FF</a></button>


<button><a href=\"/\">back</a></button>");

});

webServer.on("/phong2",[](){

digitalWrite(4,!digitalRead(4));

webServer.send(200,"text/html"," <button><a href=\"/phong2\">ON-OFF</a></button>


<button><a href=\"/\">back</a></button>");

});

webServer.on("/phong3",[](){

digitalWrite(0,!digitalRead(0));

webServer.send(200,"text/html"," <button><a href=\"/phong3\">ON-0FF</a></button>


<button><a href=\"/\">back</a></button>");

});

webServer.on("/phong4",[](){

digitalWrite(2,!digitalRead(2));

webServer.send(200,"text/html"," <button><a href=\"/phong4\">ON-OFF</a></button>


<button><a href=\"/\">back</a></button>");

});

webServer.begin();

void loop() {

webServer.handleClient();

Blynk.run();

if(digitalRead(16)==LOW){

delay(69);

if(digitalRead(16)==LOW){

digitalWrite(5,!digitalRead(5));

while(digitalRead(16)==LOW);

if(digitalRead(14)==LOW){

7
delay(69);

if(digitalRead(14)==LOW){

digitalWrite(4,!digitalRead(4));

while(digitalRead(14)==LOW);

if(digitalRead(12)==LOW){

delay(69);

if(digitalRead(12)==LOW){

digitalWrite(0,!digitalRead(0));

while(digitalRead(12)==LOW);

if(digitalRead(13)==LOW){

delay(69);

if(digitalRead(13)==LOW){

digitalWrite(2,!digitalRead(2));

while(digitalRead(13)==LOW);

8
4.2.2.Một số hình ảnh của sản phẩm

Hình 14: Mạch in

Mặt sau cảu sản phẩm

Mặt trước của sản phẩm

Sản phẩm khi hoạt động

5.1.Kết luận

Sau một thời gian nỗ lực học tập không ngừng trong học tập cũng như được
sự chỉ bảo của thầy Th.s Vũ Thạch Dương, nhóm chúng em đã hoàn thành được
bài tập lớn : “Điều khiển thiết bị bằng sóng wifi”. Trong quá trình đi từ mô

9
phỏng đến làm mạch thực tế chúng em đã đúc kết được nhiều kinh nghiệm
quý báu cho bản thân để phục vụ trong quá trình học tập và thực tế sau này.

Sinh viên học tập môn học có được những kinh nghiệm thực hành tốt, được
làm quen với các thiết bị hỗ trợ học tập.Trong phần mềm thiết kế mạch sử dụng
phần mềm vẽ mạch là phần mềm: proteus 8.8, eagle 9.6.1 phầm mềm hỗ trợ vẽ
mạch dễ sử dụng, phù hợp, có thế vẽ thêm các linh kiện khác nhanh chóng. Qua
quá trình làm nhóm đã có được những kinh nghiệm làm mạch in, biết được cách
hoạt động của các linh kiện điện tử, có thêm được nhiều hiểu biết về điện tử,
ứng dụng những kinh nghiệm học được vào cuộc sống.
Qua bài báo cáo này chúng em mong thầy sẽ gúp đỡ chúng em thêm về các kỹ
năng như lập trình và cách phân tích cái bài toán nhiều hơn để chúng em có thể
cố gắng làm tốt hơn các bài tiếp theo.

Trong suốt quá trình làm bài thực hành chúng em thấy đề tài này rất hay và
có tính ứng dụng tương đối cao trong thời khì công nghệ 4.0. Tuy nhiên với khả
năng có hạn nên độ chính xác của sản phẩm còn chưa cao. Vì vậy nhóm chúng
em đang cố gắng để hướng tới một sản phẩm tốt hơn, độ chính xác cao hơn và
có thể ứng dụng vào trong thực tiễn.

10

You might also like