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) 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 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 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 break; case G1_BETUL: // write your action code here // group = GROUP_X; <-- or jump to another group X for composite commands break; case G1_KEMAL: // write your action code here // group = GROUP_X; <-- or jump to another group X for composite commands break; case G1_BERKER: // write your action code here // group = GROUP_X; <-- or jump to another group X for composite commands 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 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 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 break; case G16_456: // write your action code here // group = GROUP_X; <-- or jump to another group X for composite commands break; case G16_789: // write your action code here // group = GROUP_X; <-- or jump to another group X for composite commands 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!

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