Как можно переделать данный код под attiny 2313a-pu?

mkvmaks
Offline
Зарегистрирован: 07.07.2013
#include <IRremote.h>
#include <IRremoteInt.h>

#define BUTTON_PIN  A2
#define LED_PIN     5

boolean buttonWasUp = true;  // была ли кнопка отпущена?
boolean ledEnabled = false;  // включен ли свет?

boolean state = 0;

//IR Receiver Module Pin and variable
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup(){
  pinMode(LED_PIN, OUTPUT);
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  irrecv.enableIRIn(); //Старт ИК-приёмника
  buttonWasUp=!digitalRead(BUTTON_PIN);

}

void loop(){
  boolean buttonIsUp = digitalRead(BUTTON_PIN);
        delay(50);
        buttonIsUp = digitalRead(BUTTON_PIN);
  if (buttonIsUp == buttonWasUp)  {
        buttonWasUp=!buttonIsUp;
        digitalWrite(LED_PIN,  !digitalRead(LED_PIN));

  }

  if(irrecv.decode(&results)){
    if(results.value == 0xFF629D)
    digitalWrite(LED_PIN,  !digitalRead(LED_PIN));
    irrecv.resume();
  }
}

 

mkvmaks
Offline
Зарегистрирован: 07.07.2013

Это упралвение релешкой с помощью ИК пульта.

Клапауций
Offline
Зарегистрирован: 10.02.2013

ты размер, получаемого кода смотрел, что просишь переделать под 2313?

*прошу переделать автотаз в автобус... приём.

mkvmaks
Offline
Зарегистрирован: 07.07.2013

6094 байт. А какой можно использовать контроллер для данной задачи из AVR, но не дорогой??

leshak
Offline
Зарегистрирован: 29.09.2011

Я в Atmega8 впихивал IRRemote... правда пришлось ее чуток "подпилить напильником" (выкинуть из нее то что я не использовал в проекте: не нужные мне протоколы, отсылку и т.д.). Правда у меня, там чуток еще своего кода была. Возможно ваш влезет и без "подпила".

P.S. А потом я посмотрел на разницу цены atmeg8 и atmega328 и подумал: а нафига я мучался? На тот момент atmega8 у нас стоила дороже 328-мой. 
P.S.S. А сейчас глядя на цены китайцев на всякие micro/mini вообще под большим вопрос а нужно ли самому плату делать (если речь про один/два девайса). По моим прикидкам "на рассыпухе" - или так же или дороже получается...

Клапауций
Offline
Зарегистрирован: 10.02.2013

leshak пишет:

Я в Atmega8 впихивал IRRemote... правда пришлось ее чуток "подпилить напильником"

подтверждаю - впихуется, пилить особо ничего не нужно, если код скетча не большой.

Пушной звер
Пушной звер аватар
Offline
Зарегистрирован: 17.03.2013
mkvmaks
Offline
Зарегистрирован: 07.07.2013

Устройтсво с данным кодом уже исправно работает больше месяца- зажигает мне люстрю+ работа от концевого выключателя. Но использовать для этого дорогую ардуино не гуманно (( вот и есть идея сделать маленькую платку - может чуть дороже будет - зато свое, зато почти сам.

mkvmaks
Offline
Зарегистрирован: 07.07.2013

У нас в городе контроллер ATmega8A-PU Корпус: DIP28-300 - стоит 90 руб. не так много. ATmega328P-AU (TQFP32)  - 173 руб. 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Не поверю что в ваш город нельзя получить хотя-бы вот это: http://www.ebay.com/itm/Redesign-Pro-Mini-atmega328-5V-16M-Replace-ATmega128-Arduino-Compatible-Nano-/121267662255?pt=LH_DefaultDomain_0&hash=item1c3c1dadaf

Клапауций
Offline
Зарегистрирован: 10.02.2013

mkvmaks пишет:

Устройтсво с данным кодом уже исправно работает больше месяца- зажигает мне люстрю+ работа от концевого выключателя. Но использовать для этого дорогую ардуино не гуманно (( вот и есть идея сделать маленькую платку - может чуть дороже будет - зато свое, зато почти сам.

я сегодня пил пиво с раками, пиво было холодное, раки были вкусные, есть идея завтра вечером повторить... приём.

*mkvmaks, тебе говорят что в 2313 не влезет, а ты тупишь про дуино - какая, нафиг, дуино, если ты говоришь не о прототипе, а о конечном устройстве?

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

Переделать можно. Необходимо вместо 

01 #include <IRremote.h>
02 #include <IRremoteInt.h>

либо взять другую библиотеку, либо переписать работу IR на прерывание. 

В IRremote.h много лишнего для вас (она универсальна => занимает много места).

Перепешите на прерывания, и будет счастье.