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

Điều khiển nhà thông minh thông qua bluetooth và điện thoại: Đồ án tốt nghiệp khoa Công nghệ Điện

67 8 0

Đ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 đề Điều Khiển Nhà Thông Minh Thông Qua Bluetooth và Điện Thoại
Tác giả Bùi Ngọc Tuyến
Người hướng dẫn Hà Chí Kiên
Trường học Trường Đại học Công nghiệp Thành phố Hồ Chí Minh
Chuyên ngành Kỹ thuật Điều khiển và Tự động hóa
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2018
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 67
Dung lượng 13,99 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 1.1.3 Thiết bị không người lái..............................- 2-2222 22++2E++2E+z2E+zzxvzxrcrrrere 3 (11)
  • 1.1.4 Điều khiên ánh sáng...............................----2--©222+22EE+2EEESEEErEEErrrrrrrrrrrrred 4 (0)
  • 1.1.6 Điều khiên nhà thông minh.......................... 2-22 22+ 22EE2S£2£E£zE+zEEzzzxzrsere 5 (0)
  • 1.1.7 Phần mềm lập trình cho arduino IIDE...............................---¿- s5 +5s+s++z+sss+2 S (13)
  • 1.2 Tìm hiêu Arduino và các Modult liên quan đến mô hình (16)
    • 1.2.2 Board arduino Mega 2560........................ ¿+ St rret 10 (18)
    • 1.2.3 Modult Bluetooth HC-O6............................ -- c6 Sc Sx*s*v#*vevxrreerrrrrerverke 12 (20)
    • 1.2.4 Modult cảm biến khí GAS \MQ-02...................... 5-5252 SE£EE+EEzEvzErzxrrsez 14 (22)
    • 1.2.5 Modult cảm biến nhiệt độ, độ âm DTH-I l...........................2 2s s2s+s22z2: 17 (25)
    • 1.2.6 Động cơ servo SG-90........................... --- -c- ccn nh xnv 2xx ng nh ưưyc 19 (27)
  • 1.3 Các giao tiếp khác..........................-----¿- 2++22+222x22322112711221127112211 2211271121111. re. 25 (33)
    • 1.3.1 Giao tiếp i2c giữa 2 arduino...........................----¿-2¿222+c22xzecxxrerxrrrrxrrrrrerrred 25 (33)
    • 1.3.2 Xuất dữ liệu từ arduino sang excel............................----2-2+22++czxezzxxecrxrcre 26 Phân 2: Lập trình ứng dụng giao diện trên android với Ai2 Mitapp Inventor (0)

Nội dung

ĐẠI HỌC CÔNG NGHIỆP TP HCM KHOA CÔNG NGHỆ ĐIỆN BẢO CÁO TÓT NGHIỆP ĐIÊU KHIÈN NHÀ THÔNG MINH THÔNG QUA BLUETOOTH VÀ ĐIỆN THOẠI SINHVIÊN BÙI NGỌC TUYỂN MSSV 14074291 LỚP DHDKTDI0C GVHD HÀ CHÍ KIÊN TP HC.

Thiết bị không người lái - 2-2222 22++2E++2E+z2E+zzxvzxrcrrrere 3

Do kích thước nhỏ gọn và khả năng xử lý mạnh mẻ, Arduino được chọn làm bộ xử lý trung tâm của rât nhiêu loại robot, đặc biệt là robot di động

Hình 1.4 Thiết bị máy bay không người lái

Các tác vụ điều khiên đơn giản như đóng ngắt đèn LED hay phức tạp như điêu khiên ánh sáng theo nhạc hoặc tương tác với ánh sáng laser đêu có thê thực hiện với Arduino

Hình I.ŠS Thiệt bị điêu khiên ánh sáng nên dựa vào màu sắc màn hình tIv1

