1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo bài tập lớn học phần “internet of things” Đề tài “xây dựng hệ thống cửa tự Động

21 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Hệ Thống Cửa Tự Động
Tác giả Phạm Trung Minh, Đỗ Thành Đạt, Đặng Tuấn Đạt, Nguyễn Ngọc Quang, Phạm Xuân Tùng
Người hướng dẫn GVHD
Trường học Trường Đại Học Hàng Hải Việt Nam
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo bài tập lớn
Năm xuất bản 2024
Thành phố Hải Phòng
Định dạng
Số trang 21
Dung lượng 3,81 MB

Nội dung

Do đó, hệ thống cần cảm biến được người hoặc vật di chuyển qua cửa.Sau đó, hệ thống điều khiên các motor để mở hoặc đóng cho vật thể đi qua.Đồng thời, hiển thị các thông số môi trường n

Trang 1

TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN

Hải Phòng, tháng 08 năm 2024

Trang 2

MỤC LỤC

LỜI NÓI ĐẦU 5

CHƯƠNG I: MÔ TẢ BÀI TOÁN 6

1.1 Xác định yêu cầu cần đạt của hệ thống 6

1.2 Các chức năng của hệ thống 6

1.3 Các module của hệ thống 7

CHƯƠNG II: Xây dựng mô hình hệ thống 7

2.1 System Module 7

2.2 Kịch bản hoạt động 8

CHƯƠNG III: CƠ SỞ LÝ THUYẾT VÀ THÀNH PHẦN 9

3.1 VI ĐIỀU KHIỂN ARDUINO 9

9

3.2 CẢM BIẾN NHIỆT ĐỘ ĐỘ ẨM DHT11 12

12

3.3 MODULE L298N 13

Trang 3

133.4 ESP8266 15

15ESP8266 không chỉ đơn thuần là một vi xử lý thông thường, mà còn là một vi

xử lý tích hợp mạnh mẽ đặc biệt được thiết kế với mục tiêu giải quyết các thách thức về kết nối và truyền thông trong lĩnh vực Internet of Things (IoT)

Trang 4

Được ra đời như một tương lai cho việc kết nối, ESP8266 mang trong mình sức mạnh để biến các thiết bị thông thường thành những phần tử thông minh,

có khả năng tương tác và kết nối với Internet một cách đơn giản và hiệu quả

15

Với khả năng tích hợp chức năng Wi-Fi, ESP8266 trở thành cầu nối thông tin quan trọng giữa thế giới vật lý và không gian kỹ thuật số Nó giúp cho các thiết bị, từ những đèn đơn giản đến các hệ thống phức tạp, có khả năng kết nối và giao tiếp trực tiếp với mạng Internet 15

CHƯƠNG IV : LẬP TRÌNH VÀ KẾT LUẬN 16

4.1 Code : 16

4.2 Kết luận : 16

Trang 5

LỜI NÓI ĐẦU

Trong cuộc cách mạng 4.0, khoa học và công nghệ đang liên tục phát triển với tốc độ nhanh chóng, tạo ra những thay đổi vượt bậc trong lao động

và vận hành sản xuất Trong số đó, Internet of Things là một lĩnh vực công nghệ đang phát triển mạnh mẽ trong thời đại số hiện nay Nó được ứng dụng vào gần như mọi ngành nghề khác nhau trong cuộc sống như thiết bị di động,

xe hơi, thiết bị y tế, thiết bị gia dụng, vv… Internet of Things được sử dụng trong cuộc sống hàng ngày của chúng ta và đóng vai trò quan trọng trong việccải thiện hiệu suất, tiện ích và tiết kiệm năng lượng

Với sự phát triển mạnh mẽ của ngành Internet of Things và tự động hóa trong sản xuất, nhu cầu sự tiện lợi ngày càng trở nên quan trọng Hệ thống cửa tự động sẽ đóng vai trò thiết yếu trong việc đáp ứng nhu cầu này Nó Xácđịnh mức độ hiệu quả của cửa tự động trong việc cải thiện tiện nghi và an ninh cho người sử dụng Đồng thời, cho phép người dùng có thể điều khiển

