Имеется скеч на одну лампу. Нужен на две лампы. Чтобы было два выключателя, также програмировались кнопки пультов. Динамик один оставить. Код (C++): #include <IRremote.h> #include <avr/delay.h> #include <EEPROM.h> #define button 7 #define speaker 11 #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(frq); digitalWrite(speaker, LOW); _delay_us(frq); } } Помогите пожалуста.