Việc đọc cảm biến và tương tác với PC bằng Arduino rất đơn giản, nhờ đó Arduino trở thành nền tảng phổ biến cho các dự án game và ứng dụng tương tác Do đó, có nhiều trò chơi và ứng dụng game tương tác được phát triển với Arduino để nhận input từ cảm biến, nút bấm và các thiết bị điều khiển khác, kết nối với máy tính Khả năng giao tiếp linh hoạt của Arduino cho phép tích hợp cảm biến, điều khiển và phần mềm game một cách đồng bộ, mang lại trải nghiệm người dùng sống động và phản hồi thời gian thực.

Hình 1.6 Thiết bị tay chơi game điều khiên băng arduino

1.1.6 Điều khiển nhà thông minh

Việc kết hợp các module chức năng Bluetooth hoặc Wi‑Fi với các ứng dụng cài đặt trên máy tính bảng, smartphone hoặc trình duyệt web cho phép người dùng thiết kế hệ thống điều khiển và giám sát thông minh cho các thiết bị điện trong ngôi nhà của mình Hệ thống có thể vận hành khi ở trong nhà hoặc từ bất cứ nơi đâu có kết nối Internet, giúp quản lý trạng thái thiết bị từ xa và tối ưu hóa hiệu quả sử dụng năng lượng.

Hình 1.7 Điêu khiên nhà thông minh băng smartphone

1.1.7 Phần mềm lập trình cho arduino IDE

Để cài đặt Arduino IDE, hãy vào trang chủ Arduino tại https://www.arduino.cc/ và chọn mục Software Trang này lưu trữ và cập nhật các phiên bản IDE của Arduino, và phiên bản mới nhất hiện có sẽ được đề xuất để tải xuống Để tiến hành cài đặt, bạn chọn Windows Installer và thực hiện tải xuống và cài đặt.

Bạn có thể cài đặt Arduino IDE phù hợp với hệ điều hành của máy Đối với Windows, có hai tùy chọn tải về: bản cài đặt exe và bản ZIP Với bản ZIP, chỉ cần giải nén và chạy chương trình mà không cần cài đặt Sau khi cài đặt hoặc giải nén xong, giao diện Arduino IDE sẽ hiển thị các thanh công cụ và các mục như Tools, cho phép bạn chọn board và cổng kết nối để bắt đầu lập trình.

Hình I.§ Giao diện làm việc phân mềm

Cài đặt Driver Bước 1: Căm cáp kết nối với máy tính Bước 2: tìm công kết nối của arduino uno R3 với máy tính

To find which serial port your Arduino Uno R3 is connected to, open the Run dialog, type devmgmt.msc, and press Enter The Device Manager window will appear Expand the Ports (COM & LPT) section to reveal the COM port assigned to your Arduino Uno R3 This COM port is what you select in your IDE or serial monitor to establish the connection with the board.

Bước 3: khởi động Arduino IDE Bước 4: Cài đặt cầu hình làm việc cho arduino ide Vào menu Tools -> Board -> chọn Arduino no ® sketch_oct08a | Arduino 1 — L] <

“=*~—hía sau tên chươi Auto Format Ctrl+T sl¿etc?_att0Ba § Archive Sketch ọvoid setur Fix Encoding & Reload // put yd Serial Monitor Ctrl+Shift+M

Hình 1.9 Chọn công com của arduino

# sketchaprl0b|Ardunol0os — = #fW tile Edit Sketch Tools| Help

Auto Format Ctrl+T HB Archive Sketch

Fix Encoding & Reload ˆ Serial Monitor Ctrl+Shift+M

Board › Attiny13 @ 128 KHz (Internal watchdog oscillator) Serial Port ' ATtiny13 @ 4.8MHz (intemai 4.8 MHz clock)

ATuiny13 @ 9.6MH¿ (Internal 9.6 MHz clock) Proqrammer i*j Arduina Lna Ardulno no w/ Alrnega8A Arduina Nano w/ ATmeqga328 Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATrrtega328 Bưurn Bootloader

Hình 1.10 Công cụ tools trên phần mềm

