You are on page 1of 21

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC KINH TẾ - KỸ THUẬT KHOA ĐIỆN TỬ


CÔNG NGHIỆP

BÁO CÁO TỔNG KẾT


ĐỀ TÀI NGHIÊN CỨU KHOA HỌC SINH VIÊN
NĂM HỌC 2023-2024

Tên đề tài:
THIẾT KẾ VÀ CHẾ TẠO HỆ THỐNG CHO GÀ ĂN TỰ ĐỘNG CÓ
CHỨC NĂNG HẸN GIỜ, ĐIỀU KHIỂN QUA WIFI

Giảng viên hướng dẫn: Bùi Thị Phượng


Chủ nhiệm đề tài:
Thành viên:

HÀ NỘI 3/2024

1
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC KINH TẾ - KỸ THUẬT KHOA ĐIỆN TỬ
CÔNG NGHIỆP

BÁO CÁO TỔNG KẾT


ĐỀ TÀI NGHIÊN CỨU KHOA HỌC SINH VIÊN
NĂM HỌC 2023-2024

Tên đề tài:
THIẾT KẾ VÀ CHẾ TẠO HỆ THỐNG CHO GÀ ĂN TỰ ĐỘNG CÓ
CHỨC NĂNG HẸN GIỜ, ĐIỀU KHIỂN QUA WIFI

Giảng viên hướng dẫn: Bùi Thị Phượng


Chủ nhiệm đề tài:
Thành viên:

HÀ NỘI 3/2024

2
DANH SÁCH NHỮNG NGƯỜI THỰC HIỆN

TT Họ và tên Mã số sinh Lớp Chức danh


viên
1

DANH SÁCH GIẢNG VIÊN HƯỚNG DẪN

TT Họ và tên Chức vụ Khoa Nhiệm vụ


1 Bùi Thị Phượng Giảng viên Điện tử GV hướng dẫn

3
4
MỤC LỤC

CHƯƠNG 3: THIẾT KẾ CHƯƠNG TRÌNH VÀ GIAO DIỆN ĐIỀU KHIỂN.......5

3.1: Thiết kế chương trình điều khiển bằng Arduino................................................5


3.1.1: Arduino là gì?...............................................................................................5
3.1.2: Ứng dụng của Arduino trong đời sống.........................................................5
3.1.3: Phần mềm Arduino IDE là gì?.....................................................................6
3.1.4: Shetch là gì?.................................................................................................6
3.1.5: Làm quen với giao diện Arduino IDE..........................................................7
3.1.6: Cổng Com....................................................................................................7
3.1.7:Serial Monitor................................................................................................8

3.2:Chương trình điều khiển:.....................................................................................8

3.3:Thiết kế giao diện điều khiển qua Blynk...........................................................16


3.3.1. Blynk là gì?................................................................................................16
3.3.2. Cách Blynk hoạt đông:...............................................................................16
3.3.3.Tính năng, đặc điểm....................................................................................17

CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN........................................18

4.1: Kết Luận...........................................................................................................18

4.2: Một số ảnh mô hình..........................................................................................18

4.3:Ưu, nhược và tổng kết ra khi thực hiện mô hình...............................................19


4.3.1. Ưu điểm:.....................................................................................................19
4.3.2. Nhược điểm và những khó khăn................................................................19

4.4: Hướng phát triển đề tài.....................................................................................19

5
MỤC LỤC HINH ẢNH
Hình 3.1 Ảnh Arduino áp dụng trong mô hình ngôi nhà thông minh.................5
Hình 3.2 Ảnh giao diện làm việc........................................................................6
Hình 3.3 Ảnh một số phím chức năng................................................................7
Hình 3.4 Ảnh cổng..............................................................................................7
Hình 3.6 Ảnh thiết kế điều khiển Blynk của mô hình.......................................17
Hình 4.1 Ảnh mô hình (1).................................................................................18
Hình 4.2 Ảnh mô hình (2).................................................................................18

