Схема ИК-пульта дистанционного управления Arduino

Попробуйте наш инструмент устранения неполадок





В этом посте мы собираемся сконструировать настраиваемый беспроводной пульт дистанционного управления на базе IR (инфракрасный порт) на базе Arduino, который состоит из ИК-пульта дистанционного управления и приемника, который вы можете изменить в соответствии с вашими потребностями. В следующей части статьи мы узнаем об обновленной версии ИК-пульта дистанционного управления с защитой от неправильного обращения, которая будет реагировать только на однозначно назначенную частоту.

Если вы выше начального уровня, вы легко справитесь с этим. Предлагаемая схема, показанная здесь, имеет только три элемента управления на дистанционном управлении и 3 реле на стороне приемника. Вы можете изменить код и принципиальную схему в соответствии со своими потребностями.



Вам понадобятся две платы Arduino, которые работают как удаленные, а другая - как приемные. Я бы порекомендовал Arduino pro mini для этого проекта, так как они довольно малы по размеру, а общий размер пульта дистанционного управления может быть меньше.

Вы можете использовать Arduino pro mini на базе 3,3 В для пульта дистанционного управления, чтобы вы могли питаться от двух кнопочных элементов или двух батареек размера AA, в зависимости от ваших потребностей.



Схема ИК-передатчика имеет 3 кнопки включения и ИК-светодиод для отправки команд приемнику. Каждая кнопка запрограммирована уникальным шестнадцатеричным кодом, такой же шестнадцатеричный код запрограммирован и на стороне приемника.

Когда кнопка нажата, ИК-светодиод отправляет шестнадцатеричный код на приемник, приемник распознает, какая из кнопок нажата, и включает / выключает соответствующее реле.

Предлагаемый пульт использует протокол RC5 для связи с приемником, вы можете изменить все, изменив код.

Если вы только новичок в Arduino, вы все равно можете это сделать, просто следуйте диаграмме и загрузите код без изменений.

Схема и программа:

Дистанционный передатчик Arduino:

Надежная схема ИК-пульта дистанционного управления

Вышеупомянутая схема иллюстрирует, как построить дистанционный ИК-передатчик Arduino.

Три резистора 10 кОм представляют собой понижающие резисторы, которые предотвращают случайное срабатывание пульта дистанционного управления из-за статического заряда, а для ИК-светодиода используется резистор, ограничивающий ток 220 Ом.

Программа для удаленного передатчика:

//---------Program developed by R.Girish--------//
#include
IRsend irsend
const int button1 = 4
const int button2 = 5
const int button3 = 6
void setup() {
pinMode(button1, INPUT)
pinMode(button2, INPUT)
pinMode(button3, INPUT)
}
void loop()
{
if (digitalRead(button1) == HIGH)
{
delay(50)
irsend.sendRC5(0x80C, 32)
delay(200)
}
if (digitalRead(button2) == HIGH)
{
delay(50)
irsend.sendRC5(0x821, 32)
delay(200)
}
if (digitalRead(button3) == HIGH)
{
delay(50)
irsend.sendRC5(0x820, 32)
delay(200)
}
}
//---------Program developed by R.Girish--------//

Приемник Arduino:

Схема ИК-приемника Arduino, как показано выше, состоит из Датчик TSOP1738 несколько транзисторов, токоограничивающие резисторы для транзисторов, реле и диоды для поглощения выбросов высокого напряжения от катушек реле.

Принципиальная схема не требует пояснений.

Программа для приемника Arduino:

//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x80C // code received from button A
#define output2 0x821 // code received from button B
#define output3 0x820 // code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

Следуя приведенным выше объяснениям, вы можете выполнить три элемента управления. Если вы хотите добавить дополнительные элементы управления и реле, вам необходимо отредактировать код и принципиальную схему.

Вы можете назначить выход и вход для неиспользуемых контактов в приемнике и пульте дистанционного управления в программе и подключить количество транзисторов и реле для соответствующих контактов в приемнике и аналогичным образом подключить количество переключателей и понижающий резистор в пульте дистанционного управления.

Вы можете использовать случайный шестнадцатеричный код для назначения большего количества кнопок.

Например: 0xA235, 0xFFFF, 0xBA556 и так далее. А также добавьте такое же шестнадцатеричное значение в код приемника. Например: #define output4 0xA235, #define outout5 0xFFFF и так далее.

Создание ИК-пульта дистанционного управления с уникальной частотой

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

Надежный ИК-пульт дистанционного управления

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

Девиз этого проекта - помочь людям с ограниченными физическими возможностями и помочь им самостоятельно получить доступ к включению и выключению основных бытовых приборов, таких как вентиляторы или освещение.

Вторая цель - дать пользователю возможность управлять гаджетами «как босс», не покидая своего существующего положения.

В схеме используется традиционная ИК-связь между передатчиком и приемником.

Эта схема полностью защищена от ошибок других ИК-пультов дистанционного управления и других источников ИК-излучения и менее подвержена ошибкам.

Основная проблема с неконтроллерными Схема ИК-пульта дистанционного управления , который можно найти в Интернете, заключается в том, что он может включаться / выключаться с помощью любого пульта дистанционного управления на базе ИК-управления и может одновременно управлять только одним устройством, а также более подвержен ошибкам.

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

Прежде чем продолжить этот проект, вам необходимо загрузить файлы библиотеки для arduino по этой ссылке и следовать инструкциям, приведенным ниже: github.com/z3t0/Arduino-IRremote

Инструкции:

1) Нажмите кнопку «клонировать или скачать» по данной ссылке и нажмите «Загрузить ZIP».

2) Извлеките файл и переместите папку «IRremote» в папку вашей библиотеки Arduino.

3) Удалите папку «RobotIRremote» из библиотеки Arduino. «RobotIRremote» имеет аналогичное определение библиотеки «IRremote», которая конфликтует и не может загрузить код в Arduino, поэтому удаление / удаление является обязательным.

Дублируя приведенную выше инструкцию, ваше программное обеспечение Arduino IDE готово для любых / большинства проектов на основе IR.

Назначьте ключи для пульта:

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

Для этого постройте на макете следующую схему и следуйте инструкциям.

1) Откройте Arduino IDE и загрузите пример кода «IRrecv Demo».

2) Откройте монитор последовательного порта и нажмите кнопку на пульте дистанционного управления, который вы хотите использовать.

Вы увидите всплывающее окно с шестнадцатеричным кодом, как только вы нажмете клавишу. Это шестнадцатеричный код для конкретного ключа.

3) Проделайте то же самое с двумя другими ключами (в этом проекте даны 3 ключа для управления 3 устройствами).

· Мы собираемся использовать эти шестнадцатеричные коды в основной программе и загрузить их в Arduino.

Программа:
//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x111 // place your code received from button A
#define output2 0x112 // place your code received from button B
#define output3 0x113 // place your code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

ПРИМЕЧАНИЕ:

В программе:

#define output1 0x111 // поместите код, полученный от кнопки A

#define output2 0x111 // поместите код, полученный от кнопки B

#define output3 0x111 // размещаем код, полученный от кнопки C

· Поместите свои 3 уникальных кода с пульта дистанционного управления в это место 111, 112 и 113 и загрузите код. Шестнадцатеричные коды будут от 0 до 9 и от A до F, например: 20156, 26FE789, FFFFFF.

· Поместите свой код с «0x» (ноль x).

Принципиальная электрическая схема:

· При нажатии кнопки реле включается, а повторное нажатие выключает реле.




Предыдущая статья: Натуральный репеллент от комаров с использованием резистора высокой мощности Следующая статья: Схема металлоискателя в глубоких почвах - Сканер грунта