Nội dung bài viết
Đăng ký học lập trình C++
Tại STDIO bạn được dạy nền tảng lập trình tốt nhất.
Đăng ký học
Nguyễn Yến Linh Dự án hướng dẫn các bạn một các điều khiển từ xa các thiết bị màn hình hiển thị, loa phát / ngừng nhạc bằng ứng dụng trên điện thoại có nền tảng hệ điều hành Android cùng với Arduino và các thiết bị hỗ trợ khác.

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:

hinh01_mophong

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.

hinh04_ArduinoMege2560

 

 

 

 

 

 

 

 

 

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.

tft__357x253

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.

HC-06-Wireless-Bluetooth-Transceiver-Modul-Host-Slave-Integration-RS232-TTL-Board

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.

adapter

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Ω.

10PCS-font-b-PAM8403-b-font-Super-font-b-mini-b-font-font-b-digital-b
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.

THẢO LUẬN
ĐÓNG