نقل قول نوشته اصلی توسط M.IRJ نمایش پست ها
سلام
الان این کد برای فعالسازی 3 تا خروجی ,fan ,led ,tv هر کدام با یه فرمان صوتی برای 0.5 ثانیه درسته؟

/**
************************************************** ****************************
* @file vr_sample_control_led.ino
* @author JiapengLi
* @brief This file provides a demostration on
how to control led by using VoiceRecognitionModule
************************************************** ****************************
* @note:
voice control led
************************************************** ****************************
* @section HISTORY

2013/06/13 Initial version.
*/

#include <SoftwareSerial.h>
#include "VoiceRecognitionV3.h"

/**
Connection
Arduino VoiceRecognitionModule
2 -------> TX
3 -------> RX
*/
VR myVR(2,3); // 2:RX 3:TX, you can choose your favourite pins.

uint8_t records[7]; // save record
uint8_t buf[64];

int led = 13;
int fan = 12 ;
int tv = 11 ;
#define onRecord (0)
#define offRecord (1)

/**
@brief Print signature, if the character is invisible,
print hexible value instead.
@param buf --> command length
len --> number of parameters
*/
void printSignature(uint8_t *buf, int len)
{
int i;
for(i=0; i<len; i++){
if(buf[i]>0x19 && buf[i]<0x7F){
Serial.write(buf[i]);
}
else{
Serial.print("[");
Serial.print(buf[i], HEX);
Serial.print("]");
}
}
}

/**
@brief Print signature, if the character is invisible,
print hexible value instead.
@param buf --> VR module return value when voice is recognized.
buf[0] --> Group mode(FF: None Group, 0x8n: User, 0x0n:System
buf[1] --> number of record which is recognized.
buf[2] --> Recognizer index(position) value of the recognized record.
buf[3] --> Signature length
buf[4]~buf[n] --> Signature
*/
void printVR(uint8_t *buf)
{
Serial.println("VR Index\tGroup\tRecordNum\tSignature");

Serial.print(buf[2], DEC);
Serial.print("\t\t");

if(buf[0] == 0xFF){
Serial.print("NONE");
}
else if(buf[0]&0x80){
Serial.print("UG ");
Serial.print(buf[0]&(~0x80), DEC);
}
else{
Serial.print("SG ");
Serial.print(buf[0], DEC);
}
Serial.print("\t");

Serial.print(buf[1], DEC);
Serial.print("\t\t");
if(buf[3]>0){
printSignature(buf+4, buf[3]);
}
else{
Serial.print("NONE");
}
Serial.println("\r\n");
}

void setup()
{
/** initialize */
myVR.begin(9600);

Serial.begin(115200);
Serial.println("Elechouse Voice Recognition V3 Module\r\nControl LED sample");

pinMode(led, OUTPUT);

if(myVR.clear() == 0){
Serial.println("Recognizer cleared.");
}else{
Serial.println("Not find VoiceRecognitionModule.");
Serial.println("Please check connection and restart Arduino.");
while(1);
}

if(myVR.load((uint8_t)onRecord) >= 0){
Serial.println("onRecord loaded");
}

if(myVR.load((uint8_t)offRecord) >= 0){
Serial.println("offRecord loaded");
}
}

void loop()
{
int ret;
ret = myVR.recognize(buf, 50);
if(ret>0){
switch(buf[1]){
case onRecord:
/** turn on LED */
digitalWrite(led, HIGH);
delay (500) ;
digitalWrite(led, LOW);
break;
default:
Serial.println("Record function undefined");
break;
}
/** voice recognized */
printVR(buf);
}

if(ret>0){
switch(buf[2]){
case onRecord:
/** turn on LED */
digitalWrite(fan, HIGH);
delay (500) ;
digitalWrite(fan, LOW);
break;
default:
Serial.println("Record function undefined");
break;
}
/** voice recognized */
printVR(buf);
}

if(ret>0){
switch(buf[3]){
case onRecord:
/** turn on LED */
digitalWrite(tv, HIGH);
delay (500) ;
digitalWrite(tv, LOW);
break;
default:
Serial.println("Record function undefined");
break;
}
/** voice recognized */
printVR(buf);
}
}
باید با ماژول تست بشه
ببینیم جواب میده یا نه!
اگر نه شروع کنیم به دیباگ

شما یک بار آپلود کن ببین جواب میگیری یا نه
اگه جواب نگرفتی بیا دیباگش می کنیم با هم