【项目实战】【Arduino,米思齐】 红外遥控控制LED灯

网友投稿 2019-10-25 13:16

https://cdn.china-scratch.com/timg/191027/1316392330-0.jpg

【项目实战】【Arduino,米思齐】

红外遥控控制LED灯

      本次实验是分别通过米思齐(mixly)、Arduino IDE来实现红外遥控控制LED灯.以下为实验说明.

1实验材料

  Arduino Uno 主板 * 1

  Arduino Uno 原型扩展板 * 1

  面包板 * 1

  USB数据线 * 1

  红外接收器模块 * 1

  遥控器 * 1

  LED灯 * 1

  跳线若干

2面包板接线图

https://cdn.china-scratch.com/timg/191027/1316395W8-1.jpg

3遥控按键说明

https://cdn.china-scratch.com/timg/191027/1316394310-2.jpg

/**************

标配红外遥控(品牌:Carmp3)各按键对应红外值

    0:    FF6897

    1:    FF30CF

    2:    FF18E7

    3:    FF7A85

    4:    FF10EF

    5:    FF38C7

    6:    FF5AA5

    7:    FF42BD    

    8:    FF4AB5

    9:    FF52AD

   +:    FFA857

    -:    FFE01F

100+:  FF9867

200+:  FFB04F

   EQ:  FF906F

PREV:  FF22DD

NEXT:  FF02FD

PLAY/PAUSE:FFC23D

  CH-:  FFA25D

   CH:  FF629D

 CH+:  FFE21D

PWM引脚(可用analogwrite控制灯的亮度):3 5 6 9 10 11

 */

4Arduino源码

#include

int RECV_PIN = 3;

int LED_PIN = 10;

IRrecv irrecv(RECV_PIN);

decode_results results; // 用于存储编码结果的对象

int val = 0;

void setup()

{

  Serial.begin(9600);

  irrecv.enableIRIn();

  //初始化红外解码Start the receiver

  pinMode(LED_PIN, OUTPUT);

  digitalWrite(LED_PIN, LOW);

  analogWrite(LED_PIN, 0);

}

void loop() 

{

  int i;

  if (irrecv.decode(&results)) 

  {

    Serial.println(results.value, HEX);

    if (results.value == 0xFF6897) //关灯  按键0

    {

      digitalWrite(LED_PIN,LOW);

    } 

    else if (results.value == 0xFF30CF ) //开灯  按键1

    {

      digitalWrite(LED_PIN,HIGH);

    }

    else if(results.value == 0xFF18E7) //设置亮度为200(用模拟写方式实现,灯必须接3,5,6,9,10,11口)  按键2

    {

      analogWrite(LED_PIN, 200);

    }

    else if(results.value == 0xFF7A85) //设置亮度为10(用模拟写方式实现,灯必须接3,5,6,9,10,11口)  按键3

    {

      analogWrite(LED_PIN, 10);

    }

    irrecv.resume(); // Receive the next value

  }

  delay(100);

}

5米思齐模块

https://cdn.china-scratch.com/timg/191027/1316405001-3.jpg

6实验效果图

https://cdn.china-scratch.com/timg/191027/1316403F9-4.jpg

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com