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

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

  1. #1
    Junior Member
    تاریخ عضویت
    Aug 2016
    نوشته ها
    3

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

    سلام
    من می خواستم با این ماژول بتونم چند تا خروجی رو فعال کنم اما تو برنامه نویسش مشکل پیدا کردم .
    کسی می تونه در این زمینه راهنماییم کنه؟
    ممنونم

  2. #2
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    3,938
    سلام
    شما PDF پشنهادی سایت روخوندید؟

    شما یا میتونید از پینهای میکروکنترلرتون برای این کار استفاده کنید یا این که میتونید ازپینهای خود ماژول استفاده کنید.
    اگه از میکرو بخواید استفاده کنید که از manual کمک بگیرید
    http://www.elechouse.com/elechouse/i...VR3_manual.pdf
    اگر قصد دارید از پینهای خود ماژول استفاده کنید می تونید از لینک زیر مثال دومش استفاده کنید:
    Voice Recognition Module -- Arduino Compatible [AU_VOI_REC_00A] - $23.50 : Elechouse, Arduino Play House

  3. #3
    Junior Member
    تاریخ عضویت
    Aug 2016
    نوشته ها
    3
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    سلام
    شما PDF پشنهادی سایت روخوندید؟

    شما یا میتونید از پینهای میکروکنترلرتون برای این کار استفاده کنید یا این که میتونید ازپینهای خود ماژول استفاده کنید.
    اگه از میکرو بخواید استفاده کنید که از manual کمک بگیرید
    http://www.elechouse.com/elechouse/i...VR3_manual.pdf
    اگر قصد دارید از پینهای خود ماژول استفاده کنید می تونید از لینک زیر مثال دومش استفاده کنید:
    Voice Recognition Module -- Arduino Compatible [AU_VOI_REC_00A] - $23.50 : Elechouse, Arduino Play House

    بله manual سایت رو خوندم , می خوام از خود پین های میکرو استفاده کنم اما الان تو کدنویسی مشکل پیدا کردم نمی دونم چه طوری باید 10 تا پین دیگه رو معرفی کنم و به فعال شدن هر کدوم یه فرمان اختصاص بدم.

  4. #4
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    3,938
    نقل قول نوشته اصلی توسط M.IRJ نمایش پست ها
    بله manual سایت رو خوندم , می خوام از خود پین های میکرو استفاده کنم اما الان تو کدنویسی مشکل پیدا کردم نمی دونم چه طوری باید 10 تا پین دیگه رو معرفی کنم و به فعال شدن هر کدوم یه فرمان اختصاص بدم.

    شما همون کد های کتابخونه اصلی رو در نظر بگیرید.
    یه if می نویسید اگر پیام صوتی دریافت شده با کامندی که شما ست کردید به عنوان نمادش مساوی بود اون موقع مثلا digitalWrite کن یه پین دیجیتال رو مقدار 0 یا 1.

    کافیه تو همون کد ها یه if اضافه کنید.

  5. #5
    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);
    }
    }

  6. #6
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    3,938
    نقل قول نوشته اصلی توسط 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