Dự Án Loa Thông Minh Điều Khiển Qua Giao
Tiếp Bluetooth
• ARDUINO • NGUYỄN YẾN LINH • access_time 11/08/2016
16:09:42 • visibility 294
Bài viết được tài trợ bởi STDIO Training và STDIO
Electronics. Thúc đẩy liên kết kiến
thức ngành lập trình và điện/điện tử. Đăng ký các khóa học lập
trình chuyên sâu từ
STDIO Training hoặc đặt mua linh kiện
điện tử từ STDIO
Electronics.
Giới thiệu
Bài viết này tôi giới thiệu về tạo một ứng dụng Android trên nền
tảng Java và cách giao tiếp cũng như hoạt động các thiết bị Arduino liên quan
khác. Thông qua ứng dụng có thể giao tiếp Bluetooth với các thiết bị Arduino,
để điều khiển hệ thống thiết bị điện tử mong muốn. Và dự án này là tôi dùng ứng
dụng điện thoại để điều khiển hệ thống loa phát nhạc, đổi nhạc… và đồng thời
thay đổi việc hiển thị trên màn hình LCD. Tất cả các hoạt động tương tác đó
được tôi điều khiển từ xa qua một ứng dụng.
Tiền đề bài viết
Bài viết này nằm trong chuỗi bài hướng dẫn về Dự Án Loa
Thông Minh Điều Khiển Qua Giao Tiếp Bluetooth.
Đối tượng hướng đến
Bài viết dành cho các bạn tìm hiểu về Arduino và tạo ứng dụng
Android cơ bản.
Tổng quan
Các thiết bị và ứng dụng
Để kết nối và điều khiển các thiết bị khác với Adruino là một điều
dễ dàng nhưng hôm nay tôi giới thiệu với các bạn cách thức điều khiển các thiết
bị đó thông qua Bluetooth. Với ứng dụng có thể cài đặt trên thiết bị điện thoại
Android thông thường, và cho phép người dùng kết nối với các thiết bị Arduino
thông qua giao tiếp Bluetooth và từ đó điều khiển các thiết bị trong tầm tay.
Đi sâu vào bài viết này tôi muốn nói rõ hơn về tính năng và tương tác của sản
phẩm.
Đối với việc sử dụng Arduino để điều khiển những thiết bị khác là
điều vốn dĩ căn bản và khá đơn giản, nhưng nếu thay vào đó chúng ta chỉ cần
điều khiển thông qua tương tác với một ứng dụng và có thể điều khiển thiết bị
từ xa bằng điện thoại thì sao ?
Ở sản phẩm này, tôi thiết kế một hệ thống cơ bản gồm một màn hình,
và loa, một module Bluetooth HC06, tất cả được điều khiển bởi một con Arduino
và một ứng dụng Android. Và về cơ chế hoạt động tôi sẽ trình bày dưới đây:
Hình 1. Mô phỏng hoạt động.
Đầu tiên mạch Arduino được kết nối với Bluetooth HC06. Module này
gồm 4 chân GND, VCC, TX, RX. Khi kết nối bạn chỉ cần nối chân TX với chân RX
của Arduino và chân RX nối với chân TX trên Arduino sau đó bạn có thể
lập trình gửi và nhận dữ liệu như 1 cổng Serial thông thường.
Sau đó thông qua ứng dụng trên Android, tôi dùng để truy cập vào
hệ thống dò tìm và quản lý kết nối giao tiếp Bluetooth của điện thoại, để quét
và phát hiện ra điểm phát sóng của Bluetooth HC06 và kết nối theo mật khẩu
(mật khẩu mặc định là 1234). Sau khi kết nối giữa hai thiết bị thành công, tôi
đã có thể bắt đầu gửi “thông điệp” tôi muốn truyền từ ứng dụng của mình sang
thiết bị Arduino.
Và sau đó tôi bắt đầu thực hiện các thao tác để điều khiển hệ
thống loa của mình. Khi đó Bluetooh HC06 nhận được tín hiệu và Arduino sẽ
bắt đầu xử lý chuỗi tín hiệu vừa được nhận. Sau khi việc phân tích “thông điệp”
hoàn tất thì sẽ đưa ra lựa chọn ra việc được thi hành.
Ở đây cụ thể là việc điều khiển hệ thống loa phát nhạc. Tôi có thể
bật/tắt thiết bị của mình, đồng thời chọn lựa bài nhạc mình muốn phát, hay tăng
giảm âm lượng tùy ý. Đối với hệ thống phát nhạc, tôi sử dụng loa kết nối với
mạch khuếch đại âm thanh PAM8403, và mạch khuếch đại nối với Arduino để lấy tín
hiệu đầu ra và bên cạnh đó để thoải mái trong việc lựa chọn phát các bài nhạc
tôi gắn thêm mạch ghi đọc thẻ Micro SD. Tiếp đó, tôi đọc và phát file âm
thanh từ thẻ SD thông qua Arduino và mạch ghi đoc thẻ Micro SD.
Ngoài ra tôi còn có thể điều khiển việc hiển thị trên màn hình
LCD, cũng được nối với Arduino Mega. Với màn hình TFT, khi tôi bắt đầu phát bài
hát đã chọn, màn hình sẽ hiển thị thông tin bài hát và những hình ảnh đặc trưng
khác.
Các linh kiện cần thiết để xây dựng ứng dụng
Phần cứng
Arduino Mega 2560
Bao gồm:
- 54 chân digital (15 có thể được
sử dụng như các chân PWM).
- 16 đầu vào analog.
- 4 UARTs (cổng nối tiếp phần
cứng).
- 1 thạch anh 16 MHz.
- 1 cổng kết nối USB.
- 1 jack cắm điện.
Hình 2. Adruino Mega 2560.
Màn hình hiển thị TFT 2.4 Inch
- Loại cảm ứng: điện trở.
- Độ phân giải: 240*320 pixel.
- Nguồn: 3.3 ~ 5 V.
- Màu sắc: 8 bit.
Hình 3. Màn hình LCD TFT.
Module Bluetooth HC06
- Điện thế hoạt động: 3.3 ~5 V.
- Baud rate: 9600.
- Dãy tần sóng hoạt động: 2.4GHz.
Hình 4. Bluetooth HC06.
Mạch ghi đọc thẻ Micro SD card
- Tương thích với cả nguồn 5V và
3.3V.
- Hỗ trợ khe cắm Micro SD.
- Hỗ trợ việc recording và
playback cho lượng âm thanh lớn.
- Giao tiếp thông qua chuẩn SPI
(4 Pin): MOSI, SCK, MISO và SS.
Hình 5. SD breakout card.
Mạch khuếch đại âm thanh PAM8403
- Mạch Khuếch Đại Âm Thanh 2 kênh
3W có tích hợp bộ lọc nhiễu cho tín hiệu tốt hơn, để mạch đủ công xuất 3W
cho mỗi kênh thì nguồn đầu vào cần phải là 5V - 1.2A, có thể kết nối trực
tiếp với loa 4Ω / 8Ω.
Hình 6. Mạch khuếch đại âm thanh PAM8403.
Các thiết bị khác
Loa, nguồn cấp cho Arduino, thẻ nhớ Micro SD, trở và dây
điện.
Phần mềm
Ứng dụng điều khiển trên điện thoại chạy nền tảng Android.
Tính năng và lợi ích
Tạo sự tiện ích trong việc quản lý các thiết bị trong khoảng cách
cho phép. Đồng thời cho phép lựa chọn các tiện ích khác nhau chỉ trong 1 ứng
dụng một cách đơn giản.
Là tiền đề cho sự phát triển điều khiển các thiết bị ngoại vi như
hệ thống bật/tắt đèn, điều khiển xe từ xa và nhiều hơn thế nữa tùy do sự sáng
tạo của bạn.
Hướng phát triển
Ngoài ra tôi còn đề cập gợi mở cho các bạn thêm về tiền đề trong
việc tìm hiểu và phát triển ngôi nhà thông minh (Smart House). Mở rộng ra có thể
điều khiển các thiết bị khác trong nhà thông qua tin nhắn SMS, hay sóng Wifi
kết hợp với Server, sóng RF… và các phương thức khác.
attachment Tags
arduino
bluetooth
arduino mega
VỀ TÁC GIẢ
SINH
VIÊN
Hiện tôi là sinh viên
thuộc bộ môn Vật Lý Tin Học, Khoa Vật Lý - Vật Lý Kỹ Thuật trường Khoa Học Tự
Nhiên. Và là một học viên của STDIO.
Tôi là một người yêu lập trình nền tảng, tính cách hòa đồng, ham học hỏi và tìm
tòi, luôn cố gắng phấn đấu vì tương lai.
Sở thích của tôi là đọc sách các thể loại từ văn chương cổ điển cho đến sách
khoa học. Đồng thời tôi cũng thích tìm hiểu công nghệ, ngoài lập trình về phần
mềm tôi còn thích tìm hiểu về lập trình nhúng trên các thiết bịđiệntử.
Những câu nói tôi tâm
đắc nhất là :
"Stay hungry, stay foolish."-Steven Job.
“Imagination is more important than knowledge"-Albert Einstein.
0 nhận xét:
Đăng nhận xét