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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.03.2014, 16:20   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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: ARDUINO MEGA 2560 + EASYVR SHILD

Ваш скетч можно сгенерировать в программе commander
Admin вне форума   Ответить с цитированием
Старый 05.03.2014, 22:49   #2
palagnyukvovan
Junior Member
 
Регистрация: 04.03.2014
Сообщений: 23
Вес репутации: 0
palagnyukvovan is an unknown quantity at this point
По умолчанию Re: ARDUINO MEGA 2560 + EASYVR SHILD

Цитата:
Сообщение от Admin Посмотреть сообщение
Ваш скетч можно сгенерировать в программе commander
Сгенерировал!
Вот что получилось:
Прикрепил файл.
Что дальше


#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,
GROUP_3 = 3,
};

enum Group1
{
G1_COMPUTER = 0,
};

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

enum Group3
{
G3_LIGHT = 0,
};


EasyVRBridge bridge;

int8_t group, idx;

void setup()
{
// bridge mode?
if (bridge.check())
{
cli();
bridge.loop(0, 1, 12, 13);
}
// run normally
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:
// write your action code here
// group = GROUP_X; <-- or jump to another group X for composite commands
break;
case G2_OFF:
// write your action code here
// group = GROUP_X; <-- or jump to another group X for composite commands
break;
}
break;
case GROUP_3:
switch (idx)
{
case G3_LIGHT:
// write your action code here
// group = GROUP_X; <-- or jump to another group X for composite commands
break;
}
break;
}
}
Вложения
Тип файла: rar 23.rar (2.2 Кб, 191 просмотров)

Последний раз редактировалось palagnyukvovan; 06.03.2014 в 10:30.
palagnyukvovan вне форума   Ответить с цитированием
Старый 07.03.2014, 23:01   #3
palagnyukvovan
Junior Member
 
Регистрация: 04.03.2014
Сообщений: 23
Вес репутации: 0
palagnyukvovan is an unknown quantity at this point
По умолчанию Re: ARDUINO MEGA 2560 + EASYVR SHILD

Скетч не подходит.
Опредтлил так:
В коде удалил ! в строке if (!easyvr.detect()) на так if (easyvr.detect()) (весь код кидать нет смысла)
После етого при включении произносит "Ева активирована" после чего в мониторе видает EasyVR detected! потом "Say a name computer" и стоит, на голос реакции нет.
Помогите поправить скетч под мой камень
palagnyukvovan вне форума   Ответить с цитированием
Старый 08.03.2014, 23:48   #4
palagnyukvovan
Junior Member
 
Регистрация: 04.03.2014
Сообщений: 23
Вес репутации: 0
palagnyukvovan is an unknown quantity at this point
По умолчанию Re: ARDUINO MEGA 2560 + EASYVR SHILD

Вот моя EasyVR http://arduino-ua.com/prod343-EasyVR...navatel_golosa


http://arduino-ua.com/products_pictu...syVRshield.jpg

Вот моя дуина http://arduino.cc/en/Main/ArduinoBoardMega2560

http://arduino.cc/en/uploads/Main/Ar..._R3_Fronte.jpg

Последний раз редактировалось palagnyukvovan; 08.03.2014 в 23:51.
palagnyukvovan вне форума   Ответить с цитированием
Старый 10.03.2014, 11:35   #5
palagnyukvovan
Junior Member
 
Регистрация: 04.03.2014
Сообщений: 23
Вес репутации: 0
palagnyukvovan is an unknown quantity at this point
По умолчанию Re: ARDUINO MEGA 2560 + EASYVR SHILD

Может кто работал с таким шилдом. Подскажите.
palagnyukvovan вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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