Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.02.2014, 17:18   #171
Mikhail
Member
 
Регистрация: 19.02.2014
Сообщений: 40
Вес репутации: 0
Mikhail is an unknown quantity at this point
По умолчанию Re: Голосовое управление нагрузками

Здравствейте. Ну подскажите. Я уже три дня и три ночи пытаюсь наладить EASYVR.
Он совершенно отказывается управлять ардуино.
Вот скетч формат
PHP код:
#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"
EasyVR easyvr(port);

//Groups and Commands
enum Groups
{
  
GROUP_1  1,
  
GROUP_2  2,
};

enum Group1 
{
  
G1_COMPUTER 0,
};

enum Group2 
{
  
G2_ON 0,
  
G2_OFF 1,
};


EasyVRBridge bridge;

int8_t groupidx;

void setup()
{
  
pinMode(10,OUTPUT);
  if (
bridge.check())
  {
    
cli();
    
bridge.loop(011213);
  }
  
// run normally
  
Serial.begin(9600);
  
port.begin(9600);

  if (!
easyvr.detect())
  {
    
Serial.println("EasyVR not detected!");
    for (;;);
  }

  
easyvr.setPinOutput(EasyVR::IO1LOW);
  
Serial.println("EasyVR detected!");
  
easyvr.setTimeout(5);
  
easyvr.setLanguage(0);

  
group EasyVR::TRIGGER//<-- start group (customize)
}

void action();

void loop()
{
  
easyvr.setPinOutput(EasyVR::IO1HIGH); // 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::IO1LOW); // 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(groupidxnametrain))
    {
      
Serial.print(" = ");
      
Serial.println(name);
    }
    else
      
Serial.println();
    
easyvr.playSound(0EasyVR::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(errHEX);
    }
  }
}

void action()
{
    switch (
group)
    {
    case 
GROUP_1:
      switch (
idx)
      {
      case 
G1_COMPUTER:
        
// 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_ON:
       
digitalWrite(10,HIGH);
        break;
      case 
G2_OFF:
        
DigitalWrite(10,LOW);
        break;
      }
      break;
    }

Сама плата работает в коммандере в тесте и звуки воспроизводит.
Ардуина тоже работает закидывал сетчи с миганием и морзе на 10пин. Все работает. Может нажо перемычку на ардуине куда ставить но в инструкции особо про перемычку не написано.
Mikhail вне форума   Ответить с цитированием
Старый 23.02.2014, 18:58   #172
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Голосовое управление нагрузками

Попробуйте вот этот код
Код:
#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" 
EasyVR easyvr(port); 

//Groups and Commands 
enum Groups 
{ 
  GROUP_1  = 1, 
  GROUP_2  = 2, 
}; 

enum Group1  
{ 
  G1_COMPUTER = 0, 
}; 

enum Group2  
{ 
  G2_ON = 0, 
  G2_OFF = 1, 
}; 


EasyVRBridge bridge; 

int8_t group, idx; 

void setup() 
{ 
  pinMode(10,OUTPUT); 
  Serial.begin(9600); 
  port.begin(9600); 

  if (!easyvr.detect()) 
  { 
    Serial.println("EasyVR not detected!"); 
    for (;;); 
  } 

  easyvr.setPinOutput(EasyVR::IO1, LOW); 
  Serial.println("EasyVR detected!"); 
  easyvr.setTimeout(5); 
  easyvr.setLanguage(0); 

  group = EasyVR::TRIGGER; //<-- start group (customize) 
} 

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_1: 
      switch (idx) 
      { 
      case G1_COMPUTER: 
        // 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_ON: 
       digitalWrite(10,HIGH); 
        break; 
      case G2_OFF: 
        DigitalWrite(10,LOW); 
        break; 
      } 
      break; 
    } 
}
Admin вне форума   Ответить с цитированием
Старый 23.02.2014, 20:15   #173
Mikhail
Member
 
Регистрация: 19.02.2014
Сообщений: 40
Вес репутации: 0
Mikhail is an unknown quantity at this point
По умолчанию Re: Голосовое управление нагрузками

Admin попробовал ваш скетч. Но все равно не реагирует на команды. Скажите может дело не в скетче. У меня easy подключена к ардуино etx-tx и erx-rx. Может не так подключать?
Mikhail вне форума   Ответить с цитированием
Старый 23.02.2014, 20:25   #174
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Голосовое управление нагрузками

В скетче прописано что нужно подключать к 12,13
Admin вне форума   Ответить с цитированием
Старый 23.02.2014, 20:52   #175
Mikhail
Member
 
Регистрация: 19.02.2014
Сообщений: 40
Вес репутации: 0
Mikhail is an unknown quantity at this point
По умолчанию Re: Голосовое управление нагрузками

так я и к 12 и 13 и наоборот. Все равно.
Mikhail вне форума   Ответить с цитированием
Старый 23.02.2014, 21:03   #176
Mikhail
Member
 
Регистрация: 19.02.2014
Сообщений: 40
Вес репутации: 0
Mikhail is an unknown quantity at this point
По умолчанию Re: Голосовое управление нагрузками

скажите а может проблема быть в том что я закинул sound в comandere. А в скетче ответы на команды.
Mikhail вне форума   Ответить с цитированием
Старый 23.02.2014, 21:05   #177
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Голосовое управление нагрузками

А в командере голосовые команды работают?
Admin вне форума   Ответить с цитированием
Старый 23.02.2014, 21:11   #178
Mikhail
Member
 
Регистрация: 19.02.2014
Сообщений: 40
Вес репутации: 0
Mikhail is an unknown quantity at this point
По умолчанию Re: Голосовое управление нагрузками

Да и в тесте тоже.
Mikhail вне форума   Ответить с цитированием
Старый 23.02.2014, 21:26   #179
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Голосовое управление нагрузками

A RX с TX местами не пробовали поменять?
Admin вне форума   Ответить с цитированием
Старый 23.02.2014, 21:53   #180
Mikhail
Member
 
Регистрация: 19.02.2014
Сообщений: 40
Вес репутации: 0
Mikhail is an unknown quantity at this point
По умолчанию Re: Голосовое управление нагрузками

Пробовал
Mikhail вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:50. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика