1.7.4.Quạt t n nhi t ả ệ Hình 1.16. Quạt tản nhi t[6] ệ Thông s ố kĩ thuật: - Điện áp: DC 5V - Dòng điện định mức: 0.25A - Công su t tiêu th : 1.25W ấ ụ
- Hiệu năng biến đổi: 5000+ 10% cho RPM - Tiếng n: 22dBA (không gây ti ng n) ồ ế ồ
- Lưu lượng không khí: 5CFM
1.7.5.Bóng đèn Led
Hình 1.17.Đèn led usb[6] Thông s : ố
- Công su t 1.2W. ấ
- Điện áp 5V.
- Kích thước chiều dài 20cm.
1.7.6.Máy bơm mini 5V
Động cơ bơm chìm Mini 5VDC có kích thước rất nhỏ gọn, sử dụng điện
áp 3~5VDC, vì thu c dộ ạng bơm chìm nên động cơ có khả năng ống nướch c và hoạt động khi ngâm chìm trong nước.
Hình 1.18. Máy bơm mini DC 5V[6] Thông s ố kĩ thuật:
- Điện áp s d ng: 3~5VDC. ử ụ
- Dòng điện sử dụng: 100~200mA.
- Lưu lượng bơm: 1.2~1.6L / 1 phút.
- Điện áp: 3VDC 5VDC. –
- Chiều dài bơm chìm: 43.5 mm .
- Đường kính ng ra: 7-8mm . ố
- Kích thước: 34 x 43 mm.
1.8. Kết luận
Chương 1 đã giới thiệu được tình hình nghiên cứu và các sản phẩm điều khiển bằng giọng nói hiện nay. Lựa ch n, nọ ắm được c u trúc, chấ ức năng Kit Wifi ESP8266 NodeMCU Lua V3 CH340. Tìm hi u chể ức năng và phương thức hoạt động c a Google Assistant Tìm hi u nguyên lí hoủ . ể ạt động và cách đưa giá trị lên Blynk. Lựa chọn được các linh ki n và thi t b c n s d ng. ệ ế ị ầ ử ụ Đây là những kiến th c cơ sở để thi t k và l p trình cho thi t bứ ế ế ậ ế ị điều khi n bể ằng giọng nói sử d ng ESP8266, s ụ ẽ được trình bày trong chương 2 và chương 3 của đồ án.
CHƯƠNG 2.THIẾT K H Ế ỆTHỐNG ĐIỀU KHI N THI T BỂ Ế Ị
TRONG NHÀ B NG GI NG NÓI S D NG ESP8266 Ằ Ọ Ử Ụ
2.1.Thiết kế sơ đồkhố ội b điểu khi n thi t b ể ế ị điện, điện t gia dử ụng b ng ằ
giọng nói 2.1.1.Yêu c u ầ
- Mô hình h ệthống hoàn thiện đảm bảo có th ể điều khi n b t, t t các thiể ậ ắ ết bị s d ng gi ng nói và theo dõi tr ng thái trên ng d ng Blynk. ử ụ ọ ạ ứ ụ
- Mô hình hoạt động đảm bảo:
- Hệ thống nhậ ệnh điều khiển chính xác. n l
- Thiết b ị đầu ra nh n và th c hi n bậ ự ệ ật,tắt nhanh chóng. - Ổn định, không gặp s c trong quá trình hoự ố ạt động. - Gọn nh và ti t ki m chi phí. ẹ ế ệ 2.1.2.Sơ đồ khối Khối điều khiển Google Assistant App Blynk Khối nguồn Thiết bị Hình 2.1. Sơ đồkhối hệthống
Chức năng của các khối:
- Khối ngu n: Cung cồ ấp năng lượng hoạt động cho khối vi điều khi n, ể khối thi t b . ế ị
- Khối vi điều khiển: ESP8266 là một thiết bị có khả năng nhận và lập trình x ử lý được các tín hi u theo yêu cệ ầu đầu vào c a h ủ ệthống, đồng th i xuờ ất được các tín hiệu ra theo yêu cầu.
- Khối Google Assistant: Nh n l nh b ng giậ ệ ằ ọng nói để đưa vào khối vi điều khiển xử lí.
- Khối thi t b : Nh n lế ị ậ ệnh đầu ra và thực hi n b t, t t các thi t b . ệ ậ ắ ế ị - Khối App Blynk: Là App giúp người dùng theo dõi các trạng thái
của thi t b . ế ị
2.2.Thiết kế mạch ph n cầ ứng
2.2.1.Khối ngu n ồ
Sử dụng ngu n 9V kồ ết hợp LM7805 để hạ áp t 9V xuừ ống 5V để cấp cho vi điều khi n và các thi t b khác. ể ế ị
Tụ C1 và C3 để ọc điện áp đầ l u vào cấp cho chân Vi của IC 7805, tụ C1 có tác d ng cung cụ ấp điện áp t m th i cho chân Vi khi nguạ ờ ồn đột ng t b sộ ị ụt áp, t C3 là t g m nên tr kháng l n, C3 có tác dụ ụ ố ở ớ ụng ngăn nguồn đầu vào tăng áp đột ngột làm dạng sóng điện áp đầu vào có hình răng cưa.
Tụ C2 và C4 để ọc điệ l n áp c p cho t i tiêu th l y t chân Vo c a IC ấ ả ụ ấ ừ ủ 7805, t C2 có tác d ng cung cụ ụ ấp điện áp t m th i cho tạ ờ ải khi điện áp tải đột ngột bị sụt áp, t C4 tr kháng l n, C4 có tác d ng lụ ở ớ ụ ọc nhiễu điện áp đầu ra
Hình 2.2.Khối mạch ngu n ồ
2.2.2.Khối vi điều khi n ể
Vi điều khiển ESP điều khiển hoạt động của toàn mạch. Vi điều khiển
nhận d ữliệu từ đầu vào r i x ồ ử lý, thông báo ra điều khi n thi t b . ể ế ị
Hình 2.3. Mạch vi điều khi n ể
2.2.3.Khối nút nhấn
Khối bao g m 4 nút nhồ ấn: nút reset(SW1), nút điều khiển các thiết bị(SW2,SW3,SW4).
Hình 2.4.Mạch khối n t nhú ấn
2.2.4.Khối thiết bị
Các thi t b gế ị ồm đèn, quạt, máy bơm được điều khiển bởi các relay 5V, khi có tín hiệu ra, relay đóng các tiếp điểm thường mở và cấp điện cho thi t b . ế ị
2.3.Xây dựng phần mềm điều khi n ể
2.3.1.Phần mềm lập trình
Sử dụng phần m m Arduino IDề E để ậ l p trình cho ESP8266.
Arduino IDE là môi trường để l p trình và n p code cho các dòng Arduino. ậ ạ Arduino IDE được xây d ng trên mi n n n t ng Java nên h ự ề ề ả ỗtrợ h u hầ ết các h ệ điều hành hi n nay. ệ
Hình 2.6. Ph n m m Arduino IDE ầ ề
Giao di n cệ ủa Arduino IDE được chia thành 3 vùng chính:
+ Vùng 1: Các phím chức năng
Hình 2.8. Các phím chức năng của Arduino IDE
+ Vùng 2: C a s ử ổ đểviết chương trình
Chương trình Code sẽ được vi t tế ại đây.Ở đây có hai hàm quan trọng
là setup() và loop().
Hàm setup() được kh i ch y m t l n duy nh t. Chở ạ ộ ầ ấ ức năng của hàm này dùng để khởi tạo các bi n, khai báo chế ức năng các chân, khởi tạo các thông s ố bán đầu
Hàm loop() là nơi chương trình được chạy lặp đi lặ ại đếp l n khi ngắt vi điều khiển.
Các dấu “//” dùng để ạ t o chú thích, giúp cho việc đọc code được d ễ dàng hơn
Trong l p trình có phân bi t ký tậ ệ ự hoa, thường, tuyệt đối phải đánh chích xác, đồng thời cuối mỗi câu lệnh cần phải có dấu chấm phẩy (;), tr lừ ệnh khai báo thư viện.
+ Vùng 3: Hi n th ể ị các thông tin liên quan đến chương trình
Là c a sử ổ để hiện th vị ề việc build chương trình, nạp chương trình thành công xuống vi điều khiển và các cảnh báo khác liên quan đến chương trình và điều khi n cể ủa chúng ta. Lưu ý, mọi thông báo và trạng thái c a cả quá trình ủ
viết chương trình (write code), xây dựng chương trình ( build code) và nạp chương trình ( program code) đều được hiển thị tại đây. Cửa sổ này được gọi là c a s debug. ử ổ
2.3.2.Lưu đồ thuật toán
Bắt đầu
Khởi tạo ESP8266, server IFTTT và Google
Assistant
Kiểm tra lệnh giọng nói,
các nút nhấn vật lí và
Blynk
Server IFTTT nhận và gửi về Blynk và vi điều khiển
Bật, tắt các thiết bị
Kết thúc Đúng
Sai
Hình 2.9. Lưu đồ thuật toán
Bắt đầu hoạt động, h ệthống khởi động ESP8266, server IFTTT và Google Assistant. Sau đấy ki m tra lể ệnh điều khi n giể ọng nói, điều khi n b ng nút nhể ằ ấn hoặc Blynk n u có lế ệnh điều khi n sể ẽ thực hi n b t, t t thi t b theo yêu c u, ệ ậ ắ ế ị ầ nếu sai quay v ềkiểm tra các l nh, kệ ết thúc chương trình.
2.3.3. Triển khai ph n m m ầ ề 2.3.3.1. Thiết l p IFTTT ậ
Tạo tài kho n ả
Đầu tiên, chúng ta s c n t o mẽ ầ ạ ột tài khoản để ắt đầu sử dụng IFTTT. b
- Đăng ký một tài khoản mới bằng cách nhấn or Use Email (có thể
dùng luôn tài kho n Google, Facebook). ả - Điền địa chỉ email r i nh n Continue. ồ ấ - Chọn mật kh u, nh n Create account. ẩ ấ
Hình 2.10. Các bước tạo tài khoản IFTTT
Tạo câu lệnh điều ki n This ệ
Sau khi t o thành công tài kho n, m t popup chào m ng xu t hi n có th ạ ả ộ ừ ấ ệ ể xem qua một chút hoặc tắt nó đi để bắt tay vào tạo applet.
- Chọn Get more.
- Nhấn vào box bên ph i dòng ch ả ữMake your own Applets from scratch.
- Nhấn + This.
- Tìm và nh n ch n Google Assistant r i cho phép IFTTT k t n i vấ ọ ồ ế ố ới trợ lý Google.
Hình 2.11. Các bướ ạo câu điềc t u khiện This
Màn hình s có 4 l a chẽ ự ọn như hình bên dưới, nh n vào Say a simple ấ phrase đểthử.
Hình 2.12. Lựa chọn phương thức giọng nói
- Nhấn Add
- Đăng nhập tài khoản Google cùng với tài khoản đăng nhập trên Google Home.
- Nhấn Allow c p phép để ấ
Tiếp đến là phần quan trọng nhất, tùy chỉnh lệnh và phản hồi cho Google
Assistant. Bạn được phép l a chự ọn 3 câu l nh chung cho 1 ph n h i c a tr lý. ệ ả ồ ủ ợ
Vì v y, ậ hãy suy nghĩ và điền thông tin vào ô tương ứng . Các mục optional có
Hình 2.13. Cài đặt lệnh b ng gi ng nói ằ ọ
Sau khi hoàn t t, nhấ ấn ch n Create trigger. ọ
Hình 2.14. Ph n h i That ả ồ
Lúc này ta s bẽ ắt đầu cài đặt hành động That.
- Bấm vào dấu “+”.
- Nhập token được gửi về gmail khi đăng kí Blynk để dẫn tới server
Blynk đang kết n i v i ESP8266. ố ớ
- Cấu hình cho l nh t This, Turn on là giá tr 0, Turn off là giá tr ệ ừ ị ị 1.
- Nhấn Finish hoàn thành. để
2.3.3.2. Tạo tài kho n ả và cài đặt App Blynk
Tạo tài kho n Blynkả
Để có thể s dụng App Blynk chúng ta c n phử ầ ải đăng ký một tài khoản
mới. Ở đây có 2 cách đăng ký bằng Facebook ho c t o mặ ạ ột tài khoản mới
Hình 2.15. Giao di n t o tài kho n Blynk ệ ạ ả
Nhập thông tin tài kho n ả Gmail sau đấy nh n Sign Up ấ để tiến hành đăng
Hình 2.16. Nh p tài kho n gmail và m t kh u ậ ả ậ ẩ
Sau khi đăng ký hoàn thành, chúng ta sẽ tiến hành t o mạ ột Project mới.
- Click vào d u c ng (+) trên thanh công cấ ộ ụ để tiến hành t o Project ạ
mới.
Hình 2.17. T o Project m i ạ ớ
Blynk s c p m t mã Token, mã này s g i trẽ ấ ộ ẽ ử ực tiếp vào Gmail đã đăng
ký. Mã Token này dùng để chèn vào code Example c a Blynk. ủ
Hình 2.18. Thông báo mã Token được gửi tới gmail
Để Bật/Tắt thi t bị chúng ta cần có một nút bấm ế để điều khi n. Vào ể
Hình 2.19. L y nút nh n ra ấ ấClick vào Button để ến hành cài đặ ti t thông s . ố Click vào Button để ến hành cài đặ ti t thông s . ố
- Ở mục Button: Đặt tên cho nút nhấn.
- OUTPUT: C u hình cho PIN c n k t n i, ấ ầ ế ố ở đây mình chọn Digital
> gp16 (chân này có LED được tích hợp trên board mạch s n). ẵ
- MODE: có 2 ch ế độ PUSH (nh n thả) và SWITCH (nh n giấ ấ ữ).
- ON/OFF LABELS: Thay đổi ch ế độ hiển th cho nút nh n (Vd: Các ị ấ
bạn không thích để ON/OFF có thể thay bằng BẬT/T T hoặc một Ắ
- DESIGN: Ở phần này các b n có thạ ể điều ch nh màu s c c a nút ỉ ắ ủ
nh n.ấ
Hình 2.20. Hoàn thành thiết lập
2.4. Kết luận chương 2
Chương 2 thể hiện toàn b quá trình thi t k mô hình h ộ ế ế ệthống điều khiển
thiết b trong nhà b ng gi ng nói s d ng ESP8266. ị ằ ọ ử ụ Thực hi n ệ việc thi t k ế ế sơ
đồ nguyên lí, vẽ mạch in, s p x p linh kiện cũng như viết chương trình điều ắ ế
khiển. Biết xác định lỗi và sửa lỗi cho sản ph m, ẩ để hoàn thành mô hình sẽ
CHƯƠNG 3. MÔ HÌNH TH C NGHI M VÀ K T QU Ự Ệ Ế Ả
3.1. Mạch nguyên lí và m ch in hoàn thi n ạ ệ
Hình 3.3. M ch in 3D ạ
3.2. Kết qu ảthực nghi m ệ
Với đề tài nghiên c u này, th c nghi m trên mô hình d a trên vi c s d ng ứ ự ệ ự ệ ử ụ
các thi t b 5V bao gế ị ồm đèn, quạ ảt t n nhiệt và máy bơm 5V. Tấ ả đượ ắp t c c l
đặt trên cùng một mô hình và được điều khiển b t, tắt b i gi ng nói. Ngoài ra, ậ ở ọ
người dùng cũng có thể điều khiển và theo dõi trạng thái hoạt động của các
thiết b thông qua giao di n App Blynk, vi c s d ng thông qua App giúp viị ệ ệ ử ụ ệc
Hình 3.4. Mô hình hệ thống
3.3.Giao di n Google Assistant khi nh n lệ ậ ệnh
Sau khi khởi động ng dứ ụng, người dùng sẽ thực hi n nói và hệ ệ thống s ẽ
trả lời theo các bước:
- Người dùng s ẽ nói “OK Google” để ắt đầu ra lệnh. b
- Google ph n hả ồi “Xin chào, tôi là tr lí google c a b n, tôi có th ợ ủ ạ ể
tìm th y nh ng gì b n c n và hoàn thành công vi c. N u b n cấ ữ ạ ầ ệ ế ạ ần
trợ giúp chỉ ầ c n h i :B n có th làm gì. V y tôi có th giúp gì cho ỏ ạ ể ậ ể
bạn?”
- Người dùng s ẽ đưa ra lệnh “Turn on the light”.
3.4.Giao di n App Blynk ệ
Hình 3.8. Giao di n App Blynk bệ ật máy bơmChức năng các icon trên app: Chức năng các icon trên app:
- Các LED màn hình : hi n th ể ị trạng thái b t tậ ắt các thi t b ế ị
- Bốn nút nhấn : điều khi n các thi t b ể ế ị
3.5.Đánh giá kết quả và hướng phát triển
3.5.1.Đánh giá kết quả
Ưu điểm:
Hoàn thành mô hình h ệthống v i các yêu cớ ầu đề ra, có th ể điều khi n hoể ạt
động của đèn, quạt, máy bơm bằng giọng nói thông qua Google Assistant. Việc nhận l nh và th c hi n m t cách chính xác v i yêu cệ ự ệ ộ ớ ầu điều khiển. Ngoài ra,
việc điều khi n không ch d ng lể ỉ ừ ại ở m t kho ng cách nhộ ả ất định mà có th ể điều
khiển từ xa, không ph thuụ ộc vào khoảng cách thông qua app Blynk. Người
dùng có thể điều khi n các thi t b b ng app dù không có mể ế ị ằ ặt ở nhà v i mớ ức
chi phí lắp đặt tương đối phù hợp.
Nhược điểm:
Do th c hi n trong th i gian ng n và ch d ng lự ệ ờ ắ ỉ ừ ại ở mức mô hình nên sản
phẩm còn nhi u thiề ếu sót như tính thẩm mĩ chưa cao, còn lộ nhiều đường dây
dẫn, cắt dán,…
Việc điều khiển bao gồm điều khi n b t tể ậ ắt và điều khiển ch c a thiế độ ủ ết
bị. Tuy nhiên, v i mô hình này em m i ch d ng lớ ớ ỉ ừ ại ở việc điều khiển bật, tắt
thiết b ị cũng chỉ sử d ng các thi t b 5V ch không ph i 220V trong th c t ụ ế ị ứ ả ự ếdo
vẫn là mô hình.
Tốc độ thực hiện lệnh trong một số trường hợp còn chậm do tính ổn định
của vi điều khiển chưa cao.
3.5.2.Hướng phát tri n cể ủa đề tài