Tải bản đầy đủ (.pdf) (62 trang)

(Đồ án tốt nghiệp) Thiết kế hệ thống giao tiếp, điều khiển thiết bị thông minh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.8 MB, 62 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

ĐỒ ÁN TỐT NGHIỆP

THIẾT KẾ HỆ THỐNG GIAO TIẾP, ĐIỀU KHIỂN
THIẾT BỊ THƠNG MINH

SVTH1
MSSV
SVTH2
MSSV
Khố
Ngành
GVHD

:
:
:
:
:
:
:

KIỀU MINH TRIẾT
16141086
ĐÀO MINH HIẾU
16141029
2016
Công nghệ Kỹ thuật Điện tử - Truyền thơng
TS. TRƯƠNG NGỌC SƠN



Tp. Hồ Chí Minh, tháng 8 năm 2020


TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

ĐỒ ÁN TỐT NGHIỆP

THIẾT KẾ HỆ THỐNG GIAO TIẾP, ĐIỀU KHIỂN
THIẾT BỊ THƠNG MINH

SVTH1
MSSV
SVTH2
MSSV
Khố
Ngành
GVHD

:
:
:
:
:
:
:

KIỀU MINH TRIẾT
16141086

ĐÀO MINH HIẾU
16141029
2016
Công nghệ Kỹ thuật Điện tử - Truyền thơng
TS. TRƯƠNG NGỌC SƠN

Tp. Hồ Chí Minh, tháng 8 năm 2020


LỜI CẢM ƠN
Trong suốt thời gian học tập và rèn luyện tại Trường Đại học Sư Phạm Kỹ
Thuật nói chung và Khoa Đào Tạo Chất Lượng Cao nói riêng, em đã nhận được
sự quan tâm, giúp đỡ chỉ bảo và giảng dạy tận tình từ các phịng ban, đồn thể và
quý thầy cô nhà trường. Em xin gửi lời cảm ơn sâu sắc đến Ban Giám Hiệu nhà
trường cũng như Khoa Đào Tạo Chất Lượng Cao đã tạo điều kiện cho chúng em
có được cơ hội tiếp cận với thực tế nghề nghiệp qua các kỳ kiến tập, thực tập.
Em xin chân thành gửi lời cảm ơn đến các thầy cô Khoa Đào Tạo Chất Lượng
Cao, đặc biệt là TS. Trương Ngọc Sơn – giảng viên hướng dẫn đã truyền đạt và
đóng góp cho em những kiến thức bổ ích để em có thể hồn thành bài báo cáo một
cách tốt nhất.
Em xin chân thành cảm ơn.
TP.HCM, ngày 15 tháng 08 năm 2020
Sinh viên thực hiện

Kiều Minh Triết

Đào Minh Hiếu

i



TÓM TẮT
Trong xã hội thế kỷ 21, con người ngày càng bận rộn hơn với cơng việc, song
song với đó công nghệ cũng ngày càng phát triển để phục vụ cuộc sống của con
người tốt hơn. Con người ngày nay cần những thiết bị mang tính tự động cao để
phục vụ cho cuộc sống, trước tiên là từ chính những thiết bị điện quen thuộc trong
căn nhà của họ. Vì vậy, nhóm quyết định chọn đề tài “ Thiết kế hệ thống giao tiếp,
điều khiển thiết bị thông minh” với mong muốn cho cuộc sống của con người ngày
một tối ưu, tiện lợi hơn.
Hệ thống được mô phỏng trên mô hình hộp có đáy hình chữ nhật 30x25 cm,
chiều cao của hộp là 15cm. Phần cứng mơ hình được cấu tạo từ bộ xử lý trung tâm
là hệ thống nhúng Rasberry Pi Zero W nhận tín hiệu âm thanh từ mạch cảm biến
âm thanh tích hợp điều khiển độ lợi tự động (AGC MAX9814) thông qua bộ
chuyển đổi âm thanh sang USB (USB Sound Card) và dữ liệu nhiệt độ từ mô-đun
cảm biến nhiệt độ DS18B20. Rasberry Pi sau khi xử lý dữ liệu sẽ tiến hành điều
khiển các thiết bị điện gồm 2 đèn và 2 quạt thông qua mạch relay. Ngồi ra cịn có
LCD hiển thị nhiệt độ và thời gian thật được lắp bên hơng mơ hình. Bộ mã nguồn
hệ thống được lập trình và phát triển trên hệ thống nhúng Raspberry. Nhóm đã sử
dụng thư viện mã nguồn mở Google Speech trên nền tảng Python để chuyển đổi
từ lời nói sang văn bản.
Sau q trình nghiên cứu, mơ phỏng, xây dựng hệ thống, nhóm đã hồn thành
mơ hình hệ thống giao tiếp, điều khiển thiết bị thơng minh. Hệ thống có chức năng
nhận diện giọng nói của người sử dụng, hỏi và trả lời người dùng, điều khiển các
thiết bị đèn, quạt. Hệ thống cịn có thể đo nhiệt độ và xác định thời gian thật hiển
thị trên LCD.

ii


MỤC LỤC

LỜI CẢM ƠN ......................................................................................................... i
TÓM TẮT .............................................................................................................. ii
MỤC LỤC ............................................................................................................. iii
DANH MỤC HÌNH ẢNH ..................................................................................... v
DANH MỤC BẢNG ............................................................................................ vii
DANH MỤC VIẾT TẮT .................................................................................... viii
CHƯƠNG 1: TỔNG QUAN ................................................................................. 1
1.1. TÌNH HÌNH NGHIÊN CỨU ...................................................................... 1
1.2. MỤC TIÊU ĐỀ TÀI ................................................................................... 1
1.3. GIỚI HẠN ĐỀ TÀI .................................................................................... 2
1.4. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU ........................................... 2
1.4.1. Đối tượng nghiên cứu .......................................................................... 2
1.4.2. Phạm vi nghiên cứu ............................................................................. 2
1.5. BỐ CỤC ĐỀ TÀI ........................................................................................ 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT...................................................................... 4
2.1. PHẦN CỨNG ............................................................................................. 4
2.1.1. Raspberry Pi ........................................................................................ 4
2.1.2. Cảm biến âm thanh tích hợp AGC MAX9814 .................................... 5
2.1.3. LCD ..................................................................................................... 6
2.1.4. Bộ chuyển đổi âm thanh sang USB (USB Sound Card) ..................... 9
2.1.5. Mạch khuếch đại âm thanh PAM8403 .............................................. 10
2.1.6. Mô-đun cảm biến nhiệt độ DS18B20 ................................................ 11
2.2. PHẦN MỀM ............................................................................................. 11
iii


2.2.1. Hệ điều hành Raspbian ...................................................................... 11
2.2.2. Ngôn ngữ lập trình Python ................................................................ 12
2.2.3. Nhận diện giọng nói và chuyển lời nói thành văn bản ...................... 14
2.2.4. Nhận diện lời nói sang văn bản sử dụng các thư viện mã nguồn mở 18

2.2.5. Thuật toán khoảng cách Levenshtein ............................................... 22
2.2.6. Chuẩn tích hợp I2C ........................................................................... 23
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG GIAO TIẾP, ĐIỀU KHIỂN THIẾT BỊ
BẰNG GIỌNG NÓI…………………………………………………………….25
3.1. SƠ ĐỒ KHỐI CỦA HỆ THỐNG ............................................................. 25
3.2. SƠ ĐỒ MẠCH NGUYÊN LÝ CỦA HỆ THỐNG .................................. 26
3.3. THIẾT KẾ HỆ THỐNG GIAO TIẾP, ĐIỀU KHIỂN THIẾT BỊ BẰNG
GIỌNG NÓI ......................................................................................................... 27
3.3.1. Khối thu thiết bị âm thanh ................................................................. 27
3.3.2. Khối xử lý trung tâm ......................................................................... 28
3.3.3. Khối điều khiển thiết bị ..................................................................... 29
3.3.4. Mạch khuếch đại âm thanh PAM8403 .............................................. 33
3.3.5. Mô-đun cảm biến nhiệt độ DS18B20 ................................................ 34
3.4. LƯU ĐỒ GIẢI THUẬT CỦA HỆ THỐNG ............................................ 35
CHƯƠNG 4: KẾT QUẢ VÀ THỰC HIỆN ........................................................ 40
4.1. HỆ THỐNG CHÍNH ................................................................................ 40
4.2. HOẠT ĐỘNG CỦA HỆ THỐNG ............................................................ 44
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI ...................... 49
5.1. Kết luận ..................................................................................................... 49
5.2. Hướng phát triển ....................................................................................... 50
TÀI LIỆU THAM KHẢO .................................................................................... 51
iv


DANH MỤC HÌNH ẢNH
Hình 2.1: Kích thước và sơ đồ chân GPIO của Raspberry Pi Zero W .................. 5
Hình 2.2: Cảm biến âm thanh tích hợp AGC MAX9814 ...................................... 6
Hình 2.3: Hình ảnh mơ phỏng của LCD 16x2 ....................................................... 7
Hình 2.4: Bộ chuyển đổi âm thanh sang USB (USB Sound Card) ........................ 9
Hình 2.5: Mạch khuếch đại âm thanh PAM8403................................................. 10

