Использование инфрокрасника с секундным интервалом

Нет ответов
vadimish
Offline
Зарегистрирован: 27.02.2014

Здравствуйте, прошу помощи для написания скетча для Arduino использование инфрокрасника с секундным интервалом. Не селен в программировании и очень сложно собрать все в кучу нашел похожий скетч, но его нужно поправить запуск с помощью кнопки

01/*
02 * IR LED connected to PIN 3 (AtmelATmega88 pin 5)
03 */
04 
05#include <IRremote.h>
06 
07int RECV_PIN = 11;
08int BUTTON_PIN = 12;
09int STATUS_PIN = 13;
10 
11IRrecv irrecv(RECV_PIN);
12IRsend irsend;
13 
14decode_results results;
15 
16#define on 0x202B24D
17#define usb 0x10C8E11E
18 
19typedef struct {
20 unsigned long time;
21  long code;
22} remoteAction;
23 
24remoteAction beamerShow[2]={ // gives amount of seconds delay from starttime + code to be sent (see defines)
25  {1,on},{15,usb}};
26 
27int pointer=0;
28void setup()
29{
30  Serial.begin(9600);
31  irrecv.enableIRIn(); // Start the receiver
32  pinMode(BUTTON_PIN, INPUT);
33  pinMode(STATUS_PIN, OUTPUT);
34 
35}
36 
37void loop() {
38   
39 unsigned long timer=millis()/1000;
40 
41  if (timer>beamerShow[pointer].time)
42  {
43     digitalWrite(STATUS_PIN, HIGH);
44     irsend.sendNEC(beamerShow[pointer].code, 32); //on/off
45     digitalWrite(STATUS_PIN, LOW);
46     pointer++;
47  }
48}
1. При коротком нажатии кнопки /назовем12/ запускаем команды  
1remoteAction beamerShow[2]=
2 sent (see defines)
3  {1,on},{15,usb}};
2. При вторичном коротком нажатии на кнопку /назовем12/ запускаем команды
1remoteAction beamerShow[3]=
2      sent (see defines)
3 {1,on},{2,on},{15,usb}};

                                  И так по кругу

3. И отдельно выделенная коротким нажатием кнопка /назовем13/ запускаем команды
1remoteAction beamerShow[3]=
2      sent (see defines)
3 {1,on},{2,on},{15,usb}};
4. Сопровождение ВКЛ/ВЫКЛ сигналом