hệ thống ở mọi nơi mọi lúc và lưu trữ các thông số ,trạng thái

Hệ thống cửa tự động sử dụng công nghệ Internet of Things được kỳ vọng sẽ mang lại nhiều lợi ích thiết thực, góp phần nâng cao đời sống và tự tiện lợi trong cuộc sống cũng như doanh nghiệp

Trang 6

CHƯƠNG I: MÔ TẢ BÀI TOÁN

1.1 Xác định yêu cầu cần đạt của hệ thống

Hệ thống cửa tự động là một hệ thống được thiết kế để giải quyết cácvấn đề như di chuyển cũng như nhận diện người, đồ vật để đảm bảo an toàncũng như sự tiện lợi

Do đó, hệ thống cần cảm biến được người hoặc vật di chuyển qua cửa.Sau đó, hệ thống điều khiên các motor để mở hoặc đóng cho vật thể đi qua.Đồng thời, hiển thị các thông số môi trường ( nhiệt độ, độ ẩm ) và có cơ chếthực hiện các thao tác thủ công

Ngoài ra, hệ thống cửa tự động cần cho phép người dùng có thể điềukhiển hệ thống ở mọi lúc mọi nơi thông qua hệ thống internet theo thời gianthực Tuy nhiên, khi thực hiện sẽ có các sai sót hệ thống cần sử dụng các thiết

bị phức tạp hơn với nhiều tính năng hơn để đảm bảo độ chính xác và hiệusuất

A Hệ Thống Nhúng

 Tự động đóng/mở cửa: hệ thống sử dụng cảm biến để nhận diện vật thể

di chuyển qua cửa từ đó đóng/mở để đưa vật thể ra vào

 Thông báo thông số môi trường: hệ thống sẽ cảm nhật các nhiệt độ, độ

ẩm môi trường để hiện lên trên giao diện

 Điều khiển hệ thống: người dùng có thể điều khiển hệ thống thông quainternet

 Lưu trữ: ghi lại các thông số theo thời gian

B INTERNET OF THINGS

 Arduino có thể kết nối với ESP8266 từ đó trao đổi qua lại dữ liệu chonhau ( Arduino gửi thông số môi trường được nhận từ các sensor choESP – ESP gửi lệnh điều khiển từ Server cho Arduino để thực hiện )

Trang 7

 ESP8266 kết nối wifi

 ESP8266 gửi dữ liệu nhận từ Arduino lên server và nhận lệnh từ servergửi ngược lại

 Module cảm biến : sẽ cảm nhận được chuyển đông, nhiệt độ và độẩm… rồi chuyền dữ liệu về khối điều khiển

 Module màn hình hiển thị: Hiển thị các thông số ở trong cơ sở dữ liệutrên giao diện

CHƯƠNG II: Xây dựng mô hình hệ thống

2.1 System Module

Trang 8

2.2 Kịch bản hoạt động

Hiển thị nhiệt độ, độ ẩm :

Sau khi được cấp nguồn điện, các cảm biến sẽ kiểm tra môi trường xung quanh bằng cảm biến nhiệt độ, độ ẩm và gửi dữ liệu về Arduino Các dữ liệu trạng thái của các module sẽ được đóng gói và gửi từ arduino sang esp qua giao thức UART Esp sau khi nhận được dữ liệu sẽ xử

lý dữ liệu và tiếp tục gửi lên server thông qua internet

Esp gửi lên Firebase( chức năng tương tự server) Sau khi dữ liê ‘u gửi lên Sever thành công sẽ tiến hành lưu dữ liê ‘u vào database cũng như hiển thị

dữ liê ‘u lên giao diê ‘n Web

Đóng/mở cửa :

Khi có vật thể đi đến cửa, cảm biến chuyển động sẽ thông báo về Arduino Arduino sẽ điều khiển motor để di chuyển 2 cánh cổng sang 2 bên Nếu vật cản vẫn còn đứng trong phạm vi cảm biến thì cửa sẽ không đóng Ngược lại, nếu rời khỏi phạm vi thì cửa sẽ tự động đóng lại Đồng thời, sẽ có

