Đồ án điều khiển thiết bị bằng giọng nói arduino,app điều khiển bằng điện thoại android, dễ sử dụng Đồ án ĐIỀU KHIỂN THIẾT BỊ BẰNG GIỌNG NÓI cho mọi người hiểu rõ hơn về ứng dụng nhận dạng, xử lí giọng nói sẵn có của Google, được sử dụng trong việc điều khiển thiết bị của mình. Đồ án sử dụng Arduino Nano, sử dụng chip Atmega328P để điều khiển xử lí tín hiệu . Đề tài được ứng dụng để điều khiển các thiết bị điện dân dụng phục vụ cuộc sống hàng ngày như quạt, đèn ,khóa mở cửa, bơm nước… Điện thoại di động hiện nay đang được sử dụng rộng rãi, nên việc tận dụng thiết bị này trong việc điều khiển thiết bị cũng góp phần vào việc khai thác thêm giá trị sử dụng của điện thoại di động trong đời sống hàng ngày, cụ thể là trong việc điều khiển thiết bị điện gia đình.
Trang 1Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
Khoa Điện-Điện Tử
Bộ Môn Tự Động Điều Khiển
Đồ Án Vi Xử Lí
Đề Tài Điều Khiển Thiết Bị Bằng Giọng Nói
SVTH: Nguyễn Khánh Dương 14151023
Sỳ Quốc Bình 14151009 GVHD: Trương Đình Nhơn
TP.HCM, tháng 06 năm 2017
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Giáo viên hướng dẫn: TS Trương Đình Nhơn
Họ và tên sinh viên: Nguyễn Khánh Dương MSSV: 14151023
Lớp: 141511B
Ngành: Công Nghệ Kỹ Thuật Điều Khiển và Tự Động Hóa
Tên đề tài: Điều Khiển Thiết Bị Bằng Giọng Nói Thông Qua Bluetooth
Nhận xét của giáo viên hướng dẫn:
TP.HCM, tháng 06 năm 2017
TS Trương Đình Nhơn
Trang 3Mục Lục Chương 1: Cơ Sở Lý Thuyết
1.NGUYÊN LÝ HOẠT ĐỘNG……… 3
2.CẤU TRÚC MẠCH……… 3
GIỚI THIỆU GOOGLE VOICE……… 4
Chương 2 : THIẾT KẾ MẠCH VÀ APP ĐIỀU KHIỂN………… 5
1 THIẾT KẾ MẠCH……… 5
1.1 a) Giới thiệu board Arduino Nano ……… 6
b) Giới thiệu module Bluetooth HC-05……… 8
c) Giới thiệu module relay 4 kênh………
12 d) Các thiết bị sử dụng……….
15 1.2 Sơ đồ kết nối mạch………
16 Kết nối HC-05 với Arduino………
16 Kết nối Module relay với các thiết bị………
16 Sơ đồ toàn mạch………
17 2 Giới thiệu MIT App Inventor và lập trình 2.1 Giới thiệu MIT App Inventor………
18 Hướng dẫn truy cập sử dụng……… 19
2.2 Thiết kế giao diện và lập trình app……… 20 Chương 3: Kết Quả và Ứng Dụng
Trang 43.1 Mô Hình Thực tế……… 22 Tổng Kết……… 23
Tài liệu tham khảo……… 24
Phụ Lục……… 25
Trang 5LỜI NÓI ĐẦU
Khoảng thời gian từ năm 2001 đến nay là khoảng thời gian mà các công ty,doanh nghiệp trong và ngoài nước áp dụng nhiều tiến bộ khoa học- kĩ thuật vào cácngành công nghiệp chủ chốt của Việt Nam, các dây chuyền công nghệ mới lần lượt
ra đời nhằm đơn giản hóa quá trình sản xuất, máy móc hiện đại đã bắt đầu thay thếcon người chúng ta Hàng loạt các sản phẩm tự động hóa tiên tiến được phát minh
và bán rộng rãi trên thị trường như: robot hút bụi trên sàn phẳng do Nhật sản xuất,máy giặt đa năng, máy rửa chén tự động, thiết bị giám sát nhà qua Internet, …Đối với nước ngoài thì việc nghiên cứu và ứng dụng giọng nói trong việc chếtạo để ứng dụng vào đời sống và sản xuất chỉ mới mở ra trong vài năm gần đây.Như ở Mỹ đã được ứng dụng để điều khiển robotcam trong Y Khoa Riêng ở nước
ta thì lĩnh vực này còn khá mới mẻ, do đó chúng ta cần có sự đầu tư nghiên cứu đểtheo kịp công nghệ mới này, phục vụ cho việc giảng dạy tại trường nhằm giúp sinhviên hiểu rõ hơn về lý thuyết, tạo điều kiện cho sinh viên có những ý tưởng mớitrên những nền tảng đã có sẵn
Đồ án ĐIỀU KHIỂN THIẾT BỊ BẰNG GIỌNG NÓI cho mọi người hiểu rõhơn về ứng dụng nhận dạng, xử lí giọng nói sẵn có của Google, được sử dụngtrong việc điều khiển thiết bị của mình Đồ án sử dụng Arduino Nano, sử dụngchip Atmega328P để điều khiển xử lí tín hiệu
Đề tài được ứng dụng để điều khiển các thiết bị điện dân dụng phục vụ cuộcsống hàng ngày như quạt, đèn ,khóa mở cửa, bơm nước… Điện thoại di động hiệnnay đang được sử dụng rộng rãi, nên việc tận dụng thiết bị này trong việc điềukhiển thiết bị cũng góp phần vào việc khai thác thêm giá trị sử dụng của điện thoại
di động trong đời sống hàng ngày, cụ thể là trong việc điều khiển thiết bị điện giađình
Trang 6Chương 1: Cơ Sở Lý Thuyết
1 Nguyên lí hoạt động:
Ta kết nối Bluetooth giữa smartphone với module Bluetooth HC-05thông qua app điều khiển được viết trên android
Sau khi kết nối thành công thì khi ta nhấn vào hình máy ghi âm trên app
và nói thì thông qua google voice (cần có 3G hoặc Wifi) sẽ nhận diện đượcgiọng nói của mình và sẽ lấy dữ liệu chữ đó gửi đến bluetooth HC-05 thôngqua sự kết nối bluetooth giữa HC05 và điện thoại, sau đó từ HC-05 truyền
dữ liệu đó vào board arduino Nano
Khi đã nhận đúng dữ liệu thì arduino sẽ xử lí lệnh, và gửi tín hiệu ra cácchân out đến các chân kích của Rơ-le và kích cho Rơ-le đóng ngắt thiết bịtheo ý muốn
Trang 7Giới thiệu về Google Voice
Google Voice là một dịch vụ điện thoại cung cấp chuyển tiếp cuộc gọi và
thư thoại dịch vụ, thoại và tin nhắn văn bản, cũng như dịch vụ của Mỹ và kết thúc cuộc gọi quốc tế cho khách hàng tài khoản Google Dịch vụ này đã được đưa ra bởi Google vào ngày 11 tháng 3 năm 2009, sau khi công ty đã mua lại dịch vụ GrandCentral Google Voice cung cấp số điện thoại của Hoa Kỳ, được lựa chọn bởi người sử dụng từ các số có sẵn trong mã vùng chọn, miễn phí cho mỗi tài khoản người dùng Các cuộc gọi đến số này được chuyển tiếp đến các
số điện thoại mà mỗi người dùng phải cấu hình trong cổng web tài khoản Nhiều khu thể được chỉ định nhẫn mà đồng thời cho các cuộc gọi đến Cơ sở dịch vụ đòi hỏi một số điện thoại Hoa Kỳ Một người sử dụng có thể trả lời và nhận cuộc gọi trên bất kỳ điện thoại đổ chuông như cấu hình trong các cổng thông tin web Trong một cuộc gọi nhận được người sử dụng có thể chuyển đổigiữa các máy điện thoại cấu hình Người sử dụng ở Hoa Kỳ có thể đặt cuộc gọi đi đến các điểm đến trong nước và quốc tế Các cuộc gọi có thể được bắt đầu từ bất kỳ máy điện thoại cấu hình, cũng như từ một ứng dụng thiết bị di động, hoặc từ cổng thông tin tài khoản Vào tháng Tám năm 2011, người sử dụng tại nhiều quốc gia khác cũng có thể đặt các cuộc gọi đi từ các ứng dụng dựa trên web đến các số điện thoại trong nước và quốc tế Nhiều dịch vụ như Google Voice khác như thư thoại, tin nhắn văn bản miễn phí, lịch sử cuộc gọi, cuộc gọi hội nghị, tra cuộc gọi, chặn cuộc gọi không mong muốn, và phiên âm bằng giọng nói thành văn bản của thư thoại cũng tin có sẵn để người dân Mỹ Trong điều kiện của tích hợp sản phẩm, phiên âm và thư thoại âm thanh, bỏ qua thông báo cuộc gọi, hoặc tin nhắn văn bản tùy chọn có thể được chuyển vào một tài khoản email của sự lựa chọn của người dùng Ngoài ra, tin nhắn văn bản có thể được gửi và nhận qua email quen thuộc hoặc giao diện IM bằng cách đọc và viết tin nhắn văn bản trong Gmail hoặc bằng cách thêm số điện thoại liên lạc trong Google Talk tương ứng (PC-to-Phone texting) Google Voice đa chiều hội nghị truyền hình (với sự hỗ trợ cho việc chia sẻ tài liệu) hiện nay được tích hợp với Google+ Hangouts Dịch vụ này được cấu hình và duy trì bởi người sử dụng trong một ứng dụng dựa trên web, theo kiểu sau khi dịch vụ e-mail của Google, Gmail, hoặc với Android và iOS ứng dụng trên điện thoại thông minh hoặc máy tính bảng
Trang 8Chương 2: Thiết kế Mạch và App điều khiển
1 Thiết kế mạch
1.1 Các phần cứng và module được sử dụng
a Board mạch Arduino Nano
Lịch sử ra đời của Arduino
Arduino ra đời tại thị trấn Ivrea, nước Ý và được đặt theo tên một vị vua
vào thế kỷ thứ 9 là King Arduin Nó chính thức được đưa ra giới thiệu vào năm
2005 như là một công cụ cho sinh viên học tập của giáo sư Massimo Banzi, một trong những người phát triển Arduino tại trường Interaction Design Instistute Ivrea (IDII) Dù hầu như không có một sự tiếp thị hay quảng cáo nào nhưng tin tức về Arduino vẫn lan truyền với tốc độ chóng mặt nhờ vô vàn lời truyền miệng tốt đẹp của những người dùng đầu tiên Hiện nay Arduino nổi tiếng trên toàn thế giới đến nỗi có người đã tìm đến thị trấn Ivrea chỉ để tham quan nơi đã sản sinh ra nền tảng thú vị này.
Một hệ thống Arduino có thể cung cấp cho bạn rất nhiều sự tương tác với môi trường xung quanh với:
Hệ thống cảm biến đa dạng về chủng loại (đo đạc nhiệt độ, độ ẩm, gia tốc, vận tốc, cường độ ánh sáng, màu sắc vật thể, lưu lượng nước, phát hiện chuyển động, phát hiện kim loại, khí độc,…),…
Các thiết bị hiển thị (màn hình LCD, đèn LED,…).
Các module chức năng (shield) hỗ trợ kêt nối có dây với các thiết bị khác hoặc các kết nối không dây thông dụng (3G, GPRS, Wifi, Bluetooth, 315/433Mhz, 2.4Ghz,…), …
Định vị GPS, nhắn tin SMS,…
Các dòng Arduino có trên thị trường
Trang 9Giới thiệu về Arduino Nano:
Vì sao chọn Arduino Nano ? Arduino Nano có kích thước nhỏ gọn (1.85cm x
4.3cm), giá thành rẻ và đặc biệt sử dụng được hầu hết tất cả các thư viện arduino nano như các dòng có giá tiền cao hơn nó.
Trang 10Lập trình cho Arduino Nano
-Các board Serial Arduino có chứa một mạch chuyển đổi giữa RS232 sang TTL Các board Arduino hiện tại được lập trình thông qua cổng USB, thực hiện thông qua chip chuyển đổi USB-to-serial như là FTDI FT232 Vài biến thể, như Arduino Mini và Boarduino không chính thức, sử dụng một board adapter hoặc cáp nối USB-to-serial có thể tháo rời được, Bluetooth hoặc các phương thức khác.
-Arduino Nano sử dụng chương trình Arduino IDE để lập trình, và ngôn
ngữ lập trình cho Arduino cũng tên là Arduino (được xây dựng trên ngôn ngữ C) Tuy nhiên, nếu muốn lập trình cho Arduino Nano cần phải thực hiện một số thao tác trên máy tính.
Sơ đồ chân Pin-out của Arduino Nano
Trang 11 Cần cài Driver của Arduino Nano và tải về bản Arduino IDE (Intergrated Development Environment) mới nhất cho máy tính tại arduino.cc , các bước cài đặt hoàn toàn dễ dàng.
Sau khi cài đặt, bạn sẽ thấy một thông báo dạng "Cổng COMx đã được cài đặt thành công" (chữ "x" này sẽ được thay bằng một số nguyên dương, bạn hãy nhớ lấy số này, vì sau này sẽ dùng cổng COMx này để lập trình cho Arduino Nano).
Sau đó chọn board Arduino Nano và tiến hành lập trình
b Module Bluetooth HC-05
Trang 12Bluetooth là chuẩn truyền thông không dây để trao đổi dữ liệu ở khoảngcách ngắn.Chuẩn truyền thông này sử dụng sóng radio ngắn(UHF radio)trong dải tần số ISM (2.4 tới 2.485 GHz) Khoảng cách truyền của modulenày vào khoảng 10m.
chip này khá phức tạp và sử dụng bộ nhớ flash ngoài 8Mbit Nhưng việc
sử dụng module này hoàn toàn đơn giản bởi nhà sản xuất đã tích hợp mọithứ cho bạn trên module HC-05
Thông số kỹ thuật:
Trang 13
Sơ đồ chân chi tiết của HC-05
Trang 14 Chức năng của các chân ra của module HC-05:
KEY: Chân này để chọn chế độ hoạt động AT Mode hoặc DataMode. VCC chân này có thể cấp nguồn từ 3.6V đến 6V bêntrong module đã có một ic nguồn chuyển về điện áp 3.3V và cấpcho IC BC417
GND: nối với chân nguồn GND
TXD,RXD: đây là hai chân UART để giao tiếp module hoạt
động ở mức logic 3.3V
STATE: không cần quan tâm đến chân này.
Các chế độ hoạt động :
HC-05 có hai chế độ hoạt động là Command Mode và Data Mode Ở
chế độ Command Mode ta có thể giao tiếp với module thông qua cổngserial trên module bằng tập lệnh ATquen thuộc Ở chế độ Data Modemodule có thể truyền nhận dữ liệu tới module bluetooth khác ChânKEY dùng để chuyển đổi qua lại giữa hai chế độ này Có hai cách để
có thể chuyển module hoạt động trong chế độ Data Mode
Nếu đưa chân này lên mức logic cao trước khi cấp nguồn module
sẽ đưa vào chế độ Command Mode với baudrate mặc định 38400.Chế độ này khá hữu ích khi không biết baudrate trong moduleđược thiết lập ở tốc độ bao nhiêu Khi chuyển sang chế độ này đènled trên module sẽ nháy chậm (khoảng 2s) và ngược lại khi chânKEY nối với mức logic thấp trước khi cấp nguồn module sẽ hoạtđộng chế độ Data Mode
Nếu module đang hoạt động ở chế Data Mode để có thể đưamodule vào hoạt động ở chế độ Command Mode thì đưa chânKEY lên mức cao Lúc này module sẽ vào chế độ Command Modenhưng với tốc độ Baud Rate được bạn thiết lập lần cuối cùng Vìthế cần phải biết baudrate hiện tại của thiết bị để có thể tương tácđược với nó Chú ý nếu module của bạn chưa thiết lập lại lần nàothì mặc định của nó như sau:
Baudrate 9600, data 8 bits, stop bits 1, parity : none,handshake: none
Passkey: 1234
Device Name: HC-05
Trang 15 Tập lệnh AT
- AT: Lệnh test, nó sẽ trả về OK nếu module đã hoạt động ởCommand Mode
- AT+VERSION? :trả về firmware hiện tại của module
- AT+UART=9600,0,0 ( thiết lập baudrate 9600,1 bit stop, noparity)
Các lệnh ở chế độ Master:
- AT+RMAAD : ngắt kết nối với các thiết bị đã ghép
- AT+ROLE=1 : đặt là module ở master
- AT+RESET: reset lại thiết bị
- AT+CMODE=0: Cho phép kết nối với bất kì địa chỉ nào
- AT+INQM=0,5,5: Dừng tìm kiếm thiết bị khi đã tìm được 5 thiết
bị hoặc sau 5s
- AT+PSWD=1234 Set Pin cho thiết bị
- AT+INQ: Bắt đầu tìm kiếm thiết bị để ghép nối
- Sau lệnh này một loạt các thiết bị tìm thấy được hiện thị Định rakết quả sau lệnh này như sau: INQ:address,type,signal
- Phần địa chỉ (address) sẽ có định dạng như sau: 0123:4:567890 Để
sử dụng địa chỉ này trong các lệnh tiếp theo ta phải thay dấu “:”thành “, 0123:4:567890 -> 0123,4,5678
- AT+PAIR=<address>,<timeout> : Đặt timeout(s) khi kết nối với 1địa chỉ slave
- AT+LINK=<address> Kết nối với slave
Các lệnh ở chế độ Slave:
- AT+ORGL: Reset lại cài đặt mặc định
- AT+RMAAD: Xóa mọi thiết bị đã ghép nối
- AT+ROLE=0: Đặt là chế độ SLAVE
- AT+ADDR: Hiển thị địa chỉ của SLAVE
Trang 16c Module 4 Relay có Opto cách ly 5VDC
-Rơ-le (Relay) là một loại linh kiện điện tử thụ động rất hay gặp trong các ứng
dụng thực tế Rơ-le là một công tắc (khóa K) Nhưng khác với công tắc ở một
chỗ cơ bản, rơ-le được kích hoạt bằng điện thay vì dùng tay người Chính vì lẽ
đó, rơ-le được dùng làm công tắc điện tử! Vì rơ-le là một công tắc nên nó có 2
trạng thái: đóng và mở.
-Trên thị trường chúng ta có 2 loại module rơ-le: module Rơ-le đóng ở mức
thấp (nối cực âm vào chân tín hiệu rơ-le sẽ đóng), module Rơ-le đóng ở mức cao (nối cực dương vào chân tín hiệu rơ-le sẽ đóng) Nếu sơ sánh giữa 2 module
rơ-le có cùng thông số kỹ thuật thì hầu hết mọi kinh kiện của nó đều giống nhau, chỉ khác nhau ở chỗ cái transistor của mỗi module (có 2 loại transistor là NPN - kích ở mức cao, và PNP - kích ở mức thấp)
Thông số kỹ thuật Module 4 Relay:
Sử dụng điện áp nuôi 5VDC
4 relay đóng ngắt ở điện thế kích 0V, cần cấp nguồn ngoài, mỗi relay tiêu thụ dòng khoảng 80mA.
Điện thế đóng ngắt tối đa: AC250V – 10A, DC30V – 10A.
Có đèn báo đóng ngắt trên mỗi relay.
Trang 17Ý nghĩa các thông số ghi trên mỗi relay:
1 10A - 250VAC: Cường độ dòng điện tối đa qua các tiếp điểm của rơ-le với hiệu điện thế <= 250V (AC) là 10A.
2 10A - 30VDC: Cường độ dòng điện tối đa qua các tiếp điểm của rơ-le với hiệu điện thế <= 30V (DC) là 10A.
3 10A - 125VAC: Cường độ dòng điện tối đa qua các tiếp điểm của rơ-le với hiệu điện thế <= 125V (AC) là 10A.
4 10A - 28VDC: Cường độ dòng điện tối đa qua các tiếp điểm của rơ-le với hiệu điện thế <= 28V (DC) là 10A.
5 SRD-05VDC-SL-C: Hiện điện thế kích tối ưu là 5V.
Cách sử dùng Module 4 Relay:
Module gồm 6 chân cắm, trong đó 2 chân là VCC và GND để cấp nguồn cho module hoạt động, 4 chân còn lại là IN1, IN2, IN3 , IN4 tương ứng với relay 1,2,3,4 dùng để cấp tín hiệu kích cho relay hoạt động, 3 chân ngõ ra dùng nối với các thiết bị cần sử dụng:
COM: chân chung (ở giữa), chân nối với 1 chân bất kỳ của đồ dùng điện.
NO (Normal Open): Chân thường mở, khi không kích thì nó sẽ hở mạch Chân này sẽ nối với chân lửa (nóng) nếu dùng điện xoay chiều
và cực dương của nguồn nếu dòng điện một chiều.
NC (Normal Closed): Chân thường đóng, khi không kích thì nó sẽ kín mạch (ngắn mạch) Chân này sẽ nối chân lạnh (trung hòa) nếu dùng điện xoay chiều và cực âm của nguồn nếu dùng điện một chiều.
Trang 18
Đọc thêm Opto:
-Opto hay còn gọi là cách ly quang là linh kiện tích hợp có cấu tạo gồm 1 led và
1 photo diot hay 1 photo transitor Được sử dụng đẻ các ly giữa các khối chênh lệch nhau về điện hay công suất nhu khối có công suất nhỏ với khối điện áp lớn.
Sơ đồ Opto PC817
Nguyên lý hoạt động: Khi có dòng nhỏ di qua 2 đầu của led có trong opto làm cho led phát sáng Khi led phát sáng làm thông 2 cực của photo diot, mở cho dòng điện chạy qua.
Tác dụng: Cách ly điều khiển giữa hai tầng mạch điện khác nhau.
Với sơ đồ ứng dụng trên.vơi OK1 khi cung cấp 5V vao chân số 1, LED phía trong Opto nối giữa chân số 1 và 2 sáng, xảy ra hiệu ứng quang điện dẫn đến 3-4 thông,mức logic sẽ bị chuyển từ 1 sang 0 mà không cần tác động trực tiếp từ IC.
Mục đích: Nếu có sự cố từ tầng ứng dụng như cháy, chập, tăng áp, thì cũng
không làm ảnh hưởng đến tầng điều khiển