Чтобы включить свет, колонку или любой электроприбор мощностью до 300 Ватт понадобится 20 минут времени и три компонента:
- любой микроконтроллер ардуино
- ик сенсор
- твердотельное реле
Имея всё необходимое, собираем по ниже приведенной схеме:
ВНИМАНИЕ: Высоковольтная часть реле находится под напряжением, будьте осторожны!
После чего загружаем первый скетч в ардуино, чтобы узнать код кнопки на вашем пульте (можно использовать любую кнопку):
#include "IRremote.h"
IRrecv irrecv(2); //PIN for IR-in
decode_results results;
void setup() {
irrecv.enableIRIn(); // start receive
Serial.begin(9600);
}
void loop()
{
if ( irrecv.decode( &results ))
{
Serial.println(results.value);
irrecv.resume();
}
}
Открываем монитор порта, жмем на кнопку и копируем код.
После чего загружаем второй скетч, в котором предварительно меняем код кнопок на свой.
#include <IRremote.h>
int RECV_PIN = 2; //вход ИК приемника
IRrecv irrecv(RECV_PIN);
decode_results results;
int LED = 13;
int buttonState = 0;
const int buttonPin = 8;
void setup()
{
irrecv.enableIRIn(); // включить приемник
pinMode(LED, OUTPUT);
pinMode(buttonPin, INPUT);
digitalWrite(buttonPin, HIGH);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == LOW)
{
digitalWrite(9, !digitalRead(9));
delay(1000);
}
if (irrecv.decode(&results))
{
if (results.value == 0x20DF8E7) //код моей кнопки"2FD807F". У Вас он будет дугой
{
digitalWrite(LED, HIGH);
}
if (results.value == 0x20DF4EB)//код моей кнопки"2FD40BF". У Вас он будет дугой
{
digitalWrite(LED, LOW);
}
irrecv.resume();
}
}
Готово. Теперь у нас есть две кнопки, одна из которых включает нагрузку, а вторая выключает её. Для удобства, я обычно использую 4 цветных кнопки телетекста, т.к. даже если ваш тв находится в той же комнате, нажатие на них не отразится на работе ТВ.