Để kết nối Arduino với máy tính, vào Tools và chọn Serial Port để chọn đúng Arduino đang kết nối Tiếp tục vào Tools -> Programmer và chọn AVR ISP làm công cụ nạp chương trình Đến đây quá trình kết nối giữa board Arduino và máy tính đã hoàn tất, và bạn có thể bắt đầu lập trình cho board Arduino của mình.

1.2 Tìm hiêu Arduino và các Modult liên quan đên mô hình

TN TTALY uaS h DIGTTAL (PMM~) È

Các thông sô của bo:

Vi điều khiển Điện áp hoạt động Tần số hoạt động

Dòng tiêu thụ Điện áp vào khuyên dùng Điện áp vào giới han

Dòng tối đa trên mỗi chân J/O

Dòng ra tối đa (5V) Dòng ra tối đa (3.3V)

ATmega328 họ 8bit 5V DC (chỉ được cấp qua cổng US8)

32 KB (ATmega328) với 0.5KB dùng bởi bootloader

Arduino UNO có thể hoạt động với 3 vi điều khiển thuộc họ AVR là ATmega8, ATmega16 và ATmega328 Những vi điều khiển này đóng vai trò như bộ não của các dự án, xử lý các tác vụ cơ bản như điều khiển đèn LED nhấp nháy, xử lý tín hiệu cho xe điều khiển từ xa, và thậm chí xây dựng trạm đo nhiệt độ và độ ẩm để hiển thị kết quả lên màn hình LCD.

GND (Ground) là cực âm của nguồn cấp cho Arduino UNO Khi bạn dùng các thiết bị có nguồn riêng, các chân GND phải được nối với nhau để thiết lập tham chiếu điện áp chung và đảm bảo hoạt động ổn định của toàn bộ hệ thống Arduino.

+ §V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA

+ 3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA

+ Vin (Voltage Input): đề cập nguồn ngoài cho Arduino NO, bạn nối cực đương của nguôn với chân này và cực âm của nguồn với chân GND

+ IOREE: điện áp hoạt động của vi điều khiên trên Arduino ƯNO có thê được đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V từ chân này đê sử dụng bởi chức năng của nó không phải là cấp nguồn

+ RESET: việc nhấn nút Resetf trên board đê reset vi điều khiên tương đương với việc chân RESET được nôi với GND qua 1 điện trở I0KO

Bộ nhớ: 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiên Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu

SRAM 2KB lưu giá trị của các biến bạn khai báo trong quá trình lập trình, vì vậy số biến được khai báo càng nhiều thì nhu cầu bộ nhớ RAM càng lớn Tuy nhiên, RAM thường không phải là yếu tố phải lo lắng quá nhiều trong nhiều trường hợp Dữ liệu trên SRAM sẽ bị mất khi nguồn điện bị ngắt, nên SRAM chỉ dùng để lưu trữ dữ liệu tạm thời.

EEPROM (Electrically Erasable Programmable Read-Only Memory) là một loại bộ nhớ phi volatile có thể đọc và ghi dữ liệu, và có thể xóa/ghi lại bằng điện từ nhiều lần Nó giống như một ô cứng mini cho phép lưu trữ cấu hình, tham số và dữ liệu quan trọng mà cần được giữ sau khi nguồn bị ngắt Dữ liệu trên EEPROM được duy trì ngay cả khi nguồn bị ngắt, khác với RAM như SRAM vốn mất dữ liệu khi cúp nguồn Nhờ khả năng đọc/ghi từng byte hoặc theo trang, EEPROM là lựa chọn phổ biến để lưu trữ dữ liệu cấu hình trong các dự án vi điều khiển và thiết bị nhúng, giúp cập nhật và tối ưu hóa ứng dụng mà yêu cầu lưu trữ bền bỉ và có thể tái lập trình.

- Các công vào ra của bo:

