Ses komutuyla led açma
  • Açıl denilince açılan kapan denilince kapanan bir led yapmak istiyorum bunu nasıl gerçekleştirebilirim ? Veya hangi kaynaklardan yararlanabilirim?
  • easyVR diyeyim gerisini sen getir.
  • Merhaba,

    Forumda ve arduino'da yeniyim. Easyvr ile şuan için ben de led açma olayını yapmaya çalışıyorum. Ancak easyvr'da oluşturup arduino ide'de kodları derlediğimde 'EasyVr dose not name a type hatası alıyorum. EasyVr kütüphanesi kurulu sketchten kontrol ettim. Dosya yolunda da buldum ama hatayı düzeltemedim. Yardımlarınızı bekliyorum. Kodlar aşağıdaki gibi:

    #if defined(ARDUINO) && ARDUINO >= 100

    #include "Arduino.h"

    #include "Platform.h"

    #include "SoftwareSerial.h"

    #ifndef CDC_ENABLED

    // Shield Jumper on SW

    SoftwareSerial port(12,13);

    #else

    // Shield Jumper on HW (for Leonardo)

    #define port Serial1

    #endif

    #else // Arduino 0022 - use modified NewSoftSerial

    #include "WProgram.h"

    #include "NewSoftSerial.h"

    NewSoftSerial port(12,13);

    #endif



    #include "EasyVR.h"



    EasyVR easyvr(port);



    //Groups and Commands

    enum Groups

    {
    GROUP_0 = 0,
    GROUP_1 = 1,
    GROUP_2 = 2,
    GROUP_16 = 16,
    };


    enum Group0
    {
    G0_HELLO = 0,
    };

    enum Group1
    {
    G1_SERENAY = 0,
    G1_BETUL = 1,
    G1_KEMAL = 2,
    G1_BERKER = 3,
    };

    enum Group2
    {
    G2_LED_ON = 0,
    G2_LED_OFF = 1,
    };

    enum Group16
    {
    G16_123 = 0,
    G16_456 = 1,
    G16_789 = 2,
    };



    EasyVRBridge bridge;



    int8_t group, idx;



    void setup()

    {

    #ifndef CDC_ENABLED

    // bridge mode?

    if (bridge.check())

    {

    cli();

    bridge.loop(0, 1, 12, 13);

    }

    // run normally

    Serial.begin(9600);

    Serial.println("Bridge not started!");

    #else

    // bridge mode?

    if (bridge.check())

    {

    port.begin(9600);

    bridge.loop(port);

    }

    Serial.println("Bridge connection aborted!");

    #endif

    port.begin(9600);



    while (!easyvr.detect())

    {

    Serial.println("EasyVR not detected!");

    delay(1000);

    }



    easyvr.setPinOutput(EasyVR::IO1, LOW);

    Serial.println("EasyVR detected!");

    easyvr.setTimeout(5);

    easyvr.setLanguage(0);


    group = EasyVR::TRIGGER; //<-- start group (customize)<br />
    pinMode(11, OUTPUT);
    digitalWrite(11, LOW);
    }



    void action();



    void loop()

    {

    easyvr.setPinOutput(EasyVR::IO1, HIGH); // LED on (listening)



    Serial.print("Say a command in Group ");

    Serial.println(group);

    easyvr.recognizeCommand(group);



    do

    {

    // can do some processing while waiting for a spoken command

    }

    while (!easyvr.hasFinished());



    easyvr.setPinOutput(EasyVR::IO1, LOW); // LED off



    idx = easyvr.getWord();

    if (idx >= 0)

    {

    // built-in trigger (ROBOT)

    // group = GROUP_X; <-- jump to another group X<br />
    return;

    }

    idx = easyvr.getCommand();

    if (idx >= 0)

    {

    // print debug message

    uint8_t train = 0;

    char name[32];

    Serial.print("Command: ");

    Serial.print(idx);

    if (easyvr.dumpCommand(group, idx, name, train))

    {

    Serial.print(" = ");

    Serial.println(name);

    }

    else

    Serial.println();

    easyvr.playSound(0, EasyVR::VOL_FULL);

    // perform some action

    action();

    }

    else // errors or timeout

    {

    if (easyvr.isTimeout())

    Serial.println("Timed out, try again...");

    int16_t err = easyvr.getError();

    if (err >= 0)

    {

    Serial.print("Error ");

    Serial.println(err, HEX);

    }

    }

    }



    void action()

    {

    switch (group)

    {

    case GROUP_0:
    switch (idx)
    {
    case G0_HELLO:
    // write your action code here
    group = GROUP_2;// group = GROUP_X; <-- or jump to another group X for composite commands<br /> break;
    }
    break;
    case GROUP_1:
    switch (idx)
    {
    case G1_SERENAY:
    // write your action code here
    // group = GROUP_X; <-- or jump to another group X for composite commands<br /> break;
    case G1_BETUL:
    // write your action code here
    // group = GROUP_X; <-- or jump to another group X for composite commands<br /> break;
    case G1_KEMAL:
    // write your action code here
    // group = GROUP_X; <-- or jump to another group X for composite commands<br /> break;
    case G1_BERKER:
    // write your action code here
    // group = GROUP_X; <-- or jump to another group X for composite commands<br /> break;
    }
    break;
    case GROUP_2:
    switch (idx)
    {
    case G2_LED_ON:
    // write your action code here
    group = GROUP_0;// group = GROUP_X; <-- or jump to another group X for composite commands<br />
    digitalWrite(11, HIGH); // set the LED on
    break;
    case G2_LED_OFF:
    // write your action code here
    group = GROUP_0;// group = GROUP_X; <-- or jump to another group X for composite commands<br />
    digitalWrite(11, LOW); // set the LED off
    break;
    }
    break;
    case GROUP_16:
    switch (idx)
    {
    case G16_123:
    // write your action code here
    // group = GROUP_X; <-- or jump to another group X for composite commands<br /> break;
    case G16_456:
    // write your action code here
    // group = GROUP_X; <-- or jump to another group X for composite commands<br /> break;
    case G16_789:
    // write your action code here
    // group = GROUP_X; <-- or jump to another group X for composite commands<br /> break;
    }
    break;
    }

    }

  • easyvr kutuphaneleri bilgisayarda kurulu olan arduino altındaki library klasörü aldında kurulu olması lazım onu kontrol et.
  • Belgeler klasöründeki arduino librarysinde vardı zaten. Ancak Program Files içindeki arduino librarysinde yoktu oraya da kopyaladım sorun düzeldi. Teşekkürler :)

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook
Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.