2 nút đóng mở thủ công để người dùng có thể đóng , mở bằng tay khi có sự

cố xảy ra

Sử dụng trang web :

Trang web sẽ có 2 nút cho 2 chế độ lad Auto và Manual :

Trang 9

 Chế độ auto: Hiển thị thông số môi trường lên trên để người dùng cóthể xem

 Chế độ manual: Xuất hiện 2 nút đóng mở để người dùng đóng mở cửathông qua việc ấn nút và hệ thống sẽ hoạt động theo

CHƯƠNG III: CƠ SỞ LÝ THUYẾT VÀ THÀNH PHẦN 3.1 VI ĐIỀU KHIỂN ARDUINO

Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các dự

án điện tử Thành phần của Arduino bao gồm mạch điều khiển và phần mềm hoặc IDE (Môi trường phát triển tích hợp) chạy trên máy tính của bạn Nền tảng Arduino trở nên khá phổ biến đối với những người mới bắt đầu Không giống như các bảng mạch điện tử được lập trình trước đó Arduino không cần một mạch chủ riêng để tải mã nguồn vào mạch điều khiển mà người dùng chỉ cần sử dụng dây cáp USB

a Nguồn (USB / Barrel Jack)

Mỗi mạch Arduino đều có cổng kết nối với nguồn điện Cụ thể trên đây

mà mạch Arduino UNO có thể được lấy nguồn từ dây cáp USB từ máy tính của bạn, hoặc một số nguồn DC khác có Jack DC

Trang 10

Chân kết nối USB cũng là chân để bạn có thể tải code lên bo mạch Arduino Lưu ý: Tuyệt đối không được sử dụng nguồn lớn hơn 20V vì với nguồn điện áp này sẽ có thể phá hủy mạch Arduino của bạn Điện áp đượccác nhà sản xuất đề nghị cho hầu hết các bo mạch Arduino là từ 6 – 12V.

b Các chân (5V, 3.3V, GND, Digital, Analog, PWM, ISF)

Các chân trên là nguồn ra mà bạn có thể kết nối dây đầu ra với các tải hoặcmột số mạch kết nối bên ngoài Với các loại Arduino sẽ có thể một số loại chân khác nhau Ở mỗi chân đều được in các nhãn và ký tự để người sử dụng có thể phân biệt được

 GND (3) : Viết tắt của ‘Ground’ là mass Có một số chân GND trênArduino, bất kỳ các chân GND trong số đó có thể được sử dụng đểnối mass mạch của bạn

 5V (4) & 3.3V (5) : Chân 5V cung cấp năng lượng 5 volt và chân3,3V cung cấp 3,3 volt Hầu hết các thành phần đơn giản được sửdụng với Arduino đều hoạt động bình thường ở mức 5 hoặc 3,3 volt

 Analog (6) : Các chân được dán nhãn ‘Analog In’ (A0 đến A5 trênUNO) là các chân Analog In Các chân này có thể đọc tín hiệu từcác cảm biến tương tự (như cảm biến nhiệt độ ) và chuyển đổi nóthành một giá trị Digital mà chúng ta có thể đọc được

 Digital (7): Các chân Digital được dán nhãn từ 0 – 13 trên ArduinoUNO, các chân này có thể được sử dụng cho cả đầu vào digital nếunhư là các nút nhấn và đầu ra digital nếu như cấp nguồn cho LED

 PWM (8): Bạn có thể nhìn thấy những dấu (~) nằm ở bên cạnh cácchân 3, 5, 6, 9, 10 và 11 trên mạch Các chân này đều có chức nănghoạt động như các chân Digital thông thường, nhưng cũng có thể sửdụng để điều chế độ rộng xung PWM Bạn có thể hình dung cácchân này có thể được sử dụng mô phỏng đầu ra tín hiệu Analog

 ISF (9): Được viết tắt của cụm từ Analog Reference, hầu hết chânnày thường không được sử dụng Đôi khi nó được sử dụng để có thểđặt điện áp tham chiếu trong khoảng từ 0 – 5V làm giới hạn cho cácchân đầu vào Analog

c Nút Reset (Reset Button)

Nút reset (10) có nhiệm vụ khởi động lại bất kỳ đoạn code nào được tải trên Arduino Điều này rất hữu ích nếu code của bạn không có vòng lặp nhưng bạn lại muốn kiểm tra chương trình đó nhiều lần

Trang 11

d Đèn LED báo nguồn (Power LED Indicator)

Đèn báo được nắp ngay bên phải của chữ UNO, đó là một đèn LED nhỏ được dán nhãn ON (11)

Đèn báo này có nhiệm vụ báo khi có nguồn cấp vào Arduino Trong một

số trường hợp đèn không sáng thì chắc chắn có vấn đề xảy ra Bạn có thể kiểm tra lại dây cáp USB, nguồn cấp và cả mạch nữa

e LED TX và RX (TX RX LEDs)

TX là LED hiển thị tín hiệu truyền đi và RX là hiển thị tín hiệu nhận về Những tín hiệu này xuất hiện khá nhiều trong các thiết bị điện tử để có thể chỉ ra những chân thực hiện nhiệm vụ truyền tải nối tiếp Trong trường hợp này, có 2 vị trí trên Arduino UNO là TX và RX (12)

Các LED này có nhiệm vụ thông báo cho người dùng bất cứ khi nào Arduino được nhận hoặc truyền dữ liệu đi Ví dụ như tải một chương trìnhlên thì đèn sẽ hiển thị

f IC chủ (Main IC)

IC chủ là vị trí số 13 Đây được coi là bộ não của Arduino IC thường được sử dụng là dòng IC ATmega của công ty ATMEL sản xuất Việc nhận biết được IC chủ cũng là điều rất quan trọng, vì bạn cần biết mạch của bạn đang sử dụng IC nào để bạn có thể nạp chương trình thích hợp từ phần mềm Arduino

Thông tin về tên của IC thường được tìm thấy ở phía mặt trên Nếu bạn muốn tìm hiểu sâu hơn về thông tin của IC bạn có thể đọc thêm tài liệu từ nhà sản xuất

g Bộ điều chỉnh điện áp (Voltage Regulator)

Bộ điều chỉnh điện áp (14), không được sử dụng nhiều Nhiệm vụ của nó

là điều chỉnh điện áp, kiểm soát nguồn điện áp đưa vào mạch Arduino Bạn hãy coi rằng nó giống như một người canh gác, nó sẽ làm biến mất những điện áp phụ có thể gây tổn hại cho các linh kiện trong mạch Nhưng bạn cũng cần phải hết sức chú ý là bộ điều chỉnh điện áp này cũng

có giới hạn của nó Vì vậy, tuyệt đối không nên kết nối mạch Arduino với nguồn điện DC lớn hơn 20V

Trang 12

3.2 CẢM BIẾN NHIỆT ĐỘ ĐỘ ẨM DHT11

DHT11 là một cảm biến kỹ thuật số chi phí thấp để cảm nhận nhiệt độ và

độ ẩm Cảm biến này có thể dễ dàng giao tiếp với bất kỳ bộ điều khiển vi mô nào như Arduino, Raspberry Pi, v.v để đo độ ẩm và nhiệt độ ngay lập tức

a Cấu tạo cảm biến nhiệt độ độ ẩm DHT11

Cảm biến DHT11 bao gồm một phần tử cảm biến độ ẩm điện dung và mộtđiện trở nhiệt để cảm nhận nhiệt độ Tụ điện cảm biến độ ẩm có hai điện cực với chất nền giữ ẩm làm chất điện môi giữa chúng Thay đổi giá trị điện dung xảy ra với sự thay đổi của các mức độ ẩm IC đo, xử lý các giá trị điện trở đã thay đổi này và chuyển chúng thành dạng kỹ thuật số

