Thứ Năm, 20 tháng 10, 2016

Ứng dụng loa thông minh

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Ả
Ảnh đại diện
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