欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Arduino用遥控器控制LED灯开关和亮度

程序员文章站 2022-07-13 22:26:17
...

最近在学习物联网,毕竟现在人工智能包括无人驾驶,自动避障等行业的火热,所以在这里分享学习笔记

工具:

硬件:Arduino,遥控器,红外线,传感器,网上有卖不是很贵十几块钱
Arduino用遥控器控制LED灯开关和亮度
Arduino用遥控器控制LED灯开关和亮度

软件:Mixly

步骤

一.在mixly中写好相关模块控制代码

Arduino用遥控器控制LED灯开关和亮度
Arduino用遥控器控制LED灯开关和亮度
完整代码:Arduino用遥控器控制LED灯开关和亮度

对应的c语言代码如下

#include <IRremote.h>

IRrecv irrecv_5(5);
decode_results results_5;

long ir_item;
volatile int led;
volatile boolean ledsate;

void setup(){
  led = 0;
  ledsate = 0;
  Serial.begin(9600);
  irrecv_5.enableIRIn();
}

void loop(){
  if (irrecv_5.decode(&results_5)) {
    ir_item=results_5.value;
    String type="UNKNOWN";
    String typelist[14]={"UNKNOWN", "NEC", "SONY", "RC5", "RC6", "DISH", "SHARP", "PANASONIC", "JVC", "SANYO", "MITSUBISHI", "SAMSUNG", "LG", "WHYNTER"};
    if(results_5.decode_type>=1&&results_5.decode_type<=13){
      type=typelist[results_5.decode_type];
    }
    Serial.print("IR TYPE:"+type+"  ");
    Serial.println(ir_item,HEX);
    if (ir_item == 0xFF629D) {
      ledsate = !ledsate;
      led = ledsate * 128;

    }
    if (ir_item == 0xFFF21D) {
      led = constrain(led + 20, 1, 255);

    }
    if (ir_item == 0xFFA25D) {
      led = constrain(led - 20, 1, 255);

    }
    analogWrite(10,led);
    irrecv_5.resume();
  } else {
  }

}

二.接线

Arduino用遥控器控制LED灯开关和亮度

三.编译并上传代码实现功能

Arduino用遥控器控制LED灯开关和亮度

先点击编译看是否成功,再把usb线连接到电脑并上传,上传成功后这个arduino就可以实现遥控器控制led的开关了
视频演示地址:
https://www.bilibili.com/video/av73180457/

arduino还可以实现很多功能,温度,屏幕显示等等不过需要相应的组件,这些只能算作入门级的,以后会继续发布相关的简单入门案例,相信大家可以自己Diy许多有趣的东西