Hai chân Serial RX và TX trên Arduino Uno dùng để gửi (TX) và nhận (RX) dữ liệu TTL Serial, cho phép Arduino giao tiếp với các thiết bị ngoài thông qua giao tiếp serial Kết nối Bluetooth thường được coi là một dạng kết nối Serial không dây, tận dụng hai chân RX/TX để truyền nhận dữ liệu tương tự như Serial có dây Nếu bạn không cần giao tiếp Serial, bạn không nên sử dụng hai chân này trừ khi thật sự cần thiết để tránh ảnh hưởng tới các dự án khác.

Phần mềm lập trình cho arduino IIDE . -¿- s5 +5s+s++z+sss+2 S

Để cài đặt Arduino IDE, vào trang chủ Arduino tại https://www.arduino.cc/, chọn mục Software để truy cập kho lưu trữ và cập nhật các phiên bản IDE Phiên bản mới nhất hiện tại là Arduino IDE 1.8.3 Tiếp theo, chọn Windows Installer để tải xuống và tiến hành cài đặt trên máy tính Windows.

Để làm việc với Arduino, tải xuống Arduino IDE tương ứng với hệ điều hành của máy tính bạn; đối với Windows có hai lựa chọn là bản cài đặt (.exe) và bản ZIP Nếu bạn chọn bản ZIP, chỉ cần giải nén và chạy chương trình mà không cần cài đặt; nếu chọn bản EXE, quá trình cài đặt sẽ tự động thiết lập các mục mặc định Sau khi hoàn tất cài đặt hoặc giải nén, giao diện Arduino IDE sẽ hiện ra với các thanh công cụ và menu Tools để chọn board và cổng (Port), giúp bạn nạp mã lên bo mạch một cách dễ dàng Đảm bảo chọn đúng loại board và cổng kết nối để giao tiếp với vi điều khiển của bạn, từ đó tối ưu hóa hiệu suất lập trình và dự án của bạn.

Hình I.§ Giao diện làm việc phân mềm

Cài đặt Driver Bước 1: Căm cáp kết nối với máy tính Bước 2: tìm công kết nối của arduino uno R3 với máy tính

Open the Run dialog, type devmgmt.msc, and press Enter The Device Manager window opens; expand Ports (COM & LPT) to view the COM port that the Arduino R3 board is currently connected to.

Bước 3: khởi động Arduino IDE Bước 4: Cài đặt cầu hình làm việc cho arduino ide Vào menu Tools -> Board -> chọn Arduino no ® sketch_oct08a | Arduino 1 — L] <

“=*~—hía sau tên chươi Auto Format Ctrl+T sl¿etc?_att0Ba § Archive Sketch ọvoid setur Fix Encoding & Reload // put yd Serial Monitor Ctrl+Shift+M

Hình 1.9 Chọn công com của arduino

# sketchaprl0b|Ardunol0os — = #fW tile Edit Sketch Tools| Help

Auto Format Ctrl+T HB Archive Sketch

Fix Encoding & Reload ˆ Serial Monitor Ctrl+Shift+M

Board › Attiny13 @ 128 KHz (Internal watchdog oscillator) Serial Port ' ATtiny13 @ 4.8MHz (intemai 4.8 MHz clock)

ATuiny13 @ 9.6MH¿ (Internal 9.6 MHz clock) Proqrammer i*j Arduina Lna Ardulno no w/ Alrnega8A Arduina Nano w/ ATmeqga328 Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATrrtega328 Bưurn Bootloader

Hình 1.10 Công cụ tools trên phần mềm

Để kết nối Arduino với máy tính, vào Tools → Serial Port và chọn cổng Serial của board Arduino đang kết nối; sau đó vào Tools → Programmer và chọn AVR ISP làm công cụ lập trình Khi hai bước này được thiết lập, quá trình kết nối giữa Arduino và máy tính đã hoàn tất và bạn có thể bắt đầu lập trình board Arduino của mình.

Tìm hiêu Arduino và các Modult liên quan đến mô hình

Board arduino Mega 2560 ¿+ St rret 10

