文档视界 最新最全的文档下载
当前位置:文档视界 › arduino板子控制8位led灯源代码

arduino板子控制8位led灯源代码

#include // 使用IRRemote函数库
char word1;
const int irReceiverPin = 11; // 红外接收器的 OUTPUT 引脚接在 PIN2 接口 定义irReceiverPin变量为PIN2接口

IRrecv irrecv(irReceiverPin); // 设置irReceiverPin定义的端口为红外信号接收端口
decode_results results; // 定义results变量为红外结果存放位置
/*==========显示0============= */
int n0[8]={1,1,1,1,1,1,0,0};
/*==========显示1=============*/
int n1[8]={0,1,1,0,0,0,0,0};
/*==========显示2=============*/
int n2[8]={1,1,0,1,1,0,1,0};
/*==========显示3=============*/
int n3[8]={1,1,1,1,0,0,1,0};
/*==========显示4=============*/
int n4[8]={0,1,1,0,0,1,1,0};
/*==========显示5=============*/
int n5[8]={1,0,1,1,0,1,1,0};
/*==========显示6=============*/
int n6[8]={1,0,1,1,1,1,1,0};
/*==========显示7=============*/
int n7[8]={1,1,1,0,0,0,0,0};
/*==========显示8=============*/
int n8[8]={1,1,1,1,1,1,1,0};
/*==========显示9=============*/
int n9[8]={1,1,1,1,0,1,1,0};
void setup()
{
Serial.begin(9600); // 开启串口,波特率为9600
irrecv.enableIRIn(); // 启动红外解码
pinMode(13,OUTPUT); //激活13号引脚,我们需要用它供电

for(int n=2;n<=9;n++)
{
pinMode(n,OUTPUT);
}
}
void w(int y[])
{
int z=0;
for(int x=2;x<=9;x++) //采用循环方式依次点亮指定的数码管led(数组中0为点亮),单位时间只点亮1个led
{
digitalWrite(x,y[z]); //点亮led语句 X为引脚数 n0[z]为数组z为0-8的变量,来依次读取数组中的值
z++;
if (z>=9) //防止变量z累加超过了8
z=0;
}
delay(1000);
}
void loop()
{
if (irrecv.decode(&results)) { // 解码成功,把数据放入results变量中
// 把数据输入到串口



if(results.value==16738455)
{
w(n0);
Serial.println('0');
}
if(results.value==16724175)
{
w(n1);
Serial.println('1');
}
if(results.value==16718055)
{
w(n2);
Serial.println('2');
}
if(results.value==16743045)
{
w(n3);
Serial.println('3');
}
if(results.value== 16716015)
{
w(n4);
Serial.println('4');
}
if(results.value==16726215)
{
w(n5);
Serial.println('5');
}
if(results.value==16734885)
{
w(n6);
Serial.println('6');
}
if(results.value==16728765)
{
w(n7);
Serial.println('7');
}
if(results.value==16730805)
{
w(n8);
Serial.println('8');
}
if(results.value==16732845)
{
w(n9);
Serial.println('9');
}
if(results.value==16753245)
{
Serial.println('x');
}
if(results.value==16754775)
{
Serial.println('+');
}
if(results.value==16769055)
{
Serial.println('-');
}
// Serial.print(results.value);

irrecv.resume(); // 继

续等待接收下一组信号
}
if (Serial.available() > 0) //判断串口缓冲器是否有数据装入
{
word1 = Serial.read(); //读取串口
if(word1=='0') //判断输入的字符是否为a
{
w(n0);
}
if(word1=='1') //判断输入的字符是否为a
{
w(n1);
}
if(word1=='2') //判断输入的字符是否为a
{
w(n2);
}
if(word1=='3') //判断输入的字符是否为a
{
w(n3);
}
if(word1=='4') //判断输入的字符是否为a
{
w(n4);
}
if(word1=='5') //判断输入的字符是否为a
{
w(n5);
}
if(word1=='6') //判断输入的字符是否为a
{
w(n6);
}
if(word1=='7') //判断输入的字符是否为a
{
w(n7);
}
if(word1=='8') //判断输入的字符是否为a
{
w(n8);
}
if(word1=='9') //判断输入的字符是否为a
{
w(n9);
}
}
delay(600); //延时600毫秒,做一个简单的消抖

}

相关文档
相关文档 最新文档