6
CHƯƠNG 3: THIẾT KẾ CHƯƠNG TRÌNH VÀ GIAO DIỆN ĐIỀU KHIỂN
3.1: Thiết kế chương trình điều khiển bằng Arduino.
3.1.1: Arduino là gì?
Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các ứng
dụng điện tử tương tác với nhau hoặc với môi trường được thuận lợi hơn.
Arduino giống như một máy tính nhỏ để người dùng có thể lập trình và thực
hiện các dự án điện tử mà không cần phải có các công cụ chuyên biệt để phục
vụ việc nạp code. Arduino tương tác với thế giới thông qua các cảm biến điện
tử, đèn, và động cơ.
- Arduino gồm:
+ Phần cứng gồm một board mạch mã nguồn mở (thường gọi là vi điều
khiển): có thể lập trình được.
+ Các phần mềm hỗ trợ phát triển tích hợp IDE (Integrated Development
Environment) dùng để soạn thảo, biên dịch code và nạp chương cho board.
3.1.2: Ứng dụng của Arduino trong đời sống.
+ Làm Robot. Arduino có khả năng đọc các thiết bị cảm biến, điều khiển
động cơ,… nên nó thường được dùng để làm bộ xử lý trung tâm của rất nhiều
loại robot.

Hình 3.1 Ảnh Arduino áp dụng trong mô hình ngôi nhà thông minh.

+ Game tương tác: Arduino có thể được sử dụng để tương tác với Joystick,
màn hình,… khi chơi các game như Tetrix, phá gach, Mario…

7
+ Máy bay không người lái.
+ Điều khiển đèn tín hiệu giao thông, làm hiệu ứng đèn Led nhấp nháy trên
các biển quảng cáo…
+Điều khiển các thiết bị cảm biến ánh sáng, âm thanh.
+Làm máy in 3D.
+ Làm đàn bằng ánh sáng.
+ Làm lò nướng bánh biết tweet để báo cho bạn khi bánh chín.
+ Arduino còn rất nhiều ứng dụng hữu ích khác tùy vào sự sáng tạo của người
dùng.
3.1.3: Phần mềm Arduino IDE là gì?
Arduino IDE là gì? Arduino IDE được viết tắt (Arduino Integrated
Development Environment) là một trình soạn thảo văn bản, giúp bạn viết code
để nạp vào bo mạch Arduino.

Hình 3.2 Ảnh giao diện làm việc.


3.1.4: Shetch là gì?
Là một chương trình viết bởi Arduino IDE được gọi là sketch, sketch được
lưu dưới định dạng .ino.

8
3.1.5: Làm quen với giao diện Arduino IDE.

Hình 3.3 Ảnh một số phím chức năng.


3.1.6: Cổng Com.
Cổng nối tiếp (Serial port) là một cổng thông dụng trong các máy tính trong
các máy tính truyền thống dùng kết nối các thiết bị ngoại vi với máy tính như:
bàn phím, chuột điều khiển, modem, máy quét…Cổng nối tiếp còn có tên gọi
khác như: Cổng COM, communication.

Hình 3.4 Ảnh cổng


Ngày nay, do tốc độ truyền dữ liệu chậm hơn so với các cổng mới ra đời nên
các cổng nối tiếp đang dần bị loại bỏ trong các chuẩn máy tính hiện nay, chúng
được thay thế bằng các cổng có tốc độ nhanh hơn như: USB, FireWire

9
3.1.7: Serial Monitor.
Serial Monitor là thành phần của Arduino IDE, giúp bo mạch và máy tính có
thể gửi và nhận dữ liệu với nhay qua giao tiếp USB.
Để mở màn hình Serial Monitor, chúng ta chọn Tool > Serial Monitor
3.2: Chương trình điều khiển:
/*
Download latest Blynk library here:
https://github.com/blynkkk/blynk-library/releases/latest

**************************************************************

You must be add the library Servo.h first, this library control the Servo
Servo pin at D7 and D8

******************************************************************
***************

D1 used to set relay "cho ca an"


D2 used to set relay "den suoi"
D3 used to set relay "bom"

************************************************************

App project setup : click here


https://drive.google.com/file/d/1VrmLTMXlTEyS38dML6p5XVYUf9z_zGMK/
view?usp=sharing
if you want my project in Blynk app, click to " Follow Me ".

10
*/
#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Servo.h>

char auth[] = "YhL8N3Gkm4cCXH2yZkEFtiZRYgIAF95k";