Arduino Mega2560 là một vi điều khiên băng cách sử dụng ATmega2560

Thành phần gồm: ô 54 chõn digifal (15 cú thờ được sử dụng như cỏc chõn PWM) ô l6đõuvàoanalog =-

5 - 4UARTs (công nôi tiêp phân cứng), ô 1 thạch anh 16 MHz, ô l cụng kờt nụi USB, ô 1 Jack căm điện, ô- lIđõu]CSP, ô l nỳtreseft

Sơ đồ cỏc linh kiện của Arduino meứa

Hình 1.13 Sơ đồ của arduino mega 2560

Arduino Mega2560 khác biệt với các vi xử lý trước đây ở chỗ không dùng chip FTDI để điều khiển tín hiệu USB Thay vào đó, board sử dụng một bộ chuyển đổi USB‑to‑serial tích hợp, thường là ATmega16U2, để biến tín hiệu USB thành dữ liệu serial gửi tới vi xử lý chính ATmega2560 Cơ chế này giúp việc kết nối máy tính qua USB ổn định và tương thích với IDE Arduino, đồng thời giảm chi phí và kích thước của bảng mạch.

ATmegal6U2 lập trình như là một công cụ chuyên đôi tín hiệu từ USB Ngoài ra

Arduino Mega2560 cơ bản vẫn giống Arduino Uno R3 ở lõi vi điều khiển và cách lập trình bằng Arduino IDE Tuy nhiên Mega2560 có số lượng chân I/O nhiều hơn và tích hợp nhiều tính năng mạnh mẽ hơn, cho phép triển khai các dự án đòi hỏi nhiều ngõ vào/ra và điều khiển phức tạp Vì vậy bạn vẫn có thể lập trình cho vi điều khiển này bằng môi trường phát triển Arduino IDE quen thuộc với Uno R3, chỉ cần chọn board Mega2560 và cấu hình phù hợp Với Mega2560, người dùng có thêm tài nguyên để mở rộng dự án với nhiều cảm biến, servo, motor và các kết nối giao tiếp như UART, SPI, I2C.

Modult Bluetooth HC-O6 c6 Sc Sx*s*v#*vevxrreerrrrrerverke 12

Module Bluetooth từ lâu đã được coi là lựa chọn hiệu quả cho việc phát triển các dự án điều khiển từ xa và giao tiếp không dây Trong số các module, HC-06 nổi bật nhờ khả năng giao tiếp serial (Tx-Rx), cho phép truyền nhận dữ liệu nhanh chóng và dễ tích hợp với các vi xử lý hoặc nền tảng như Arduino Với chi phí thấp, thiết kế đơn giản và tiêu thụ năng lượng hợp lý, HC-06 phù hợp cho ứng dụng IoT, điều khiển từ xa và các hệ thống cần kết nối Bluetooth ổn định.

Module giao tiếp với Arduino qua giao tiếp serial nhận lệnh từ các thiết bị như smartphone hoặc laptop và truyền các lệnh xuống ở dạng ký tự, giúp quá trình nhận và xử lý lệnh từ module trở nên rất đơn giản Ngược lại, khi Arduino gửi lệnh cho module bằng serial, module sẽ quét và đọc toàn bộ các ký tự được in trên dòng serial một lần, đảm bảo quá trình giao tiếp hai chiều giữa Arduino và thiết bị ngoại vi diễn ra nhanh chóng và tin cậy Những đặc điểm này tăng hiệu suất điều khiển và thu thập dữ liệu từ xa, phù hợp cho các ứng dụng nhúng đòi hỏi trao đổi dữ liệu liên tục giữa Arduino và thiết bị đầu cuối.

Công việc của người lập trình là xử lí các chuỗi kí tự đê thực hiện các lệnh theo ý muốn

