На главную страницу | Новости | FAQ | Ссылки | Для детей | Контакты

ARDUINO ROBOTS
Arduino для начинающих электронщиков. Модули и проекты на базе Arduino. Разработка роботов


Управление светодиодами с помощью ИК-пульта


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

Управление светодиодами с помощью ИК-пульта

Управление светодиодами с помощью ИК-пульта

Для реализации проекта потребуются следующие компоненты:

- собственно ардуина (подойдет любая, но пусть будет 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(); 
  }
}

Компоненты


Необходимые компоненты можно заказать на Али по следующим ссылкам:

Собственно ардуина


Arduino-UNO
Купить сейчас

макетная плата


макетная_плата
Купить сейчас

ИК-приемник VS1838B


ик_приемник
Купить сейчас

На языке оригинала:


https://diyhacking.com/controlling-leds-arduino-ir-sensor-remote/




Платы ARDUINO по низкой цене

Нажми на изображение, чтобы заказать в интернет-магазине:


arduino NANO купить дешево arduino UNO купить дешево arduino UNO R3 ORIG купить дешево arduino MEGA купить дешево arduino DUE купить дешево



Now 25.04.24 18:58:47, Your IP: 3.17.184.90; arduino.zl3p.com/projects/led_remote_control
ePN