“第十六课--Microduino 数码管实验三-显示红外遥控器按键值/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
Pkj讨论 | 贡献
程序
第49行: 第49行:
  
 
==程序==
 
==程序==
<source lang="cpp">
+
https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced/MicroduinoDigitalTubeExperiments3
 
 
#include <IRremote.h>
 
#include <SevSeg.h>
 
SevSeg sevseg;
 
int RECV_PIN = 2;//定义红外接收器的引脚为2
 
IRrecv irrecv(RECV_PIN);
 
decode_results results;
 
int t;
 
int action;
 
 
 
int deckey(unsigned long t)
 
{
 
  switch(t){
 
    case 0xFD08F7://按钮1的编码
 
    return 1;
 
    break;
 
    case 0xFD8877://按钮2的编码
 
    return 2;
 
    break;
 
    case 0xFD48B7://按钮3的编码
 
    return 3;
 
    break;
 
    case 0xFD28D7://按钮4的编码
 
    return 4;
 
    break;
 
    case 0xFDA857://按钮5的编码
 
    return 5;
 
    break;
 
    case 0xFD6897://按钮6的编码
 
    return 6;
 
    break;
 
    case 0xFD18E7://按钮7的编码
 
    return 7;
 
    break;
 
    case 0xFD9867://按钮8的编码
 
    return 8;
 
    break;
 
    case 0xFD58A7://按钮9的编码
 
    return 9;
 
    break;
 
    default:
 
    return 0;
 
    break;
 
  }
 
}
 
 
 
void setup() {
 
//定义需要使用的引脚
 
  sevseg.Begin(1,2,3,4,5,6,7,8,9,10,11,12,13);
 
  irrecv.enableIRIn(); // 初始化红外接收器
 
  //sevseg.PrintOutput();
 
  //sevseg.NewNum(0, 4);
 
}
 
 
 
void loop() {
 
  //激活输出功能
 
  sevseg.PrintOutput();
 
 
 
 
 
  if (irrecv.decode(&results)) {
 
    Serial.println(results.value, HEX);//以16进制换行输出接收代码
 
    action=deckey(results.value);
 
    Serial.println(action);
 
    Serial.println();//为了便于观看输出结果增加一个空行
 
   
 
    sevseg.NewNum(action, 4);    //数码管函数输出数字,其中数值为小数点所在位置,我放在第四格所以效果就是不显示小数点
 
   
 
    irrecv.resume(); // 接收下一个值
 
  }
 
 
 
 
 
}
 
 
 
</source>
 
  
 
==调试==
 
==调试==

2014年3月26日 (三) 08:44的版本

Language English

目的

本教程将教大家如何在Microduino上使用数码管,并用红外遥控器来控制显示数字

设备

  • Microduino-Core
  • Microduino-FT232R
  • 其他硬件设备
    • 面包板跳线 一盒
    • 面包板 一块
    • 数码管 一个
    • 红外接收器 一个
    • 遥控器 一个
    • 220欧电阻 一个
    • USB数据连接线 一根

原理图

第十六课-Microduino显示红外按键值原理图.jpg


引脚表

Microduino引脚 数码管引脚
D10 1
D9 2
D5 3
D8 4
D13 5
D7 6
D6 7
不接 8
D11 9
D12 10

程序

https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced/MicroduinoDigitalTubeExperiments3

调试

同样需要SevSeg函数库

库作者的发布页面:[1]

步骤一:复制代码到IDE中

步骤二:连接电路,电路连接图如下:

第十六课-Microduino显示红外按键值连接图.jpg

步骤三:运行代码

结果

按住遥控器上的1~9按钮,数码管将显示相应的数字,红外接收的编码都在代码里,注意不同的遥控器,可能发射的红外编码不同,需要进行相应的改动。

视频

http://v.youku.com/v_show/id_XNjc2NjcwNzM2.html