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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.06.2015, 13:42   #1
gamera
Junior Member
 
Регистрация: 26.04.2015
Сообщений: 11
Вес репутации: 0
gamera is an unknown quantity at this point
По умолчанию Re: Управление выключателем света любым пультом от бытовой техники

Привет, закидывал скрипт на arduino И получил вот эту ошибку:
Цитата:
Arduino: 1.6.4 (Windows 8.1), Плата"Arduino Nano, ATmega328"

In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\inc lude\avr\delay.h:37:0,
from sketch_jun13a.ino:2:
c:\program files (x86)\arduino\hardware\tools\avr\avr\inc lude\util\delay.h: In function 'void beep(byte, word)':
c:\program files (x86)\arduino\hardware\tools\avr\avr\inc lude\util\delay.h:245:40: error: __builtin_avr_delay_cycles expects a compile time integer constant
__builtin_avr_delay_cycles(__ticks_dc);
^
c:\program files (x86)\arduino\hardware\tools\avr\avr\inc lude\util\delay.h:245:40: error: __builtin_avr_delay_cycles expects a compile time integer constant
__builtin_avr_delay_cycles(__ticks_dc);
^
Multiple libraries were found for "IRremote.h"

Used: C:\Users\-\Documents\Arduino\libraries\IRremote

Not used: C:\Program Files (x86)\Arduino\libraries\RobotIRremote

Ошибка компиляции.

Это сообщение будет содержать больше информации чем
"Отображать вывод во время компиляции"
включено в Файл > Настройки
gamera вне форума   Ответить с цитированием
Старый 01.08.2016, 00:08   #2
V-Tik
Junior Member
 
Регистрация: 31.07.2016
Сообщений: 1
Вес репутации: 0
V-Tik is an unknown quantity at this point
По умолчанию Re: Управление выключателем света любым пультом от бытовой техники

Цитата:
Сообщение от gamera Посмотреть сообщение
Привет, закидывал скрипт на arduino И получил вот эту ошибку:
Код HTML:
#include <IRremote.h>  
#include <EEPROM.h>
#define button 7
#define speaker 3
#define lamp 6

IRrecv irrecv(2);  //вход для ик приемника
decode_results results;  
unsigned long ir_command;
uint8_t swt, count, state = 0;  //статус лампочки
   
void setup()  
{  
  pinMode(speaker, OUTPUT);//громкоговоритель
  pinMode(button, INPUT);//вход для кнопки
  digitalWrite(button,HIGH);//включить подтяжку
  pinMode(lamp, OUTPUT);//лампочка
  irrecv.enableIRIn(); // включить приемник  
}  
   
void loop() 
{  
 swt=digitalRead(button);
 count=0; 
 while(swt==0)
   {
    if(count>30)
     { 
       beep(100,400);
       for(unsigned long i=0; i<2000000; i++)
       {
         if (irrecv.decode(&results))  
          {  
            SaveEEPROM(results.value);  
            irrecv.resume();           
            break;            
          }
        } 
       beep(30,900);  
       break; 
      }
    count++;  
    swt=digitalRead(button);  
    _delay_ms(100); 
   }
  
 ir_command=LoadEEPROM();
    if (irrecv.decode(&results))
    {    
      if(ir_command==results.value) 
        {
          state=~state; 
          digitalWrite(lamp, state);
          beep(10,300); 
          _delay_ms(700); 
        }            
     irrecv.resume();            //очистить входящий буфер 
    } else  if(count>1)        //если было нажатие кнопки выключателя
             { 
               state=~state; //инвертируем статус
               digitalWrite(lamp, state); 
               beep(10,500);
               _delay_ms(100);
             }        
}

void SaveEEPROM(unsigned long ir_code)
{
  EEPROM.write(0, ir_code & 0xFF);
  EEPROM.write(1, (ir_code & 0xFF00) >> 8);
  EEPROM.write(2, (ir_code & 0xFF0000) >> 16);
  EEPROM.write(3, (ir_code & 0xFF000000) >> 24);
}

unsigned long LoadEEPROM() 
{
  byte val = EEPROM.read(3); 
  unsigned long ir_code=val;
      val = EEPROM.read(2);
                ir_code= (ir_code << 8) | val;
      val = EEPROM.read(1);
                ir_code= (ir_code << 8) | val;
      val = EEPROM.read(0);
                ir_code= (ir_code << 8) | val;
  return ir_code;
}

void beep(byte dur, word frq)
{
  dur=(1000/frq)*dur;
  for(byte i=0; i<dur; i++)
  {
   digitalWrite(speaker, HIGH); 
   _delay_us(1000); 
   digitalWrite(speaker, LOW);
   _delay_us(1000);
  } 
}
V-Tik вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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


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


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