báo cáo điều khiển thiết bị bằng giọng nói có cả phần lập trình và mạch chi tiết. đây là phần lập trình trên androi thông qua mit app inventor . đây là bài báo cáo hoàn chỉnh chi tiết .Người điều khiển chỉ cần ngồi và ra lệnh với bộ vi điều khiển có điện áp 5VDC, tránh cho người tiêu dùng tiếp xúc trực tiếp với lưới điện 220V, có thể gây nguy hiểm cho con người khi tiếp xúc với thiết bị điện bị rò rĩ điện.Giảm được số lượng lớn dây nối khi thiết bị ở khoảng cách xa.Một chiếc điện thoại có thể điều khiển được một lúc nhiều thiết bị điện khác nhau, tạo điều kiện thuận tiện cho người sử dụng.
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN- ĐIỆN TỬ
BỘ MÔN THIẾT BỊ ĐIỆN
BÁO CÁO ĐỒ ÁN 2 ĐIỀU KHIỂN THIẾT BỊ BẰNG GIỌNG NÓI
GVHD : MAI BÁ LỘC
Sinh Viên: Nguyễn Xuân Thành 41203416
Phạm Văn Hùng 41201475
Trang 2LỜI CÁM ƠN
Sau gần một học kì tìm hiểu và thực hiện đề tài ĐIỀU KHIỂN THIẾT BỊ BẰNG GIỌNG NÓI dưới sự hướng dẫn tận tình của Thầy Mai Bá Lộc, nhóm đề tài đã đạt được kết quả bước đầu trong việc thông qua điện thoại di động, sử dụng giọng nói để điều khiển thiết bị điện trong gia đình như đèn, sạc laptop, máy quạt,…
Vì là lần đầu tiên thực hiện một lĩnh vực còn khá mới mẻ, nên mặc dù nhóm đề tài đã
cố gắng nhưng chắc sẽ không tránh khỏi những thiếu sót và hạn chế, nhóm đề tài hy vọng là những vấn đề còn hạn chế được thầy chỉ dẫn cho nhóm đề tài để ngày càng hoàn thiện đề tài này hơn, góp phần nâng cao trình độ cũng như hiểu biết của nhóm đề tài về lĩnh vực này
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 1
PHẦN 1: TỔNG QUAN 2
I CƠ CHẾ HOẠT ĐỘNG CỦA MẠCH: 2
II GIỚI THIỆU VỀ ỨNG DỤNG GOOGLE VOICE: 3
III GIỚI THIỆU ỨNG DỤNG ĐIỀU KHIỂN THIẾT BỊ TRÊN ĐIỆN THOẠI VÀ CÁC LINH KIỆN ĐIỆN TỬ: 4
1 Giới thiệu về MIT App Inventor: 4
2 Giới thiệu về Arduino: 6
3 Giới thiệu về HC-05: 10
4 Giới thiệu về Module Relay : 12
PHẦN 2: THỰC HÀNH 14
I PHẦN MỀM: 14
1 Cài đặt trên điện thoại Androi: 14
2 Code cho Arduino: 23
II PHẦN CỨNG: 24
1 Kết nối Arduino với HC-05: 24
2 Kết nối Arduino với Module Relay: 24
3 Kết nối với bóng đèn, quạt với Module Relay: 25
TỔNG KẾT 27
TÀI LIỆU THAM KHẢO 29
Trang 4LỜ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ác ngà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 sinh viê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ới trên những nền tảng đã có sẵn
Thấy được khả năng phát triển và nhu cầu tìm hiểu về điều khiển thiết bị bằng giọng nói của chính bản thân và những người yêu thích mong muốn được sử dụng dịch vụ này, em đã bắt tay vào thực hiện đồ án: ĐIỀU KHIỂN THIẾT BỊ BẰNG GIỌNG NÓI
Đồ án ĐIỀU KHIỂN THIẾT BỊ BẰNG GIỌNG ĐIỀU NÓI được thực hiện nhằm khai thác yếu tố giọng nói trong việc điều khiển thiết bị, vốn thường được thực hiện bằng tay Đồ án này giúp cho sinh viên 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 Qua quá trình tìm hiểu, nhận thấy Arduino thích hợp trong việc thực hiện đề tài này, nhóm đề tài đã khai thác sử dụng Arduino trong đồ
Đ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 5PHẦN 1: TỔNG QUAN
GIỚI THIỆU CƠ CHẾ VÀ CÁC BỘ PHẬN CƠ BẢN CỦA MẠCH
Cơ chế hoạt động của mạch điều khiển thiết bị bằng giọng nói thông qua smartphone:
CÁC BƯỚC TIẾN HÀNH:
- Cấp nguồn cho mạch điện và thiết bị điện
- Để điều khiển thiết bị trước hết ta phải kết nối bluetooth giữa điện thoại và IC HC-05 thông qua phần mềm đã lập trình trên Androi
- Sau khi kết nối giữa điện thoại và HC-05 thì ta có thế điều khiển thiết bị bằng cách click vào nút voice trên điện thoại Khi ta nói thì thông qua google voice thì nó sẽ hiển thị kí tự trên màn hình điện thoại khi đó kí tự sẽ được truyền tới arduino thông qua sự kết nối bluetooth giữa HC-
05 và điện thoại arduino
- Khi nhận được tín hiệu truyền sang thì arduino xử lí và điều chỉnh các ngõ ra TB Khi tín hiệu đến các chân thì sẽ truyền tới rơle để đóng tắt thiết bị theo ý muốn
Trang 6II GIỚI THIỆU VỀ ỨNG DỤNG 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 đổi giữa các máy điện thoại cấu hình [3]
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 [3] 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ế [4]
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ỹ [5] 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, và / 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 [6]
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 Google Voice hiện đang cung cấp miễn phí PC-to-phone gọi bên trong Hoa Kỳ và Canada, và giọng PC-to-PC và cuộc gọi video trên toàn thế giới giữa những người sử dụng các plugin trình duyệt Google+ Hangouts (có sẵn cho Windows, Intel dựa trên Mac OS X, và Linux) [7]
Hầu như tất cả các cuộc gọi trong nước và ngoài nước đến Hoa Kỳ (bao gồm Alaska và Hawaii) và Canada [8] [9] [10] hiện đang miễn phí từ Mỹ và Canada, và $ 0,01 cho mỗi phút
từ mọi nơi khác [11] các cuộc gọi quốc tế là hóa đơn theo một lịch trình được đăng trên các trang web của Google Voice [12]
Tính đến tháng 10 năm 2009, Google Voice đã có khoảng 1,4 triệu người, trong đó 570.000 sử dụng dịch vụ 7 ngày một tuần [13] Con số này đã tăng lên rõ rệt kể từ khi Google thực hiện quá trình chuyển đổi của dịch vụ Google Voice của mình từ "chỉ mời" có sẵn cho tất
Trang 7cả các thuê bao Gmail tại Hoa Kỳ Một bài viết trên blog có dây dẫn lời một con số 3,5 triệu USD trong năm 2013
THOẠI VÀ CÁC LINH KIỆN ĐIỆN TỬ:
1 Giới thiệu về MIT App Inventor:
a Giới thiệu:
Ứng dụng trên điện thoại di động được sử dụng trong đề tài này được xây dựng trên nền tảng MIT App Inventor, một nền tảng lập trình được xây dựng bởi tiến sĩ Harold Abelson thuộc Học viện Kỹ thuật Massachusetts (Massachusetts Institute of Technology - MIT) MIT
là nơi khai sinh các phương pháp dạy lập trình phi truyền thống dựa vào các phần mềm có tính đột phá như Logo (thập niên 1960) và Scratch
Trang 8b Cách sử dụng:
Giới thiệu các thành phần chính:
Thiết kế bằng App Inventor bằng cách sắp xếp các khối ngay trên màn hình chính
Trang 92 Giới thiệu về Arduino:
a Giới thiệu:
Arduino thực ra là một bo mạch vi xử lí được dùng để tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hay các thiết bị khác Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dựng cực kì dễ sử dụng Với ngôn ngữ lập trình có thể học nhanh chóng ngay cả khi người học ít hiểu biết về điện tử và lập trình Và điều làm nên Arduino chính là mức giá rất thấp và tính chất nguồn mở từ cứng tới mềm Chỉ với , người dùng đã có thể sở hữu một board Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng đấy thiết bị.Thế mạnh của arduino
so với các nền tảng vi điều khiển khác :- Chạy trên đa nền tảng : Việc lập trình có thể thực hiện trên các hệ điều hành khác nhau như Window, Mac Os, Linux trên destop, android trên di động.- Ngôn ngữ lập trình đơn giản, dễ hiểu.- Nền tảng mở : arduino được phát triển dựa trên nguồn
mở nên phần mêm chạy trên Arduino được chia sẻ dễ dàng tính hợp vào các nền tảng khác nhau.- Mở rộng phần cứng: Arduino được thiết kế và sử dụng theo dạng module nên việc mở rộng phần cứng khá dễ dàng - Đơn giản và nhanh: Rễ dàng lắp ráp, lập trình và sử dụng thiết
Trang 10bị - Dễ dàng chia sẻ : Mọi người dễ dàng chia sẻ mã nguồn với nhau mà không lo lắng về ngôn ngữ hay hệ điều hành mình đang sử dụng.Những ứng dụng nổi bật của Arduino là: máy in 3d, robot, thiết bị bay không người lái UAV, game tương tác, điều khiển ánh sáng, kích hoạt chụp ảnh tốc độ cao 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 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ốikhông dây thông dụng (3G, GPRS, Wifi, Bluetooth, 315/433Mhz, 2.4Ghz,…) Định vị GPS, nhắn tin SMS, và nhiều thứ thú vị khác
b Cấu trúc phần cứng:
Trang 12Một vi điều khiển Arduino cũng có thể được lập trình sẵn với một boot loader cho phép đơn giản là upload chương trình vào bộ nhớ flash on-chip, so với các thiết bị khác thường phải cần một bộ nạp bên ngoài Điều này giúp cho việc sử dụng Arduino được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính gốc như là một bộ nạp chương trình.Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các board được lập trình thông qua một kết nối RS-232, nhưng cách thức thực hiện lại tùy thuộc vào đời phần cứng 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
c Lập trình cho Arduino:
Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát triển dự án này
đã cũng cấp đến cho người dùng một môi trường lập trình Arduino được gọi là Arduino IDE (Intergrated Development Environment) như hình dưới đây
Trang 13
3 Giới thiệu về HC-05:
Bluetooth là chuẩn truyền thông không dây để trao đổi dữ liệu ở khoảng cá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 module này vào khoảng 10m
HC-05 là Module sử dụng chuẩn truyền thông này Module này được thiết kế dựa trên chip BC417 Con 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ọi thứ cho bạn trên module HC-
KEY Có 2 chế độ hoạt động là Data Mode hay AT Mode
VCC Có thể cấp nguồn từ 3,6V đến 6V bên trong module đã có một ic nguồn chuyển về điện áp 3.3V và cấp cho IC BC417
TXD, RXD Đây là 2 chân UART giao tiếp với Module, hoạt động ở mức Logic 3,3 V
Trang 14KEY dùng để chuyển đổi qua lại giữa hai chế độ này Có hai cách để bạn 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 bạn không biết baudrate trong module được thiết lập ở tốc độ bao nhiêu Khi chuyển sang chế độ này đèn led trên module sẽ nháy chậm (khoảng 2s) và ngược lại khi chân KEY 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ể đưa module vào hoạt động ở chế độ Command Mode bạn đưa chân KEY lên mức cao Lúc này module sẽ vào chế độ Command Mode nhưng với tốc độ Baud Rate được bạn thiết lập lần cuối cùng Vì thế bạ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ào thì mặc định của nó như sau:
Baudrate 9600, data 8 bits, stop bits 1, parity : none, handshake: none
2 Ở chế độ MASTER: module sẽ tự động dò tìm thiết bị bluetooth khác (1 module bluetooth HC-06, usb bluetooth, bluetooth của laptop ) và tiến hành pair chủ động mà không cần thiết lập gì từ máy tính hoặc smartphone
hoạt động ở Command Mode AT+VERSION? trả về firmware hiện tại của module AT+UART=9600,0,
Trang 15AT+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 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
AT+RMAAD Xóa mọi thiết bị đã ghép nối
4.Giới thiệu về Module Relay :
Module 4 Relay với Optp cách ly kích H/L ( 5VDC)) sử dụng nguồn 5VDC để nuôi mạch, tín hiệu kích có thể tùy chọn kích mức cao (High- 5VDC) hoặc mức thấp (LOW- 0VDC) qua Jumper trên mỗi relay Thích hợp cho các thiết bị sử dụng mức tín hiệu 5VDC như Vi điều khiển,…
Thông số kĩ thuật sản phẩm:
Các thông số trên relay 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
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
Trang 1610A - 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
Trang 17PHẦN 2: THỰC HÀNH
1 Cài đặt trên điện thoại Androi:
Công cụ App Inventor, Google tạo điều kiện để mọi người có thể tự xây dựng phần mềm ứng dụng cho thiết bị di động dùng hệ điều hành Android
a Lập trình trên mit app inventor Trước hết ta lập trình phần kết nối bluetooth giữa androi và HC05 Như chúng ta đả biết androi có phần mềm bluetooth Chíp HC05 là thiết bị có thể nhận và truyền lệnh thông qua bluetooth Bây giờ ta cần lập trình để tạo sự kết nối đó Trước khi kết nối ta nên bật chế độ ON cho ứng dụng bluetooth trên androi sau đó kết nối với HC05 trước khi sử dụng phần mềm mình viết Trước hết ta tạo sơ đồ khối trên ứng dụng mit app inventor của google Đầu tiên ta tạo khối giao diện cho phần mềm mình định viết:
Giao diên chúng ta cần viết như sau: