![]() |
![]() |
#11 |
Junior Member
Регистрация: 04.03.2014
Сообщений: 23
Вес репутации: 0 ![]() |
![]()
А как ето?
Мжет у кого есть простой скетч для проверки спаривания етих двух плат ? Тоесть на одну команду. Ато както надо проверить почему EasyVR not detected! Может в скетче косяк. Он под Iteaduino V2.2 (ATmega 328) а у меня arduino mega 2560. #if defined(ARDUINO) && ARDUINO >= 100 #include "Arduino.h" #include "SoftwareSerial.h" SoftwareSerial port(12,13); #else // Arduino 0022 - use modified NewSoftSerial #include "WProgram.h" #include "NewSoftSerial.h" NewSoftSerial port(12,13); #endif #include "EasyVR.h" #define SND_AUDIO_1 1 #define SND_AUDIO_2 2 #define SND_AUDIO_3 3 #define SND_AUDIO_4 4 EasyVR easyvr(port); EasyVRBridge bridge; uint32_t mask = 0; int8_t group = 0; uint8_t train = 0; char name[32]; void setup() { // bridge mode? if (bridge.check()) { cli(); bridge.loop(0, 1, 12, 13); } Serial.begin(9600); port.begin(9600); pinMode(2, OUTPUT); if (!easyvr.detect()) { Serial.println("EasyVR not detected!"); for (; ![]() } easyvr.setPinOutput(EasyVR::IO1, LOW); Serial.println("EasyVR detected!"); easyvr.setTimeout(5); easyvr.setLanguage(EasyVR::ITALIAN); int16_t count = 0; if (easyvr.getGroupMask(mask)) // get trained user names and passwords { uint32_t msk = mask; for (group = 0; group <= EasyVR::PASSWORD; ++group, msk >>= 1) { if (!(msk & 1)) continue; if (group == EasyVR::TRIGGER) Serial.print("Trigger: "); else if (group == EasyVR::PASSWORD) Serial.print("Password: "); else { Serial.print("Group "); Serial.print(group); Serial.print(": "); } count = easyvr.getCommandCount(group); Serial.println(count); for (int8_t idx = 0; idx < count; ++idx) { if (easyvr.dumpCommand(group, idx, name, train)) { Serial.print(idx); Serial.print(" = "); Serial.print(name); Serial.print(", Trained "); Serial.print(train, DEC); if (!easyvr.isConflict()) Serial.println(" times, OK"); else { int8_t confl = easyvr.getWord(); if (confl >= 0) Serial.print(" times, Similar to Word "); else { confl = easyvr.getCommand(); Serial.print(" times, Similar to Command "); } Serial.println(confl); } } } } } easyvr.setLevel(EasyVR::HARDER); easyvr.playSound(SND_AUDIO_1, EasyVR::VOL_FULL); digitalWrite(2, LOW); } void loop() { int idx_cmd; int idx_cmd2; int idx_pwd; Serial.println("Say a name computer"); easyvr.recognizeCommand(1); // recognise command in group 1 while (!easyvr.hasFinished()); // wait for user name idx_cmd = easyvr.getCommand(); // get recognised user name if (idx_cmd >= 0) { Serial.print("Name: "); if (easyvr.dumpCommand(1, idx_cmd, name, train)) Serial.println(name); else Serial.println(); easyvr.playSound(SND_AUDIO_3 , EasyVR::VOL_FULL); // ask a command Serial.println("Say the command"); easyvr.recognizeCommand(2); // set group 2 while (!easyvr.hasFinished()); // wait command idx_cmd2 = easyvr.getCommand(); if (idx_cmd2 == 0) { Serial.println("On"); easyvr.recognizeCommand(3); // set group 3 while (!easyvr.hasFinished()); // wait command idx_pwd = easyvr.getCommand(); if (idx_pwd == 0) { Serial.println("Light"); easyvr.playSound(SND_AUDIO_4 , EasyVR::VOL_FULL); digitalWrite(2, HIGH); } else Serial.println(); } if (idx_cmd2 == 1) // { Serial.println("Off"); easyvr.recognizeCommand(3); // set group 3 while (!easyvr.hasFinished()); // wait command idx_pwd = easyvr.getCommand(); if (idx_pwd == 0) { Serial.println("Ligh off"); easyvr.playSound(SND_AUDIO_4 , EasyVR::VOL_FULL); digitalWrite(2, LOW); } } int16_t err = easyvr.getError(); if (easyvr.isTimeout() || (err >= 0)) // { Serial.println("Error, try again..."); easyvr.playSound(SND_AUDIO_2 , EasyVR::VOL_FULL); } else { if (easyvr.isTimeout()) Serial.println("Timed out, try again..."); int16_t err = easyvr.getError(); if (err >= 0) { Serial.print("Error "); Serial.println(err, HEX); } } } } Может у кого есть скетч под мою дуину...... буду благодарен. Последний раз редактировалось palagnyukvovan; 05.03.2014 в 16:20. |
![]() |
![]() |
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|