CSK4002语音和Arduino交互开关灯

该代码示例展示了如何使用Arduino和SoftwareSerial库通过蓝牙模块控制LED灯。程序接收到特定的语音命令(如095、010等)后,会执行相应的操作,如点亮或关闭LED灯,并通过蓝牙回传确认信息。
摘要由CSDN通过智能技术生成
#include <Arduino.h>
#include <SoftwareSerial.h>

//Tx-A1 Rx-A2
SoftwareSerial BT(A1, A2);
char speechval[12]={0};
int wi=0;
int speech = 0;
int ledPin = 8;
int ledPin9 = 9;

void setup(){
  Serial.begin(9600);
  BT.begin(115200);
  pinMode(ledPin, OUTPUT);
  pinMode(ledPin9, OUTPUT);
  wi=0;
}

void loop(){

  if (BT.available()) 
  {
     speechval[wi] = BT.read();
     //Serial.println(speechval[wi]);
     //Serial.println(wi);
     if(speechval[wi] == '#' || wi >= 5){
       wi = 0;
     }
     else{
       wi++;
     }
  }
  //指令一
  if(speechval[2] == '0'){
    if(speechval[3] == '9'){
      if(speechval[4] == '5'){
        speech = 95;
        //Serial.println("$A095#");
      }
    }
  }

   //测试关灯
   if(speechval[2] == '0'){
    if(speechval[3] == '1'){
      if(speechval[4] == '0'){
        speech = 10;
        Serial.println("$B010#");
        digitalWrite(ledPin,LOW);
        digitalWrite(ledPin9,LOW);
      }
    }
  }

   //亮红灯
   if(speechval[2] == '0'){
    if(speechval[3] == '1'){
      if(speechval[4] == '1'){
        speech = 11;
        Serial.println("$B011#");
        digitalWrite(ledPin,HIGH);
      }
    }
  }
     //亮绿灯
   if(speechval[2] == '0'){
    if(speechval[3] == '1'){
      if(speechval[4] == '2'){
        speech = 12;
        Serial.println("$B012#");
        digitalWrite(ledPin9,HIGH);
      }
    }
  }
    //亮红灯
  if(speech == 11){
      delay(100);
      BT.print("$A011#");
      Serial.println("OK");
      speech = 0;
      for(int i;i<10;i++){
        speechval[i] = 0;
      }
  } 
  
  //亮绿灯
  if(speech == 12){
      delay(100);
      BT.print("$A012#");
      Serial.println("OK");
      speech = 0;
      for(int i;i<10;i++){
        speechval[i] = 0;
      }
  } 
      //关灯
  if(speech == 10){
      delay(100);
      BT.print("$A010#");
      Serial.println("OK");
      speech = 0;
      for(int i;i<10;i++){
        speechval[i] = 0;
      }
  } 
      //好的
  if(speech == 95){
      delay(100);
      BT.print("$A045#");
      Serial.println("OK");
      speech = 0;
      for(int i;i<10;i++){
        speechval[i] = 0;
      }
  }

  
}

购买的是yaweibo的语音交互模块

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值