نمایش نتایج: از 1 به 6 از 6

موضوع: ماژول تشخیص فرامین صوتی - تشخیص صدا ( Voice Recognition ) همراه با میکروفن

Hybrid View

  1. #1
    Junior Member
    تاریخ عضویت
    Aug 2016
    نوشته ها
    3
    سلام
    الان این کد برای فعالسازی 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);
    }
    }

  2. #2
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط 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);
    }
    }
    باید با ماژول تست بشه
    ببینیم جواب میده یا نه!
    اگر نه شروع کنیم به دیباگ

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

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO