На главную страницу | Новости | FAQ | Ссылки | Для детей | Контакты
Суть проекта в том, что полульта ПДУ можно управлять ардуиной, если подключить к ней ИК-сенсор. Здесь для демонстрации работы мы будем переключать светодиоды на плате ардуино, хотя конечно схему можно без проблем усложнить и подключить к ардуине что-нибудь посложнее, скажем двигатели.
Для реализации проекта потребуются следующие компоненты:
- собственно ардуина (подойдет любая, но пусть будет UNO);
- ИК-приемник VS1838B, который можно купить здесь;
- пульт дистанционного управления (ПДУ) - взять можно здесь или здесь (там кстати и приемник в комплекте);
- любые 4 светодиода LED;
- 4 резистора по 220 Ом;
Также оптимально (если не хочется паять) можно использовать:
- макетную плату, которая стоит совсем не много.
- соединительные провода под нее
Код программы для ардуино:
#include < IRremote.h >
#define first_key 48703
#define second_key 58359
#define third_key 539
#define fourth_key 25979
int receiver_pin = 8;
int first_led_pin = 7;
int second_led_pin = 6;
int third_led_pin = 5;
int fourth_led_pin = 4;
int led[] = {0,0,0,0};
IRrecv receiver(receiver_pin);
decode_results output;
void setup()
{
Serial.begin(9600);
receiver.enableIRIn();
pinMode(first_led_pin, OUTPUT);
pinMode(second_led_pin, OUTPUT);
pinMode(third_led_pin, OUTPUT);
pinMode(fourth_led_pin, OUTPUT);
}
void loop() {
if (receiver.decode(&output)) {
unsigned int value = output.value;
switch(value) {
case first_key:
if(led[1] == 1) {
digitalWrite(first_led_pin, LOW);
led[1] = 0;
} else {
digitalWrite(first_led_pin, HIGH);
led[1] = 1;
}
break;
case second_key:
if(led[2] == 1) {
digitalWrite(second_led_pin, LOW);
led[2] = 0;
} else {
digitalWrite(second_led_pin, HIGH);
led[2] = 1;
}
break;
case third_key:
if(led[3] == 1) {
digitalWrite(third_led_pin, LOW);
led[3] = 0;
} else {
digitalWrite(third_led_pin, HIGH);
led[3] = 1;
}
break;
case fourth_key:
if(led[4] == 1) {
digitalWrite(fourth_led_pin, LOW);
led[4] = 0;
} else {
digitalWrite(fourth_led_pin, HIGH);
led[4] = 1;
}
break;
}
Serial.println(value);
receiver.resume();
}
}
Необходимые компоненты можно заказать на Али по следующим ссылкам:
https://diyhacking.com/controlling-leds-arduino-ir-sensor-remote/
Now 21.11.24 20:23:02, Your IP: 3.138.125.86; arduino.zl3p.com/projects/led_remote_control
ePN