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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.02.2014, 18:10   #161
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: Голосовое управление нагрузками

Прочитайте сообщения 156, 157
Admin вне форума   Ответить с цитированием
Старый 21.02.2014, 18:16   #162
Mikhail
Member
 
Регистрация: 19.02.2014
Сообщений: 40
Вес репутации: 0
Mikhail is an unknown quantity at this point
По умолчанию Re: Голосовое управление нагрузками

Прочитал! Пин поменял на 10.
Mikhail вне форума   Ответить с цитированием
Старый 21.02.2014, 19:58   #163
Mikhail
Member
 
Регистрация: 19.02.2014
Сообщений: 40
Вес репутации: 0
Mikhail is an unknown quantity at this point
По умолчанию 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);
// 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(1);

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;
}
}
Mikhail вне форума   Ответить с цитированием
Старый 21.02.2014, 20:13   #164
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: Голосовое управление нагрузками

А ошибка то какая?
Код для читабельности лучше заключать в тег PHP или CODE
Для этого нужно перейти в расширенный режим
Admin вне форума   Ответить с цитированием
Старый 21.02.2014, 20:14   #165
Mikhail
Member
 
Регистрация: 19.02.2014
Сообщений: 40
Вес репутации: 0
Mikhail is an unknown quantity at this point
По умолчанию Re: Голосовое управление нагрузками

светодиод не горит. Я как вы сказали с 13 пина поменял на 10. Но плата не реагирует.
Mikhail вне форума   Ответить с цитированием
Старый 21.02.2014, 20:18   #166
Mikhail
Member
 
Регистрация: 19.02.2014
Сообщений: 40
Вес репутации: 0
Mikhail is an unknown quantity at this point
По умолчанию Re: Голосовое управление нагрузками

Я повесил на него 520ом резистор. Синий диод так и горит и периодически мигает.
Mikhail вне форума   Ответить с цитированием
Старый 21.02.2014, 20:19   #167
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(1);

 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 вне форума   Ответить с цитированием
Старый 21.02.2014, 20:28   #168
Mikhail
Member
 
Регистрация: 19.02.2014
Сообщений: 40
Вес репутации: 0
Mikhail is an unknown quantity at this point
По умолчанию Re: Голосовое управление нагрузками

Сейчас возмущается на скобку после перехода
Serial.println("EasyVR not detected!");
for (;;
}- вот скобка.
внизу пишет.
Expected primary-expression before} token
Mikhail вне форума   Ответить с цитированием
Старый 21.02.2014, 21:46   #169
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 вне форума   Ответить с цитированием
Старый 21.02.2014, 22:12   #170
Mikhail
Member
 
Регистрация: 19.02.2014
Сообщений: 40
Вес репутации: 0
Mikhail is an unknown quantity at this point
По умолчанию Re: Голосовое управление нагрузками

Да нет я просто еще мало понимаю в данном програмировании и путаюсь. Вы ивините если что, буду потихоньку сам пробовать. Спасибо вам за все. Вроде уже чтото получается. Нашел видео по програмированию и литература что вы дали в помощ.
http://www.torrentino.com/torrents/923385 вот ссылка на видео. На русском.
Может кому пригодится.
Mikhail вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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