char ssid[] = "H 107";
char pass[] = "0985501115";

Servo Servo1, Servo2;


int a, b, c, d;

#define CB_1 D5 // thuc an cho ca


#define CB_2 A0 // bao can nuoc
#define Servo_pin1 D7
#define Servo_pin2 D8

BlynkTimer timer;

WidgetLED LedConnect(V0);
WidgetLED Cho_ca_an(V1);
WidgetLED Cho_ga_an(V2);

11
WidgetLED Den_suoi(V3);
WidgetLED Bom_nuoc(V4);
WidgetLED LedAction(V5);

void blinkLedWidget()
{
Blynk.virtualWrite(V10, a);
Blynk.virtualWrite(V11, b);
Blynk.virtualWrite(V12, c);
Blynk.virtualWrite(V13, d);
if (LedConnect.getValue()) {
LedConnect.off();
} else {
LedConnect.on();
}
}

BLYNK_WRITE(V1)
{
int pinValue = param.asInt();
Blynk.virtualWrite(V1, pinValue);
if ( digitalRead(CB_1) == 0) {
if ( pinValue == 1) {
digitalWrite(D1, HIGH);
Servo1.write(0);

12
write_Ledaction();
}
else {
Servo1.write(45);
digitalWrite(D1, LOW);
write_Ledaction();
delay(900);
Servo1.write(0);
delay(2000);
digitalWrite(D1, HIGH);
a = 1;
delay(1000);
}
}
a = 0;
if (!digitalRead(D1)) {
Cho_ca_an.on();
} else {
Cho_ca_an.off();
}
Blynk.virtualWrite(V1, pinValue);
write_Ledaction();

13
BLYNK_WRITE(V2)
{
int pinValue = param.asInt();
Blynk.virtualWrite(V2, pinValue);
if ( digitalRead(CB_1) == 0) {
if ( pinValue == 1) {
Servo2.write(0);
write_Ledaction();
}
else {
Servo2.write(45);
write_Ledaction();
delay(1900);
Servo2.write(0);
c = 1;
delay(1000);
}
}
else {
Servo2.write(0);
write_Ledaction();
}
c = 0;
if (!c) {
Cho_ga_an.off();

14
} else {
Cho_ga_an.on();
}
write_Ledaction();
}

BLYNK_WRITE(V3)
{
int pinValue = param.asInt();
Blynk.virtualWrite(V3, pinValue);
digitalWrite(D2, pinValue);
if (!digitalRead(D1)) {
Den_suoi.on();
} else {
Den_suoi.off();
}
write_Ledaction();
}
BLYNK_WRITE(V4)
{
if (d) {
Bom_nuoc.on();
}
else {
Bom_nuoc.off();

15
}
}
void write_Ledaction()
{
for (int i = 0; i < 5; i++) {
LedAction.on();
delay(50);
LedAction.off();
delay(50);
}
}
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass, "blynk.iot-cm.com", 8080);
timer.setInterval(1000L, blinkLedWidget);

pinMode(D0, OUTPUT);
pinMode(D1, OUTPUT);
pinMode(D2, OUTPUT);
pinMode(D3, OUTPUT);
pinMode(D5, INPUT);
pinMode(A0, INPUT);
pinMode(D7, OUTPUT);
pinMode(D8, OUTPUT);

16
digitalWrite(D0, HIGH);
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);

Servo1.attach(Servo_pin1);
Servo2.attach(Servo_pin2);

delay(100);
Servo1.write(0);
Servo2.write(0);
}

void loop()
{
Blynk.run();
timer.run();
int data = digitalRead(CB_1);
b = data;
int muc_nuoc = analogRead(CB_2);
/* this command gets value about ( 0-1023) with volt-in about (0-3V3)
the water sensor gets value is volt-out about (0-1.88V)
we must be convert the value of water sensor to (0-X)
data = 1024*1.88/3.3;

17
*/
Serial.println(muc_nuoc);
}
3.3:Thiết kế giao diện điều khiển qua Blynk.
3.3.1. Blynk là gì?
Blynk được thiết kế cho Internet of Things. Nó có thể:điều khiển các thiết bị
phần cứng từ xa, hiển thị dữ liệu cảm biến, lưu trữ dữ liệu và nhiều điều thú vị
khác.
3.3.2. Cách Blynk hoạt đông:
- Có ba thành phần chính trong nền tảng:
+ Blynk App - cho phép tạo giao diện cho sản phẩm của bạn bằng cách kéo
thả các widget khác nhau mà nhà cung cấp đã thiết kế sẵn.
+ Blynk Server - chịu trách nhiệm xử lý dữ liệu trung tâm giữa điện thoại,
máy tính bảng và phần cứng. Bạn có thể sử dụng Blynk Cloud của Blynk
cung cấp hoặc tự tạo máy chủ Blynk riêng của bạn. Vì đây là mã nguồn mở,
nên có thể dễ dàng intergrate vào các thiết bị và thậm chí có thể sử dụng
Raspberry Pi làm server.
+ Library Blynk – support cho hầu hết tất cả các nền tảng phần cứng phổ biến
- cho phép giao tiếp với máy chủ và xử lý tất cả các lệnh đến và đi.
Mỗi khi bạn nhấn một nút trong ứng dụng Blynk, yêu cầu sẽ chuyển đến
server của Blynk, server sẽ kết nối đến phần cứng thông qua library . Tương
tự thiết bị phần cứng sẽ truyền dữ liệu ngược lại đến server.

Hình 3.5 Ảnh mối quan hệ của Blynk.

18
3.3.3.Tính năng, đặc điểm.
+ Cung cấp API & giao diện người dùng tương tự cho tất cả các thiết bị và
phần cứng được hỗ trợ.
+ Kết nối với server bằng cách sử dụng: Wifi, Bluetooth và BLE. Ethernet,
USB (Serial), GSM.
+ Các tiện ích trên giao diện được nhà cung cấp dễ sử dụng.
+ Thao tác kéo thả trực tiếp giao diện mà không cần viết mã.
+Dễ dàng tích hợp và thêm chức năng mới bằng cách sử dụng các cổng kết
nối ảo được tích hợp trên blynk app.
+Theo dõi lịch sử dữ liệu.
+Thông tin liên lạc từ thiết bị đến thiết bị bằng Widget.
+Gửi email, tweet, thông báo realtime, v.v.
+Được cập nhật các tính năng liên tục!

Hình 3.6 Ảnh thiết kế điều khiển Blynk của mô hình.

19
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
4.1: Kết Luận
Với những phần trên đã đáp ứng đày đủ về các yêu cầu của đồ án. Đồ án
“máy cho chím, ca, gà ăn tự động sử dụng công nghệ không quá cao, các vật liệu
phổ biến có thể áp dụng mở rộng mô hình vào thực tế. Qua đồ án trên chúng em
học được rất nhiều kỹ năng như lập trình trên Adruno, thiết kế mạch trên Proteus,
làm mạch đồng đục lỗ, hàn, chọn mua linh kiện, xây dựng mô hình, tìm kiếm tài
liệu.
4.2: Một số ảnh mô hình.

Hình 4.1 Ảnh mô hình (1)

Hình 4.2 Ảnh mô hình (2)

20
4.3:Ưu, nhược và tổng kết ra khi thực hiện mô hình.
4.3.1. Ưu điểm:
- Toàn bộ mô hình đều làm bằng chất liệu rẻ và dễ kiếm.
- Linh kiện sử dụng là linh kiện cơ bản có chi phí thấp nhưng đáp ứng đủ
công nghệ đề bài yêu cầu.
4.3.2. Nhược điểm và những khó khăn.
- Thiết kế cơ khí còn sơ sài.
- Thẩm mỹ sản phẩm không quá ổn.
- Lập trình Blink với esp 8266 vẫn còn mới với chúng em.
- Hệ thống tự động thả thức ăn vẫn sơ sài.
4.4: Hướng phát triển đề tài.
Nhằm hướng tới đề tài trở nên hoàn thiện hơn chúng em nhắm tới nhiều hướng
phát triển thêm cho mô hình như thay đổi cơ cấu truyền tải giúp tối ưu tốt hơn, hệ
thống đèn dc tích hợp thêm cảm biến nhiệt dộ, hệ thống nước có thêm cảm biến
báo cạn trong bể.

21

You might also like