Bật tắt đèn bằng giọng nói với Arduino

I. Giới thiệu

Đã có nhiều bài viết về sử dụng bluetooth để bật tắt thiết bị từ xa, hay là những cách điều khiển khác bằng button nhưng liệu bạn có nghĩ bạn có thể bật tắt thiết bị (Ví dụ ở đây là một đèn LED, nếu muốn bật tắt thiết bị 220V bạn tham khảo thêm bài này) từ xa bằng giọng nói hay không? Có vẻ có gì đó không ổn đúng không nào, nhưng nó không khó và không có gì là không ổn cả. Với bài viết này tác giả muốn giúp mọi người có thể làm được điều này một cách dễ dàng và ứng dụng nó làm điều mình thích!

II. Phần cứng

III. Tiến hành kết nối các thành phần

Lần này mình không giới thiệu về cách Module nửa vì hầu hết đã đều được các bài viết khác nói rất rõ.  Bạn cần biết thì có thể tìm ở đây http://arduino.vn/reference/howto

Cách nối dây module HC-05

Lưu ý: Khi nạp chương trình vào Arduino, ta phải gỡ 2 dây gắn vào Tx và Rx trên board Arduino ra nhé. Sau khi quá trình upload hoàn thành thì bạn hẳn cắm 2 dây kia vào vị trí Rx và Tx vào lại. Đối với Arduino Mega do hỗ trợ thêm 3 cổng Serial nữa nên việc nối vào chân RX3 và TX3 không làm ảnh hưởng đến quá trình nạp chương trình, đó là lý do mình khuyên bạn nên sử dụng 2 chân này ở phía trên (có chút thoải mái khi không phải rút ra rút vô laugh)

Sau khi lắp xong module HC-05 ta tiến hành lắp thêm một đèn LED ở chân số 13 để điều khiển Nên nhớ cần phải lắp thêm điện trở tại đầu ra của chân 13 ( điện trở 220 Ohm ).

Gắn thêm đèn led để điều khiển

Nhiêu đó thôi không khó để lắp đúng không nào công việc tiếp theo là làm cho nó chạy !

IV. Lập trình và tinh chỉnh

1. Thiết lập điện thoại của bạn

Để có thể điều khiển được bằng giọng nói cụ thể ở đây là giọng nói tiếng việt thì ta cần phải cài đặt trên điện thoại của chúng ta.

Cụ thể các bạn làm theo những thao tác bên dưới để có thể làm được điều mong muốn ban đầu.

Bước 1

Bước 2

Bước 3

Bước 4

Xong công đoạn thiết lập cho cái điện thoại của bạn có thể dùng được vào việc tìm kiếm bằng giọng nói và dùng nó để điều khiển

2. Lập trình ứng dụng điều khiển

Để có thể điều khiển bằng giọng nói ta cần một ứng dụng để có thể nhận diện được giọng nói củng chúng ta.

Vậy làm sao có ứng dụng đó. Bài viết này tác giả sẽ không để link tải mà yêu cầu khi đọc bài viết này là phải thực hành để có được cái bạn muốn.

Có làm mới có ăn mà wink

Để có thể tự tạo 1 ứng dụng điều khiển tác giả đã xây dựng nó tại địa chỉ: ai2.appinventor.mit.edu heart việc tạo ra một ứng dụng rất đơn giản chỉ bằng cách kéo và thả. Từ bài viết này bạn có thể phát triển thêm để phục vụ nhiều công việc hơn.

a. Đây dao diện cho MONITOR

b. Các đối tượng dùng để lập trình

c. Khối code cho ứng dụng

Khối code dùng để kết nối điện thoại với board thông qua HC-05

Khối code dùng để nhận diện giọng nói và gửi đến Arduino

Nếu bạn chưa biết gì về App Inventor và thấy những dòng code trên thật khó hiểu, thì hãy đọc bài này.

3. Lập trình cho Arduino

String data;
int led1 = 2; 
int led2 = 3;
void setup() {
  Serial.begin(9600);
  pinMode(led1, OUTPUT); 
  pinMode(led2, OUTPUT); 
}
void loop() {
  while (Serial.available()){  //Kiểm tra byte để đọc
  delay(30); //Delay để ổn định hơn 
  char c = Serial.read(); // tiến hành đọc
  if (c == '#') {break;} //Thoát khỏi vòng lặp khi phát hiện từ #
  data += c; // data = data + c
  } 
  if (data.length() > 0) {
    Serial.println(data);  
if(data == "bật đèn" ||data == "Bật đèn"||data == "1")
{digitalWrite(led1, HIGH);}
//////////////////////////////////////////////////////
else if(data == "tắt đèn"||data == "Tắt đèn"||data == "10") 
{digitalWrite(led1, LOW);}

data="";}} //Thiết lập lại các biến
// Có sự đóng góp và giúp đỡ của Tân_Oggy

V. Kết luận

Bấy nhiêu đó thôi từ những gì mình vừa chia sẽ chắc rằng là sẽ có nhiều ứng dụng hay với giọng nói. Hãy cùng phát triển nào và đừng quên chia sẽ dự án của mình với cộng đầu nhá ! Cảm ơn các bạn đã đọc bài viết !

Dưới đây là video demo dự án của mình và mình đã ứng dụng bài viết này vào đó ! Mong là sẽ có sản phẩm hay hơn từ các bạn

Youtube: 
lên
32 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Điều khiển động cơ Servo bằng điện thoại

Bấy lâu nay ta đã làm rất nhiều với servo, với bluetooth. Hôm nay, mình sẽ giới thiệu cho các cách phối hợp 2 cái đó lại, và tương lai các bạn sẽ có thể tự làm đươc cho mình một cánh tay robot bằng những chú servo!

Với tinh thần chia sẻ những kiến thức đã có và cùng nhau chế tạo ROBOT sau bài viết này hứa hẹn sẽ có nhiều bài viết nữa, có thể nói là toàn bộ quá trình làm nên dự án của mình. Cùng với đó nhằm tham gia cuộc thi CCA do cộng động Arduino tổ chức mong các bạn góp ý và ủng hộ qua những comemnt góp ý bên dưới.

lên
17 thành viên đã đánh giá bài viết này hữu ích.

Điều khiển động cơ Servo từ xa bằng biến trở - Sử dụng module nRF24L01

Nhiều bạn đã và đang tìm hiểu những ứng dụng của module nRF24L01 và đang gặp rắc rối, hay không biết liệu nó có làm được gì hay hơn không. Ở bài viết này tôi xin hướng dẫn một cách tiếp theo để điều khiển động cơ Servo thông qua module nRF24L01 và biến trở. Nó làm được gì không? Ở đây tác giả tạm giữ bí mật về ứng dụng của nó trên dự án của mình. Nhưng với bài viết này hoàn toàn bạn có thể nghĩ ra ứng dụng cho nó chẳng hạn tăng tốc độ máy quạt từ xa, điều chỉnh van nước,... Chả có gì khó cả, ta bắt đầu thôi nào!

lên
25 thành viên đã đánh giá bài viết này hữu ích.