Hình 2.6: Module cảm biến nhiệt độ DS18B20 ................................................... 11
Hình 2.7: Các phiên bản của hệ điều hành Raspbian ........................................... 12
Hình 2.8: Mơ hình một hệ thống chuyển đổi lời nói sang văn bản ...................... 15
Hình 2.9: Sơ đồ khối q trình tính MFCC của lời nói ....................................... 16
Hình 2.10: Các bộ lọc trong thang Mel ................................................................ 17
Hình 2.11: API ..................................................................................................... 22
Hình 2.12: Sơ đồ giao tiếp chuẩn I2C .................................................................. 24
Hình 3.1: Sơ đồ hệ thống giao tiếp, điều khiển thiết bị bằng giọng nói .............. 25
Hình 3.2: Sơ đồ nguyên lý cảm biến âm thanh tích hợp AGC MAX9814 .......... 27
Hình 3.3: Sơ đồ mạch nguyên lý của module điều khiển thiết bị ........................ 29
Hình 3.4: Sơ đồ nguyên lý của 1 mạch relay ....................................................... 29
Hình 3.5: Relay .................................................................................................... 31
Hình 3.6: Sơ đồ nguyên lý relay .......................................................................... 32
Hình 3.7: Sơ đồ nguyên lý mạch khuếch đại âm thanh PAM8403 ...................... 33
Hình 3.8: Lưu đồ tổng quát .................................................................................. 35
Hình 3.9: Lưu đồ giải thuật của khối chào người dùng ...................................... 36
Hình 3.10: Lưu đồ giải thuật của khối nhận diện tiếng nói và thực hiện lệnh .... 37
Hình 3.11: Lưu đồ giải thuật của khối hiển thị LCD và khối đo nhiệt độ ........... 39
Hình 4.1: Mơ hình hệ thống 2 tầng ...................................................................... 40
Hình 4.2: Tầng trên của hệ thống ......................................................................... 41
Hình 4.3: Tầng dưới của hệ thống........................................................................ 42
Hình 4.4: Các nguồn cấp dùng trong hệ thống .................................................... 43
Hình 4.5: Điều khiển đèn/quạt thứ nhất ............................................................... 45
v


Hình 4.6: Điều khiển đèn/quạt thứ hai ................................................................. 46
Hình 4.7: Trường hợp điều khiển 2 đèn/2 quạt .................................................... 47
Hình 4.8: Trường hợp hiển thị nhiệt độ và thời gian thực trên LCD ................... 47


vi


DANH MỤC BẢNG
Bảng 2.1 Các giao tiếp của mô-đun Raspberry Pi Zero W .................................... 5
Bảng 2.2 Chức năng chân của LCD 16x2 .............................................................. 7
Bảng 2.3 Thông số kỹ thuật của LCD 16x2 ........................................................... 8
Bảng 3.1 Thông số kỹ thuật của cảm biến âm thanh tích hợp AGC MAX9814 . 27
Bảng 3.2 Thông số của Raspberry Pi Zero W...................................................... 28
Bảng 3.3 Các chuẩn kết nối của Rapsberry Pi Zero W ........................................ 28
Bảng 3.4 Thông số ngõ vào của opto PC817 ....................................................... 30
Bảng 3.5 Thông số ngõ ra của opto PC817.......................................................... 30
Bảng 3.6 Thông số kỹ thuật của transistor C1815 ............................................... 30
Bảng 3.7 Thông số kỹ thuật của diode ................................................................. 31
Bảng 3.8 Thông số kỹ thuật của mạch PAM8403 ............................................... 33
Bảng 3.9 Thông số kỹ thuật của mô-đun DS18B20 ............................................ 34

vii


DANH MỤC VIẾT TẮT
BLE

Bluetooth Low Energy

MAX

Microphone Amplifier Module

AGC


Automatic Gain Control

MFCC

Mel-Frequence Cepstral Coefficent

I2C

Inter-Integrated Circuit

API

Application Programming Interface

GPIO

General-Purpose Input/Output

HDMI

High-Definition Multimedia Interface

OTG

One-The-Go

viii



CHƯƠNG 1 : TỔNG QUAN
1.1. TÌNH HÌNH NGHIÊN CỨU
Cùng với sự phát triển của công nghệ ngày càng cao, nhu cầu về đời sống
của con người cũng trở nên đa dạng hơn. Từ những thế kỉ trước, con người đã mơ
mộng về những ngơi nhà có đầy đủ tiện nghi, tự do điều khiển từ xa hoặc dùng
giọng nói ra lệnh mà không cần phải bật, tắt một công tắt nào. Từ đầu những năm
2000, công nghệ Smart home đã khơng cịn là thuật ngữ mới lạ với các nước tiên
tiến trên thế giới và một trong những ngôi nhà thơng minh đầu tiên trên thế giới
được thiết kế có thể được kể đến là biệt thự Thái Bình Dương của tỉ phú Bill Gate.
Vào đầu những năm 2010, với sự bùng nổ của Deep Learning con người đã
mở sang một trang sử hồn tồn mới. “Chiếc chìa khố vạn năng” này đã giúp giải
đáp rất nhiều nút thắt trong nghiên cứu từ lâu về trước và trong đó phải kể đến
cơng nghệ nhận diện giọng nói. Cơng nghệ nhận diện giọng nói sớm nhất là hệ
thơng Audrey, do Bell Labs chế tạo vào năm 1952, vì là cơng nghệ đầu tiên nên
vẫn còn rất nhiều hạn chế như chỉ có thể nhận diện được chữ số. Nhờ có sự ra đời
Deep learning đã giúp nhận diện giọng nói trở nên chính xác đến kinh ngạc.
Những năm gần đây, các nước tiên tiến đã dần chế tạo và ứng dụng các
phương pháp nhận diện giọng nói điều khiển thiết bị nhầm phục vụ vào đời sống,
sản xuất, y tế… Như là Google Assigtant của Google phát triển trên các ứng dụng
Android vào tháng 2 năm 2017 đã tạo tiếng vang lớn. Riêng ở nước ta cần có sự
đầu tư để nghiên cứu theo kịp công nghệ mới này để phục vụ trực tiếp cho công
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 nền tảng đã có sẵn.
Giới thiệu đề tài: Nhận thấy khả năng phát triển và nhu cầu về giao tiếp, điều
khiển thiết bị bằng chính giọng nói của bản thân và những người u thích sử dụng
dịch vụ này, nhóm đã thực hiện đề tài : “ Thiết kế hệ thống giao tiếp, điều khiển
thiết bị thông minh”.

