CODE | IR Remote Control - Arduino Project 049

RonWang2 years ago (2024-12-04)电子编程 COD77

Got it — you’re looking into using an infrared (IR) sensor with an IR remote on Arduino. Let’s break it down so it’s simple and practical.

🔹 How It Works

  • IR Remote sends pulses of infrared light (invisible to the eye) encoded with data.

  • IR Receiver Module (like VS1838B or TSOP38238) detects these pulses and sends them to Arduino as a digital signal.

  • Arduino decodes the signal into a unique code for each button press.

🔹 Basic Wiring
For a typical 3-pin IR receiver:

  • OUT → Arduino digital pin (e.g., D2)

  • VCC → 5V

  • GND → GND

Project 49 IR Remote Control


49 Basic IR Remote Control Circuit

49 Basic IR Remote Control Schematic

/* Project 49 IR Remote Control
 * 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
DIYables_IRcontroller_17 irController(IR_RECEIVER_PIN, 200); // debounce time is 200ms
void setup() {
  Serial.begin(9600);
  irController.begin();
}
void loop() {
  Key17 key = irController.getKey();
  if (key != Key17::NONE) {
    switch (key) {
      case Key17::KEY_1:
        Serial.println("1");
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_2:
        Serial.println("2");
        // TODO: YOUR CONTROL
        break;
      case Key17::KEY_3:
        Serial.println("3");
        // 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");
        // 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

CODE | Based Security System with Lcd Display - Arduino Project 046

CODE | Based Security System with Lcd Display - Arduino Project 046

Components Needed: You will need an Arduino (like Arduino Uno or Nano), an LCD display, a keypa…

CODE | Shift Register 8-Bit Binary Counter - Arduino Project 017

CODE | Shift Register 8-Bit Binary Counter - Arduino Project 017

In this project, you’re going to use additional ICs (Integrated Circuits) in the form of shift regis…

CODE | BMP280 Pressure Sensor LCD Display - Arduino Project 032

CODE | BMP280 Pressure Sensor LCD Display - Arduino Project 032

For this project we will use Arduino Uno and BMP280 along with LCD 16x2 display module to display te…

Setting Up the Environment for Aliun Server

Setting Up the Environment for Aliun Server

阿里云服务器的环境搭建与调试从阿里云产品发布开始便一直在使用ECM云服务器,但是之前多使用的是Windows系统,后来摸索开始挑战自己使用CentOS系统,靠着几行程序和网上各位大咖的教程和分享,竟然…

C05 |   C/C++ Develop Environment

C05 | C/C++ Develop Environment

C语言教程05: C/C++开发环境C 语言编译器可以分为 C 和 C++两大类,其中 C++是 C 的超集,也支持 C 语言编程。事实上,编译器的选择不是最重要的,它们都可以完成基本的 C 语言编译…

Series and parallel circuits

Series and parallel circuits

Two-terminal components and electrical networks can be connected in series or parallel. The resultin…

Post a Comment

Anonymous

Feel free to share your thoughts and opinions here.