Để đo nhiệt độ, cảm biến này sử dụng một nhiệt điện trở có hệ số nhiệt độ âm, làm giảm giá trị điện trở của nó khi nhiệt độ tăng Để có đượcgiá trị điện trở lớn hơn ngay cả đối với sự thay đổi nhỏ nhất của nhiệt độ, cảm biến này thường được làm bằng gốm bán dẫn hoặc polymer

Trang 13

tính toán nào So với cảm biến đời mới hơn là DHT22 thì DHT11 cho khoảng đo và độ chính xác kém hơn rất nhiều.

c Thông số kỹ thuật DHT11

 Điện áp hoạt động: 3V - 5V DC

 Dòng điện tiêu thụ: 2.5mA

 Phạm vi cảm biến độ ẩm: 20% - 90% RH, sai số ±5%RH

 Phạm vi cảm biến nhiệt độ: 0°C ~ 50°C, sai số ±2°C

 Tần số lấy mẫu tối đa: 1Hz (1 giây 1 lần)

 Điện áp đầu vào từ 5 – 30V

 Dòng điện tối đa cho mỗi động cơ là 2A

 Điện áp của tín hiệu điều khiển: 5 – 7V

 Dòng của yêu cầu của tín hiệu điều khiển 0 – 36 mA

b Sơ đồ chân module L298

 Chân 12V Power cấp nguồn cho mạch L298 và là nguồn động lựccho động cơ

 Chân 5V Power có thể dùng cấp nguồn cho Arduino, khi có Jumper5V Enable

 Chân GND là chân cấp MASS cho mạch, khi sử dụng khi vi điềukhiển thì cần nối GND mạch với GND của vi điều khiển

 Chân Enable là chân cho phép ngỏ ra động cơ hoạt động hoặc dừng.Mặc định mạch có Jumper A Enable va B Enable như hình là chophép chạy Chân IN1, IN2 điều khiển chiều và tốc độ động cơ 1thông qua ngỏ ra output A

Trang 14

 Chân IN3, IN4 điều khiển chiều và tốc độ động cơ 2 thông qua ngỏ

ra output B

 Chân output A, output B chân ngỏ ra động cơ 1, 2

3.4 ESP8266

ESP8266 là một module Wi-Fi với khả năng kết nối Internet và được

tích hợp sẵn trên một số board nhúng như NodeMCU, Wemos, và ESP-01 ESP8266 có thể hoạt động như một điểm truy cập (access point), một client kết nối đến một điểm truy cập khác, hoặc cả hai đều được Nó được sử dụng rộng rãi trong các ứng dụng IoT (Internet of Things) như cảm biến thông minh, hệ thống kiểm soát thiết bị, hoặc các ứng dụng điều khiển từ xa Module này có giá thành rẻ và rất dễ sử dụng, cùng với đó là khả năng tương thích với nhiều loại vi điều khiển khác nhau

Trang 15

Thông số kỹ thuật của NodeMCU

 Microcontroller: ESP8266EX

 Điện áp hoạt động: 3.3V DC

 Số chân I/O: 17 chân GPIO

 Kết nối mạng: WiFi 802.11 b/g/n

 Giao diện mạng: TCP/IP

 Đồng hồ thời gian thực (RTC): không tích hợp

Trang 16

}

// Kiểm tra trạng thái công tắc giới hạn

// if (digitalRead(SWITCH_OPEN) == HIGH) {

Trang 17

// stopMotor();

// Serial.println("Door is fully open");

// }

// if (digitalRead(SWITCH_CLOSE) == HIGH) { // stopMotor();

// Serial.println("Door is fully closed"); // }

Trang 19

webSocket.setReconnectInterval(5000); // Thời gian chờ trước khi kết nối lại nếu mất kết nối

Trang 20

} else if (command == "closed") {

// Serial.println("Received command: CLOSE"); // Gửi lệnh đóng cửa tới Arduino

Trang 21

 Tìm hiểu các vấn đề liên quan

 Nắm bắt được các linh kiện có trong hệ thống, cách thức hoạtđộng của các linh kiện

 Kết nối thành công cửa tự động với các phần mềm khác nhau(XAMPP, Visual Studio,….)

Ngày đăng: 05/02/2025, 21:47