1.2. MỤC TIÊU ĐỀ TÀI
Đề tài: “Thiết kế hệ thống giao tiếp, điều khiển thiết bị thơng minh” sẽ tìm

hiểu kỹ thuật nhận diện giọng nói, mã nguồn mở Google Speech API, thuật toán
1


khoảng cách Levenstein, ngơn ngữ lập trình Python. Dựa trên các lý thuyết trên,
nhóm thực hiện thiết kế một mơ hình nhận diện giọng nói tiếng Việt có thể trực
tiếp giao tiếp và điều khiển thiết bị.

1.3. GIỚI HẠN ĐỀ TÀI
Đề tài sử dụng một số thư viện và các tải như sau:
 Thư viện mã nguồn mở Google Speech.
 Nghiên cứu và ứng dụng thuật toán khoảng cách Levenstein.
 Điều khiện 2 đèn, 2 quạt.
 Hiển thị trên LCD 16x2.

1.4. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
1.4.1. Đối tượng nghiên cứu
Đề tài nghiên cứu những đối tượng sau:
 Hệ thống nhúng Raspberry Pi Zero.
 Thuật toán khoảng cách Levenstein.
 Google Service API

1.4.2. Phạm vi nghiên cứu
Lập trình ứng dụng sử dụng ngôn ngữ Python phát triển trên nền tảng
Raspberry.

1.5. BỐ CỤC ĐỀ TÀI
Chương 1: Tổng quan: Ở chương này, nhóm sẽ trình bày tổng quan về tình
hình nghiên cứu nhận diện giọng nói trên thế giới và nước ta từ đó đưa ra lý do
chọn đề tài, các mục tiêu khi nghiên cứu và giới hạn đề tài. Cuối cùng nhóm thực

hiện sẽ trình bày sơ lược về bố cục đề tài.
Chương 2: Cơ sơ lý thuyết: Chương này trình bày tất cả các lý thuyết và
thơng số kỹ thuật của các thiết bị, linh kiện được sử dụng trong đồ án tốt nghiệp.
Chương 3: Hệ thống điều khiển thiết bị thơng minh: Chương này trình bày
về sơ đồ khối của hệ thống, sơ đồ mạch nguyên lý của hệ thống, sơ đồ mạch nguyên
lý của từng thiết bị. Bên cạnh đó là lưu đồ giải thuật từng khối của hệ thống.

2


Chương 4: Kết quả: Chương này trình bày về mơ hình hệ thống điều khiển
thiết bị thơng minh và hướng dẫn sử dụng hệ thống.
Chương 5: Kết luận và hướng phát triển: Trong chương này nhóm sẽ đưa
ra kết luận về đề tài dựa trên mục tiêu ban đầu đặt ra và kết quả thực tế. Bên cạnh
đó là đưa ra hướng phát triển của đề tài.

3


CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT
2.1. PHẦN CỨNG
2.1.1. Raspberry Pi
Là thuật ngữ để chỉ các máy tính chỉ có một board mạch (hay cịn gọi là máy
tính nhúng) có kích thước nhỏ gọn, được phát triển tại Anh bởi Raspberry Pi
Foundation với hướng đối tượng ban đầu là sinh viên, học sinh nhưng sau khi phát
hành lại được đông đảo đối tượng đồng lĩnh vực hưởng ứng tích cực.
Nhóm chọn phiên bản Raspberry Pi Zero W được phát triển từ bản Zero gần
nhất. Mục đích chế tạo ra bản Pi Zero W nhắm đến chi phí thấp cho tất cả mọi
người, đồng thời tạo ra một thiết bị thật nhỏ gọn nhưng đầy đủ tính năng. Bản Zero
W vẫn hoạt động trên Linux hỗ trợ 1080p, nhưng lại rất nhỏ so với các bản khác,

giúp người sử dụng dễ dàng mang đi, sử dụng đưa người dùng đến sát với thế giới
mạng lưới mọi vật kết nối internet (Internet of Things).
Giờ đây bản Zero W cịn được tích hợp thêm 2 điểm đặc biệt là Wifi và
Bluetooth. Mạch Wifi và Bluetooth được sử dụng giống hệt trong phiên bản
Raspberry Pi 3, chỉ khác ở phần ăng-ten. Ăng-ten trên Pi 3 là chip SMD còn Ăngten trên Zero W là loại rời được hàn trên board.
Rapsberry Pi Zero W có kích thước 65 mm x 30 mm x 5 mm với 40 chân
GPIO, có chuẩn đầu ra là Micro USB, sử dụng chip Broadcom BCM 2835 (giống
Bản Pi 1) nhưng nâng cấp lên 1GHz, nhanh hơn 40%, với ARM11, CPU lõi đơn,
dung lượng RAM là 512MB, với khả năng lữu trữ bằng thẻ MicroSD, xuất video
dưới dạng 1080P HD và âm thanh kết nổi qua đầu mini HDMI. Raspberry Pi Zero
W sử dụng nguồn 5V, được cung cấp qua đầu MicroUSB, có mạng LAN khơng
dây 2.4GHz 802.11n, Bluetooth classic 4.1 và BLE.

4


Hình 2.1: Kích thước và sơ đồ chân GPIO của Raspberry Pi Zero W
Hơn nữa, Rapsberry Pi Zero W còn có rất nhiều các chuẩn giao tiếp sau:
Bảng 2.1 Các giao tiếp của mô-đun Raspberry Pi Zero W
Cổng nguồn

Micro USB (chỉ cấp nguồn 5V, dòng tối thiểu là 700 mA)

Cổng dữ liệu

Micro USB hỗ trợ OTG (Hỗ trợ cổng USB để kết nối các
ngoại vi như chuột, bàn phím)

Cổng mini-HDMI Kết nối cổng HDMI với hỗ trợ full HD 1080p30,
1080P


250MHz)

Khe cắm thể nhớ

Micro SD

2.1.2. Cảm biến âm thanh tích hợp AGC MAX9814
Thiết bị thu tín hiệu âm thanh ở đây là dùng cảm biến âm thanh MAX9814
(Microphone Amplifier Module) tích hợp bộ tự động điều chỉnh độ khuếch đại
AGC với khả năng tự động điều chỉnh độ khuếch đại. Nhờ công nghệ mới này các
âm thanh lớn khi đi qua mạch sẽ tự động giảm tới mức được cài đặt mặc định,
tương tự các âm thanh nhỏ sẽ tự động tăng tới mức ấn định mà không cần điều
chỉnh thủ công nào.

5


Hình 2.2: Cảm biến âm thanh tích hợp AGC MAX9814
Phần trên của bo mạch có hàn 1 micro điện tử 20-20kHz giúp người dùng dễ
dàng thu tín hiệu âm thanh. Ta cũng có thể thấy mơ-đun có 5 ngõ ra bao gồm: Chân
AR không được dùng tới , GND là chân nối đất, Vdd là chân nối nguồn, Gain là
lựa chọn mức âm thanh xác lập cho bộ tự động điều chỉnh độ khuếch đại và chân
Out là ngõ tín hiệu đầu ra. Theo trên thông số ghi trên mô-đun ta có 3 trạng thái
khi khơng cấp điện thì mặc định mức xác lập là 60dB, khi cấp vào là đất (GND)
thì mức xác lập là 50dB và nếu cấp vào là nguồn (Vdd) thì mức xác lập sẽ rơi vào
40dB.

2.1.3. LCD
Thiết bị hiển thị LCD 16x2 (Liquid Crystal Display) được sử dụng trong rất

nhiều các ứng dụng của vi điều khiển. LCD 16x2 có rất nhiều ưu điểm so với các
dạng hiển thị khác như: khả năng hiển thị kí tự đa dạng (chữ, số, kí tự đồ họa), dễ
dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tiêu tốn rất
ít tài nguyên hệ thống mà giá thành lại phải chăng.

6


Hình 2.3: Hình ảnh mơ phỏng của LCD 16x2
Bảng 2.2 Chức năng chân của LCD 16x2
Chân

Ký hiệu

1

Vss

2

VDD

3

VEE

Mô tả
Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với
GND của mạch điều khiển
Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này

với VCC=5V của mạch điều khiển
Điều chỉnh độ tương phản của LCD.
Chân chọn thanh ghi (Register select). Nối chân RS với
logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi.
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của

4

RS

LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ
của LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR
bên trong LCD.
Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với

5

R/W

logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic
“1” để LCD ở chế độ đọc.

7


Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên
bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung
cho phép của chân E.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển

6

vào(chấp nhận) thanh ghi bên trong nó khi phát hiện một

E

xung (high-to-low transition) của tín hiệu chân E.
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi
phát hiện cạnh lên (low-to-high transition) ở chân E và được
LCD giữ ở bus đến khi nào chân E xuống mức thấp.
Tám đường của bus dữ liệu dùng để trao đổi thông tin với
MPU. Có 2 chế độ sử dụng 8 đường bus này :
7-

DB0 -

+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit

14

DB7

MSB là bit DB7.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4
tới DB7, bit MSB là DB7

15

-


16

-

Nguồn dương cho đèn nền
GND cho đèn nền

Bảng 2.3 Thông số kỹ thuật của LCD 16x2
Điện áp hoạt động

2.5V – 6V DC

Hồ trợ màn hình

LCD16x2, 16x6, 20x4 (driver HD44780)

Giao tiếp

I2C

Địa chỉ mặc định

0x27 (có thể điều chỉnh ngắn mạch chân
A0/A1/A2

Kích thước

41.5mm(L)x19mm(W)x15.3(H)

Trọng lượng


5 Gram

8


Tích hợp Jump chốt để cung cấp
đèn cho LCD hoặc ngắt
Tích hợp biến trở xoay điều chỉnh
độ tương phản cho LCD

2.1.4. Bộ chuyển đổi âm thanh sang USB (USB Sound Card)
Cáp USB Sound Adapter 7.1 Chanel (có thể làm việc với Raspberry Pi) có
kích thước nhỏ gọn, dễ dàng kết nối và sử dụng giúp máy tính có thêm cổng tai
nghe (Headphone) và cổng vi âm (Microphone) đặc biệt là các loại máy tính nhúng
nhỏ thường bị thiếu hai cổng này: Raspberry Pi, Beaglebone,...

Hình 2.4: Bộ chuyển đổi âm thanh sang USB (USB Sound Card)
Một số thông số kỹ thuật của USB Sound Card: Tốc độ tối đa 12Mbps, tích
hợp USB Audio Device Class Specifiaction 1.0, có lớp USB HID 1.1, có chế độ
chạy bằng bus USB khơng cần nguồn ngồi, có đèn LED báo hiệu. Ngồi ra có
hiệu ứng âm thành ảo 7.1, Xear 3D, khơng có trình điều khiển và khơng cần trình
điều khiển cho Windows. Linux, Macos,…
Bộ chuyển đổi âm thanh sang USB bao gồm đầu ra 3.5mm, jack cắm đầu vào
3.5mm, cổng S / PDIF đồng trục, đầu cắm quang S / PDIF.
Máy tính sử dụng các bit để giao tiếp. Các bit này khi kết hợp lại với nhau có
thể mang số lượng thơng tin khổng lồ. Nhưng các bit này cần một đường dẫn để

9



chúng có thể truyền đến các bộ phận khác nhau bên trong máy tính. Và bộ chuyển
đổi âm thanh sang USB giúp dẫn truyền các bit âm thanh từ máy tính đến các thiết
bị phát nhạc bên ngồi.
Chẳng hạn như dàn loa ngoài và âm ly sẽ cần bộ chuyển đổi âm thanh sang
USB để có thể đọc được tín hiệu từ máy tính truyền sang. Máy tính khơng tương
thích với những thiết bị loại này, chính vì vậy chúng ta cần bộ chuyển đổi âm thanh
sang USB để làm trung gian kết nối.
Bộ chuyển đổi âm thanh sang USB sẽ biến đổi các bit máy tính thành dạng
sóng âm thanh truyền dẫn, sau đó được đầu thu của loa ngồi hoặc amply tiếp nhận
thơng qua các jack cắm. Từ đó, các vi mạch bên trong bộ âm ly sẽ giải mã các bit
này và biến chúng thành các tín hiệu âm thanh tương thích. Từ đó, loa ngồi sẽ có
thể phát nhạc đồng bộ với bài hát đang được mở trên laptop hoặc máy tính.

2.1.5. Mạch khuếch đại âm thanh PAM8403
Mạch khuếch đại âm thanh PAM8403 6W Hifi 2.0 Class D (không volume)
với tổng công suất 6W, được thiết kế nhỏ gọn phù hợp với các mơ hình âm thanh
quy mô nhỏ. Điện thế hoạt động từ 2.5 đến 5VDC, mạch vô cùng dễ hỏng khi điện
thế vượt quá 5.5V hoặc đấu ngược. Tuy nhỏ gọn nhưng hiệu suất của mạch lên đến
90%, chuẩn khuếch đại Class D mang lại âm thanh chất lượng cao và hiệu suất
vượt trội.

Hình 2.5: Mạch khuếch đại âm thanh PAM8403

10


Phía dưới mạch có 2 ngõ ra với 2 cặp nguồn, đất kết nối với loa được sử dụng
từ nguồn 5VDC cấp từ phía trên của mạch. Tín hiệu vào được kết nối vào 2 chân
L và Đất (┴).


2.1.6. Mô-đun cảm biến nhiệt độ DS18B20
Mô-đun cảm biến nhiệt độ DS18B20 là loại cảm biến số với độ phân giải cao
12 bit, cảm biến nhiệt độ DS18B20 có thể đo nhiệt độ chính xác với sai số rất nhỏ
và sử dụng được ở nhiều mơi trường.

Hình 2.6: Mơ-đun cảm biến nhiệt độ DS18B20
Mô-đun cảm biến nhiệt gồm ba ngõ ra: chân + là chân nối nguồn, chân – là
chân nối đất và chân out cho dữ liệu đầu ra thông qua một trở dán có giá trị 4.7KΩ.

2.2. PHẦN MỀM
2.2.1. Hệ điều hành Raspbian
Raspbian là một hệ điều hành máy tính dựa trên Debian cho Raspberry Pi.
Có một số phiên bản của Raspbian bao gồm Raspbian Stretch và Raspbian Jessie.
Từ năm 2015, nó đã được Raspberry Pi Foundation chính thức cung cấp như là hệ
điều hành chính cho gia đình máy tính bảng đơn Raspberry Pi. Raspbian được tạo
ra bởi Mike Thompson và Peter Green như một dự án độc lập. Bản dựng ban đầu
được hoàn thành vào tháng 6 năm 2012. Hệ điều hành vẫn đang được phát triển
tích cực. Raspbian được tối ưu hóa cao cho các CPU ARM hiệu suất thấp của dòng
Raspberry Pi.

11


Raspbian sử dụng PIXEL, Pi I đã xác nhận X-Window Enviroment,
Lightweight là mơi trường máy tính để bàn chính của nó kể từ bản cập nhật mới
nhất. Nó bao gồm một mơi trường máy tính để bàn LXDE được sửa đổi và trình
quản lý cửa sổ xếp chồng Openbox với một chủ đề mới và một vài thay đổi khác.
Sự phân bố được xuất xưởng với một bản sao của chương trình máy tính đại số
Mathematica và một phiên bản của Minecraft gọi Minecraft Pi cũng như một phiên

bản nhẹ của Chromium như của phiên bản mới nhất.
Lịch sử các phiên bản của hệ điều hành Rapbian:

Hình 2.7: Các phiên bản của hệ điều hành Raspbian

2.2.2. Ngơn ngữ lập trình Python
Python là ngơn ngữ lập trình cấp cao do Guido van Rossum sáng tạo và được
giới thiệu vào năm 1991.
Python lần đầu tiên được sử dụng trên ngôn ngữ Unix. Nhưng theo thời gian
được phát triển trên nhiều nền tảng khác như MS-DOS, Mac OS, OS/2, Windows,
Linux và các hệ điều hành thuộc họ Unix khác.
Các phiên bản của Python:

12


Python 1: Bao gồm các phiên bản 1.x. Phiên bản đầu tiên do CWI (Centrum
voor Wiskunde en Informatica - Trung tâm Toán-Tin học tại Amsterdam, Hà Lan).
Phiên bản cuối cùng tại CWI là python 1.2. Tiếp đến là bản 1.6 được phát hành tại
CNRI (Corporation for National Research Initiatives ở Reston, Virginia). Cuối
cùng là bản 1.6.1 ra đời là bản nâng cấp của bản 1.6 với việc sửa đi nhiều lỗi ở bản
trước.
Python 2: Được ra đời vào năm 2000. Phiên bản python 2.0 được phát hành
tại BeOpen.com. Tiếp đến là bản Python 2.1 được ra đời nhằm kế thừa từ phiên
bản 1.6.1 và 2.0.
Python 3: Còn được gọi với 2 tên khác là Python 3000 hoặc Py3K. Về cơ bản
Python 3.x khơng hồn tồn tương thích với Python 2.x nhưng sẽ có cơng cụ
chuyển từ Python 2.x sang 3.x. Nguyên tắc để tạo ra Python 3.x là “ bỏ cách làm
việc cũ nhằm hạn chế trùng lặp về mặt chức năng của Python”
Các tính năng của Python:

Phần mềm được miễn phí, mã nguồn mở: Python có thể được cài đặt miễn
phí hồn tồn. Với mã nguồn bạn, Python có thể cho phép người sử dụng tự do
thay đổi mã nguồn. Hơn nữa, Python cịn có một cộng đồng hỗ trợ rộng lớn như
“ />“ />“ />Khả năng mở rộng và có thể nhúng: Khi một chương trình địi hỏi sử phối
hợp giữa các ngơn ngữ với nhau, Python hồn tồn có thể đáp ứng được. Người
dùng có thể kết hợp các phần code bằng ngôn ngữ C++, C# vào ngôn ngữ Python.
Điều này sẽ giúp người dùng dễ dàng trong việc lập trình mà khơng lo lắng về sự
xung đột giữa các ngôn ngữ.
Ngôn ngữ thông dịch cấp cao: Khi chạy code Python, nó sẽ tự động chuyển
đổi code sang ngơn ngữ mà máy tính có thể hiểu. Hơn thế nữa, bạn không phải lo
lắng khi những nhiệm vụ như dọn dẹp bộ nhớ, quản lý bộ nhớ, …

13


Thư viện tiêu chuẩn lớn: Python có một hệ thống thư viện tiêu chuẩn với số lương
cực lớn, đủ để giúp người sử dụng không cẩn phải viết tất cả các code, dẫn đến
việc người dùng có thể lập trình đơn giản hơn rất nhiều so với các ngon ngữ khác.
Ứng dụng của Python:
Lập trình ứng dụng web: Bạn có thể tạo web app có khả năng mở rộng được
bằng cách sử dụng khung (framework) và hệ thống quản trị nội dung (CMS) - được
tích hợp trong Python. Một số nền tảng phổ biến để tạo web app là: Django, Flask,
Pyramid, Plone, Django CMS. Các trang như Mozilla, Reddit, Instagram và PBS
đều được viết bằng Python.
Khoa học và tính tốn: Python hỗ trợ nhiều thư viện để tính tốn khoa học cơ
bản và số liệu như: SciPy, NumPy. Ngoài ra cịn có những thư viện như EarthPy
để tính tốn về mảng khoa học Trái Đất; AstroPy dùng cho Thiên văn học, … Hơn
nữa, ngơn ngữ Python cịn được sử dụng trong Machine Learning, Deep Learning.
Tạo nguyên mẫu phần mềm: Python là ngôn ngữ tốt nhất để tạo ra những
nguyên mẫu (bản chạy thử - prototype).


2.2.3. Nhận diện giọng nói và chuyển lời nói thành văn bản
Giới thiệu:
Chuyển đổi lời nói thành văn bản (Speech to text) hay nhận diện lời nói là
một trong những cơng việc khó mặc dù nó có rất nhiều ứng dụng. Lời nói là một
dạng tín hiệu phức tạp bởi độ biến thiên lớn tùy thuộc vào nhiều yếu tố như cảm
xúc, tuổi tác, giới tính và đặc điểm vùng miền của người nói. Chính vì điều đó, dữ
liệu huấn luyện cho các mơ hình nhận diện giọng nói phải đủ lớn. Chuyển lời nói
thành văn bản hoặc nhận diện giọng nói được ứng dụng nhiều trong các hệ thống
trả lời tự động, các ứng dụng chuyển đổi ngơn ngữ giao tiếp bằng giọng nói, các
robot.

14


Mơ hình âm học
Acoustic models

Tín hiệu

Trích đặc trưng
Feature extraction

Giải mã
Decoder

Văn bản

Mơ hình ngơn ngữ
Language models


Hình 2.8: Mơ hình một hệ thống chuyển đổi lời nói sang văn bản
Một hệ thống chuyển đổi lời nói sang văn bản bao gồm trích rút đặc trưng
của tín hiệu lời nói và bộ giải mã. Tín hiệu âm thanh trong miền thời gian được
biểu diễn bởi mức âm lượng hay năng lượng theo thời gian được xử lý để trích ra
các đặc trưng của lời nói. Thơng thường, các tín hiệu sẽ được chuyển đổi qua miền
tấn số để phục vụ cho quá trình xử lý và trích rút đặc trưng. Một trong những
phương pháp trích đặc trưng của lời nói được sử dụng phổ biến là sử dụng các hệ
số phổ tần số của ngôn ngữ gọi là MFCC. Bộ giải mã sử dụng mơ hình âm học và
mơ hình ngơn ngữ để tạo ra ngõ ra văn bản tương ứng từ các đặc trưng của tín hiệu
lời nói. Mơ hình âm học thể hiện mối quan hệ giữa các tín hiệu lời nói và các âm
vị. Mơ hình âm học giúp cho bộ giải mã xác định các âm vị trong tín hiệu lời nói.
Các âm vị được ghép lại với nhau nhờ các mơ hình ngơn ngữ, Một số mơ hình
truyền thống được sử dụng cho bộ giải mã như mô hình Gaussian (Gaussian
Model), mơ hình Markov ẩn (Hidden Markov Model). Hiện nay các mạng học sâu
có thể được sử dụng hiệu quả cho các bộ giải mã trong mơ hình chuyển đổi lời nói
sang văn bản. Các mạng học sâu được thiết kế để thực hiện một phần hoặc cả mơ
hình ngơn ngữ và mơ hình ngữ âm trong bộ giải mã của hệ thống chuyển đổi lời
nói sang văn bản.
Trích rút đặc trưng tín hiệu lời nói:
MFCC là kỹ thuật được sử dụng phổ biến để trích rút đặc trưng của các tín
hiệu lời nói trong các hệ thống nhận diện giọng nói hoặc chuyển giọng nói thành

15


×