0 đánh giá

Lập trình Điều khiển thiết bị dùng Giọng nói

Điều khiển thiết bị qua giọng nói của mình ?. Làm sao thế nào. Bài hướng dẫn này sẽ giúp bạn.

Bước 1: Chuẩn bị

Bạn cần chuẩn bị:

- Microphone như hình(nếu mua sẽ đi kèm với module nhận dạng)

- USB to serial

- Module nhận dạng giọng nói

- Arduino UNO

- 1 LED RGB, 3 trở 220Ohm

Bước 2: Nạp lệnh giọng nói

Đầu tiên ta phải cài đặt giọng nói cho Module nhận dạng trước, Module được giới thiệu ở trên chỉ thu được 1 từ (1.3s). Cho phép ta thu 5 lệnh khác nhau. 

Trước tiên bạn tải phần mềm AccessPort, phần mềm này sẽ giúp bạn gửi lệnh đến module để tiến hành thu âm. 

Tiến hành nối: 

  • Vcc của Module Vcc đến Arduino 5V
  • GND của Module đến Arduino GND
  • RX của Module đến Arduino RX
  • TX của Module đến Arduino TX

Tập lệnh của Module nhận dạng:

  1. Xóa lệnh  1 - gửi mã hex AA 01
  2. Xóa lệnh  2 - gửi mã hex AA 02
  3. Xóa lệnh  3 - gửi mã hex AA 03
  4. Xóa tất cả các lệnh - gửi mã hex AA 04
  5. Thu lệnh 1 - gửi mã hex AA 11
  6. Thu lệnh 2 - gửi mã hex AA 12
  7. Thu lệnh 3 - gửi mã hex AA 13
  8. Nhận lệnh 1 - gửi mã hex AA 21
  9. Nhận lệnh 2 - gửi mã hex AA 22
  10. Nhận lệnh 3 - gửi mã hex AA 23

Bắt đầu thu âm:

Đầu tiên bạn nối module nhận dạng vào USB to RS232 và cắm vào máy tính. Mở phần mềm AccessPort lên. Chọn cổng COM và cấu hình tốc độ 9600. Ta sẽ thu 5 lệnh gồm: WHITE, RED, BLUE, GREEN, OFF.
Ở mục nhập bạn chọn định dạng HEX, gõ AA 06, chọn send để chọn cấu hình common, gõ vào AA 11 và gửi đi. Lệnh này cho phép ta nhập Lệnh giọng nói 1, sau khi bạn nhìn thấy chữ Start, hãy nói lệnh vào micro, chú ý 1 lệnh chỉ được thu trong 1.3s, chỉ đủ cho 1 từ. bạn tiếp tục thực hiện cho lệnh 2,3,4 như Video ở bước 1.

Bước 3: Nối dây

Đơn giản, bạn nối dây như hình trên.

Tiến hành nối: 

  • Vcc của Module đến Arduino 5V
  • GND của Module đến Arduino GND
  • RX của Module đến Arduino RX
  • TX của Module đến Arduino TX
Bước 4: Chương trình
int redPin = 9; // R nối với digital pin 11
int greenPin = 10; // G nối với digital pin 9
int bluePin = 11; // B nối với digital pin 10
byte com = 0; //reply from voice recognition

void setup()
{
Serial.begin(9600);
pinMode(redPin, OUTPUT); // redPin kểu output
pinMode(greenPin, OUTPUT); // greenPin kểu output
pinMode(bluePin, OUTPUT); // bluePin kểu output
delay(2000);
Serial.write(0xAA);
Serial.write(0x37);
delay(1000);
Serial.write(0xAA);
Serial.write(0x21);

color(255,255,255); // Bật đèn sáng trắng
delay(5000);
}

void loop() 
{
while(Serial.available())
{
com = Serial.read(); //Đọc giá trị lệnh
switch(com)
{
case 0x11:
color(255,255,255); // bậtLED on -- white
break;
case 0x12:
color(255, 0, 0); // bật RGB LED red
break;
case 0x13:
color(0,255, 0); // bật RGB LED green
break;
case 0x14:
color(0, 0, 255); // bật RGB LED blue
break;
case 0x15:
color(0,0,0); // bật RGB LED off
break;
}
}
}

void color (unsigned char red, unsigned char green, unsigned char blue) // the color generating function
{
analogWrite(redPin, red*102/255);
analogWrite(bluePin, blue*173/255);
analogWrite(greenPin, green*173/255);
}

 

(!) Nếu có bất kỳ thắc mắc nào cần hỏi vui lòng đặt câu hỏi tại HỏiHay.Net, Cộng đồng Hỏi đáp Hỏi Hay sẽ trả lời bạn.
1,347 lượt xem ^tháng ^ngày, ^năm
admin 2,030 điểm

Please log in or register to Comment this Media.