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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.09.2013, 13:30   #51
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
По умолчанию

Ну так скачайте требуемые библиотеки (они есть на форуме) и закиньте их в папку library
PHP код:
#include <IRremote.h> 
#include <CyberLib.h> 
Admin вне форума   Ответить с цитированием
Старый 01.09.2013, 15:53   #52
Ромка
Member
 
Регистрация: 11.08.2013
Сообщений: 57
Вес репутации: 0
Ромка is an unknown quantity at this point
По умолчанию

Все прошло после загрузки библиотек. Скетч залил на aruino. Теперь объясните принцип работы- я его включаю-ардуино пикает и мне просто необходимо нажать на необходимые кнопки пульта? Если да то как потом коды извлечь из ардуино?
Ромка вне форума   Ответить с цитированием
Старый 01.09.2013, 18:13   #53
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
По умолчанию

Выкладываю скетч, для записи кодов кнопок, запись осуществляется при установленной перемычке А0--GND
После записи кодов, следует снять перемычку
коды кнопок могут находится в EEPROM по адресам от 0 до 64 в зависимости от того куда вы их запишите
Для примера в скетче я записал в адреса 0-9
В главном цикле Loop из EEPROM считывается код кнопки записанный ранее по адресу 0
PHP код:
#include <IRremote.h>  
#include <CyberLib.h>

IRrecv irrecv(8);  //вход для ик приемника D8
IRsend irsend;
decode_results results;  

void setup()  
{  
  
D11_Out//пищалкка
  
D15_In;  //вход кнопки
  
D15_High;  //включить подтяжку  
  
irrecv.enableIRIn(); // включить приемник 
  
irrecv.blink13(true);  // включить мигание светодиода при приеме 
  
ProgPush() ; //программирование кнопок
  
for(uint8_t i=0i<12i++) beep(50random(1001000));  //сигнал готовности
}  
   
void loop() 
{
Start  
     
unsigned long ir_code
=ReadEEPROM_Long(0);//прочитать код кнопоки из EEPROM в переменную 

for (int i 03i++) { irsend.sendRC5(ir_code20);  delay_ms(100); }//теперь считанный код передаем по ИК каналу

End}
//////////////////////////////////////////////////////////////////////////////////////////////
void SavePush(uint8_t addr)  //сохранить нажатие кнопки
{
delay_ms(400);  //задержка для крректной работы
       
for(uint32_t i=0i<2000000i++)//ждем нажатия кнопки пульта
       
{
         if (
irrecv.decode(&results))   //если был сигнал с пульта
          
{                              // то сохраняем результат в EEPROM 
            
WriteEEPROM_Long(addrresults.value);            
            break;                  
//прервать цикл
          
}
        }
      
delay_ms(100);  
       
irrecv.resume();            //очистить входящий буфер
}
//////////////////////////////////////////////////////////////////////////////////////////////
void beep(byte durword frq)
{
  
dur=(1000/frq)*dur;  //расчет длительности бипа
  
for(byte i=0i<duri++)
  {
   
D11_High
   
delay_us(frq); 
   
D11_Low;
   
delay_us(frq);
  } 
}
//////////////////////////////////////////////////////////////////////////////////////////////////
void ProgPush() 
{
if(
D15_Read==0)//если установлена перемачка на А0--GND
   
{
     for(
uint8_t i=0i<9i++) // можно использовать только 0 до 63 адреса для записи
       
{
         
beep(200random(1001000));
         
SavePush(i); //сохранить кодовое значение пульта
       
}   
   } 

Admin вне форума   Ответить с цитированием
Старый 01.09.2013, 21:40   #54
Ромка
Member
 
Регистрация: 11.08.2013
Сообщений: 57
Вес репутации: 0
Ромка is an unknown quantity at this point
По умолчанию

Все соединил как вы сказали-светодиод реагировал на кнопки пульта(прогнал с 0-9),по завершению снял перемычку. Теперь что нужно сделать с кодами,их куда-то нужно сохранить? Что такое EEPROM ? В общем подскажите дальнейшие действия, как я понял их куда-то нужно сохранить?

Последний раз редактировалось Ромка; 01.09.2013 в 21:59.
Ромка вне форума   Ответить с цитированием
Старый 01.09.2013, 22:20   #55
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
По умолчанию

первое нажатие хранится в переменной ir_code
Вы можете использовать ее по своему назначению
Считываем из EEPROM второе нажатие, в ту же переменную ir_code
ir_code=ReadEEPROM_Long(1);
Используем
И т.д.
Admin вне форума   Ответить с цитированием
Старый 02.09.2013, 00:32   #56
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
По умолчанию

Цитата:
как я понял их куда-то нужно сохранить?
Они уже сохранены, даже если Вы обесточите контролер, они уже не сотрутся.
EEPROM это энергонезависимая память
Admin вне форума   Ответить с цитированием
Старый 02.09.2013, 06:54   #57
Ромка
Member
 
Регистрация: 11.08.2013
Сообщений: 57
Вес репутации: 0
Ромка is an unknown quantity at this point
По умолчанию

Ну теперь с ИК понятно. Возвращаемся к голосовому модулю. Можно по подробнее о пунке 7 ? Конкретно не понятно это цитирую "Зальем на ардуино скетч Blink из Examles. Выключим ардуино и переставим J12 на UP (это режим заливки звуков) включаем ардуино ждем 10 сек. D5 горит красным."
Ромка вне форума   Ответить с цитированием
Старый 02.09.2013, 18:33   #58
Ромка
Member
 
Регистрация: 11.08.2013
Сообщений: 57
Вес репутации: 0
Ромка is an unknown quantity at this point
По умолчанию

И я так понял что если сейчас заниматься VRBot, то придется стереть запомненные коды пульта? тк arduino dj время настройки голосового модуля будет в режиме моста?
Ромка вне форума   Ответить с цитированием
Старый 02.09.2013, 19:11   #59
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
По умолчанию

Коды пульта сохранены в энергонезависимой памяти, их можно стереть или перезаписать только специальной функцией или программатором.
Даже перепрошивка bootloader их не удалит

По поводу пункта 7, я только что проверил
Что бы войти в режим загрузки звуковых файлов, нужно
1 - пин XM модуля EasyVR подключить Пину 3,3в Arduino
2 - На Ардуине пин Res соеденить c любым пином GND, при этом в ардуине может быть залит любой скетч(не повлияет на работу)
3 - отключить питание на 2 сек.(выдернуть USB кабель)
4 - подключить питание
5 - запустить программу EasyVR Commander, не пытайтесь нажимать в программе кнопку Connect
6 - заходим в меню Tools--Update Sound Table
7 - Выбираем папку в которой лежит заранее подготовленный фаил audio.qxp
8 - Жмем Download и звуки должны загрузится в модуль EasyVr.

P.S.
Звуки которые в примере работать не будут, так как там совершенно другие пути к аудио файлам прописаны
Admin вне форума   Ответить с цитированием
Старый 02.09.2013, 20:06   #60
Ромка
Member
 
Регистрация: 11.08.2013
Сообщений: 57
Вес репутации: 0
Ромка is an unknown quantity at this point
По умолчанию

Ок! Пробую!

Последний раз редактировалось Ромка; 02.09.2013 в 21:07.
Ромка вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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