#include <IRremote.h>
int BUTTON_PIN = 2; // Пин для кнопки
int LED_PIN = 13; // Встроенный светодиод для индикации нажатия
IRsend irsend; // Создаем объект для отправки
bool lastButtonState = HIGH; // Предыдущее состояние кнопки
unsigned long irCode = 0x00FFA857; // Код для отправки (можно изменить)
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP); // Внутренний подтягивающий резистор
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
Serial.begin(9600);
Serial.println("Отправитель IR готов");
}
void loop() {
bool currentButtonState = digitalRead(BUTTON_PIN);
// Проверяем нажатие (переход из HIGH в LOW, т.к. кнопка замыкает на GND)
if (lastButtonState == HIGH && currentButtonState == LOW) {
// Отправляем сигнал
digitalWrite(LED_PIN, HIGH);
irsend.sendNEC(irCode, 32); // Отправляем NEC код (32 бита)
Serial.println("Сигнал отправлен!");
delay(100); // Небольшая задержка для стабильности
digitalWrite(LED_PIN, LOW);
}
lastButtonState = currentButtonState;
delay(50); // Антидребезг
}