`
晓得时间飞快,没想到距离上次发布已经快一个月了,今天把资料和实物全部整合测试了一遍,发现很多地方的不足之处,欢迎大佬批评指正!
一、项目名称
arduino和小车作为语音开发板的测试
二、准备工作
准备东西如下:庆科MXPVT-VBS7100语音开发板、小车、arduino uno板、胶枪、LCD1602等
三、组装后效果图
如下:(这里注意需要把听筒单独高举才能更好的和语音板对话)
四、注入灵魂
测试结果相对满意,只不过测试了车子的前进、后退、左转、右转,比较简单
效果图如下:
五、总结分析
1、由于语音板返回的ASR指令较为特殊,故作了特别处理,采用了比较简单的ASR指令和编号如下:
2、由于语音识别能力尚需加强,故在对话时的距离需要保持在30cm内
3、由于整体供电能力不足,在小车启动过程中,会导致LCD1602的亮度降低,但问题不大
4、经过几天的反复测试,语音板对汉语识别能力有待提高,不过值得骄傲的是,对英文的阅读发音比较标准
5、反复几次测试,发现语音板功能还需继续挖掘
六、代码展示
- #include //引用LCD1602的库
- #include
- LiquidCrystal_I2C lcd(0x3F, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display
- #define IN1 4 //定义ARDUINO驱动电机引脚
- #define IN2 5
- #define IN3 6
- #define IN4 7
- void setup()
- {
- pinMode(IN1,OUTPUT);
- pinMode(IN2,OUTPUT);
- pinMode(IN3,OUTPUT);
- pinMode(IN4,OUTPUT);
- lcd.init();
- lcd.backlight();
- lcd.print("MXPVT-VSB7100");
- Serial.begin(115200);
- }
- //int i;
- String str="";
- void loop()
- {
- while (Serial.available() > 0)
- {
- str += char(Serial.read());
- delay(2);
- }
- if (str.length() > 0)
- {
- //Serial.println(str);
- if(str[12]=='1'){
- some1();
- }
- if(str[12]=='2'){
- some2();
- }
- if(str[12]=='3'){
- some3();
- }
- if(str[12]=='4'){
- some4();
- }
- str = "";
- }
-
- }
- void some1(){
- lcd.clear();
- lcd.print("RECEIVE ASR DATA:"); // Print a message to the LCD.
- lcd.setCursor(0, 1); //newline
- lcd.print("ZL:QianJin BH:1");// Print a message to the LCD
- forward();
- }
- void some2(){
- lcd.clear();
- lcd.print("RECEIVE ASR DATA:"); // Print a message to the LCD.
- lcd.setCursor(0, 1); //newline
- lcd.print("ZL:HouTui BH:2");// Print a message to the LCD
- back();
- }
- void some3(){
- lcd.clear();
- lcd.print("RECEIVE ASR DATA:"); // Print a message to the LCD.
- lcd.setCursor(0, 1); //newline
- lcd.print("ZL:XiangZuo BH:3");// Print a message to the LCD
- turnRight();
- }
- void some4(){
- lcd.clear();
- lcd.print("RECEIVE ASR DATA:"); // Print a message to the LCD.
- lcd.setCursor(0, 1); //newline
- lcd.print("ZL:XiangYou BH:4");// Print a message to the LCD
- turnLeft();
- }
- void forward(){
- digitalWrite(IN1,HIGH);
- digitalWrite(IN2,LOW);
- digitalWrite(IN3,HIGH);
- digitalWrite(IN4,LOW);
- }
- void back(){
- digitalWrite(IN1,LOW);
- digitalWrite(IN2,HIGH);
- digitalWrite(IN3,LOW);
- digitalWrite(IN4,HIGH);
- }
- void turnLeft(){
- digitalWrite(IN1,LOW);
- digitalWrite(IN2,LOW);
- digitalWrite(IN3,HIGH);
- digitalWrite(IN4,LOW);
- }
- void turnRight(){
- digitalWrite(IN1,HIGH);
- digitalWrite(IN2,LOW);
- digitalWrite(IN3,LOW);
- digitalWrite(IN4,LOW);
- }
七、感谢电子发烧友及小编!欢迎大家相互学习和交流,后续测试视频如下:
[media]http://v.youku.com/v_show/id_XNDAwOTYzNTMwMA==.html?spm=a2h3j.8428770.3416059.1[/media]
`