CODE | IR Remote Control Light - Arduino Project 050

RonWang2 years ago (2024-12-16)电子编程 COD164

An IR remote and receiver communicate with each other by transmitting and decoding a signal in the form of pulsed IR radiation.

ir-signal-transmission.gif

Sent and detected signal by IR transmitter (left) and receiver (right) (Source: SB-Projects)

Infrared radiation (IR), or infrared light, is a type of electromagnetic radiation with wavelengths ranging from 700 nm to 1 mm. Because humans can only see light with wavelengths of roughly 400 (violet) to 700 (red) nanometers, IR radiation is invisible to the human eye.

Project 50 IR Remote Control Light

50 IR Remote Control Light Circuit

50 IR Remote Control Light Schematic

/* Project 50 IR Remote Control Light
 * Coding by Ronwang 
 * This example code is in the public domain
 * Hardware Support by Autaba Website :https://www.autabaec.com
 */
#include <DIYables_IRcontroller.h> // Added DIYables_IRcontroller library
#define IR_RECEIVER_PIN 8 // The Arduino pin connected to IR controller
int RedPin = 2;
int BluePin = 3;
int YellowPin = 4;
DIYables_IRcontroller_17 irController(IR_RECEIVER_PIN, 200); // debounce time is 200ms
void setup() {
  Serial.begin(9600);
  irController.begin();
  pinMode(RedPin, OUTPUT);      // sets the digital pin as output
  pinMode(BluePin, OUTPUT);      // sets the digital pin as output
  pinMode(YellowPin, OUTPUT);      // sets the digital pin as output
}
void loop() {
  Key17 key = irController.getKey();
  if (key != Key17::NONE) {
    switch (key) {
      case Key17::KEY_1:
       Serial.println("1");
       digitalWrite(RedPin, HIGH);
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_2:
        Serial.println("2");
        digitalWrite(BluePin, HIGH);
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_3:
        Serial.println("3");
        digitalWrite(YellowPin, HIGH);
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_4:
        Serial.println("4");
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_5:
        Serial.println("5");
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_6:
        Serial.println("6");
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_7:
        Serial.println("7");
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_8:
        Serial.println("8");
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_9:
        Serial.println("9");
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_STAR:
        Serial.println("*");
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_0:
        Serial.println("0");
        digitalWrite(RedPin, LOW);
        digitalWrite(BluePin, LOW);
        digitalWrite(YellowPin, LOW);
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_SHARP:
        Serial.println("#");
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_UP:
        Serial.println("UP");
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_DOWN:
        Serial.println("DOWN");
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_LEFT:
        Serial.println("LEFT");
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_RIGHT:
        Serial.println("RIGHT");
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_OK :
        Serial.println("OK");
        // TODO: YOUR CONTROL
        break;
      default:
        Serial.println("WARNING: undefined key:");
        break;
      
    }
  }
}
Share with Friends:

Related Articles

About Arduino Resources

About Arduino Resources

The Arduino platform benefits from an active user community that makes it easy to get help from fell…

Electric Maker and Coding Basic Tools and Knowledge

Electric Maker and Coding Basic Tools and Knowledge

电子制作|启程前的入门知识电子制作是一件充满乐趣和成就感的活动,也许在开始时会有一些挑战或者坎坷,慢慢的当你踏入电子制作的世界之后,我相信你肯定再也停不下脚步,本部分电子制作的入门知识将主要围绕:工具…

CODE | RGB LED Mood Lamp - Arduino Project 008

CODE | RGB LED Mood Lamp - Arduino Project 008

In the last project, you learned how to adjust the brightness of an LED using the PWM capabilities o…

Electric Maker Beginner Tools Kit

Electric Maker Beginner Tools Kit

This assortment of tools has everything you need to get started tinkering with Sparkfun products and…

CODE | Dual Shift Register 8-Bit Binary Counter - Arduino Project 018

CODE | Dual Shift Register 8-Bit Binary Counter - Arduino Project 018

In Project 18, you will daisy chain (or cascade) another 74HC595 IC onto the one used in Project 17…

How to Choose the Right Wire Stripper Tool?

How to Choose the Right Wire Stripper Tool?

剥线钳是弱电工程师、内线电工、电动机修理、仪器仪表电工及电子制作爱好者常用的工具之一,用来供操作者剥除电线头部的表面绝缘层。剥线钳可以使得电线被切断的绝缘皮与电线分开,可以在不损坏内部金属线层的情况下…

Comment List

RonWang
RonWang

IR remote project very useful and I success use the coding

Post a Comment

Anonymous

Feel free to share your thoughts and opinions here.