Khi kết nối một module dùng giao tiếp RS-232 với Arduino để truyền nhận dữ liệu, quá trình nạp code có thể gặp sự cố do Arduino và máy tính đều dùng giao tiếp RS-232 Đối với các board Arduino chỉ có một cặp TX‑RX, cần rời hai chân TX và RX ra khỏi mạch khi nạp code để tránh xung đột tín hiệu giữa module RS-232 và cổng serial trên Arduino Sau khi lập trình xong, bạn có thể kết nối lại để Arduino tiếp tục giao tiếp dữ liệu với máy tính hoặc thiết bị qua RS-232.

+ Điện áp hoạt động: 3.3 ~ SVDC

+ Điện áp giao tiêp: TTL tương thích 3.3VDC và SVDC

Baudrate UARTT có thê chọn được: 1200 2400, 4800, 9600 19200, 38400,

57600 115200 + Dâi tân sóng hoạt động: Bluetooth 2.4GHz

+ Sử dụng CSR mainstream bluetooth chip, bluetooth V2.0 protocol standards

+ Dòng điện khi hoạt động: khi Pairing 30 mA, sau khi pairing hoạt động truyền nhận bình thường § mA

+ Kích thước của module chính: 2§ mm x 1Š mm x 2.35 mm

Sơ đồ kêt nôi đên arduino:

Code điều khiển 1 thiết bị thông qua điện thoại: Khi nhấn nút bật trên điện thoại, Arduino bật thiết bị; khi nhấn tắt, đèn báo trên Arduino tắt Biến dữ liệu nhận từ module HC-06 được khai báo (ví dụ: char state) Trong hàm setup(), thiết lập chân ra bằng cách pinMode(9, OUTPUT) để điều khiển chân số 9 Thiết lập kết nối Bluetooth ở tốc độ 9600 bằng Serial.begin(9600) Trong vòng lặp loop(), mã nhận dữ liệu từ HC-06 và cập nhật trạng thái để điều khiển thiết bị theo yêu cầu.

10.// Đọc giả trị nhận được từ bluetooth  state = Serial.read():

15 Serial.println(state): /In ra màn hình giá trị nhận được 16.TIf (state = L){

17 digitalWrite(9, HIGH): / Cho tín hiệu ở chân 9 mức cao

20 digitalWrite(9, LOW); / Cho tín hiệu chân 9 mức thấp 21.}

Việc điều khiên Các thiết bị đơn giản hơn nhờ việc đọc các chuỗi kí tự được gửi từ modult bluetooth xuống

Modult cảm biến khí GAS \MQ-02 5-5252 SE£EE+EEzEvzErzxrrsez 14

Cảm biến khớ ứa MQ2 là một trong những loại cảm biến được sử dụng đờ nhận biết:

Trong hệ thống cảm biến khí, các chất được liệt kê gồm LPG, i-butan, propane, methane, alcohol và hydrogen, cùng với khả năng phát hiện Smoke và khí ga Thiết bị được thiết kế với độ nhạy cao và thời gian đáp ứng nhanh, giúp nhận diện sớm các khí dễ cháy và có hại Giá trị đo được từ cảm biến sẽ được đọc về từ chân Analog của vi điều khiển để xử lý và phát cảnh báo kịp thời, từ đó nâng cao an toàn cho người dùng và hệ thống vận hành.

Hình 1.15 Cảm biến khí gas mq-02

- Phạm vi phát hiện: 300 10000ppmm

- Đặc điềm của khí: 1000ppmm ¡sobutan

- Độ nhạy sỏng: R in air/Rin typical ứas>Š

- Cam kháng: IKO to 20KO / S0ppm

- Dòng tiêu thụ khi nóng: < 1S0mA

- Năng lượng khi nóng : < 900mẮW

- Điện áp đo: < 24V Điều kiện làm việc:

+ Hàm lượng oxy môi trường: 21%

+ Nhiệt độ: -20 °C ~ 70 °C + Độ âm: < 70% RH xe w~ R3 1K Cu ằ ˆ?

0k# s|

Ngày đăng: 08/08/2022, 23:37

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w