實驗十五
紅外線遙控七段顯示器
//项目15 – 数码管显示
void setup(){
for(int pin = 2 ; pin <= 9 ; pin++){ // 设置数字引脚2~9为输出模式
pinMode(pin, OUTPUT);
digitalWrite(pin, HIGH);
}
}
void loop() {
// 显示数字0
int n0[8]={0,0,0,1,0,0,0,1};
for(int pin = 2; pin <= 9 ; pin++){ // 数字引脚2~9依次按数组n0[8]中的数据显示
digitalWrite(pin,n0[pin-2]);
}
delay(500);
// 显示数字1
int n1[8]={0,1,1,1,1,1,0,1};
for(int pin = 2; pin <= 9 ; pin++){ // 数字引脚2~9依次按数组n1[8]中的数据显示
digitalWrite(pin,n1[pin-2]);
}
delay(500);
// 显示数字2
int n2[8]={0,0,1,0,0,0,1,1};
for(int pin = 2; pin <= 9 ; pin++){ // 数字引脚2~9依次按数组n2[8]中的数据显示
digitalWrite(pin,n2[pin-2]);
}
delay(500);
// 显示数字3
int n3[8]={0,0,1,0,1,0,0,1};
for(int pin = 2; pin <= 9 ; pin++){ // 数字引脚2~9依次按数组n3[8]中的数据显示
digitalWrite(pin,n3[pin-2]);
}
delay(500);
// 显示数字4
int n4[8]={0,1,0,0,1,1,0,1};
for(int pin = 2; pin <= 9 ; pin++){ // 数字引脚2~9依次按数组n4[8]中的数据显示
digitalWrite(pin,n4[pin-2]);
}
delay(500);
// 显示数字5
int n5[8]={1,0,0,0,1,0,0,1};
for(int pin = 2; pin <= 9 ; pin++){ // 数字引脚2~9依次按数组n5[8]中的数据显示
digitalWrite(pin,n5[pin-2]);
}
delay(500);
// 显示数字6
int n6[8]={1,0,0,0,0,0,0,1};
for(int pin = 2; pin <= 9 ; pin++){ // 数字引脚2~9依次按数组n6[8]中的数据显示
digitalWrite(pin,n6[pin-2]);
}
delay(500);
// 显示数字7
int n7[8]={0,0,1,1,1,1,0,1};
for(int pin = 2; pin <= 9 ; pin++){ // 数字引脚2~9依次按数组n7[8]中的数据显示
digitalWrite(pin,n7[pin-2]);
}
delay(500);
// 显示数字8
int n8[8]={0,0,0,0,0,0,0,1};
for(int pin = 2; pin <= 9 ; pin++){ // 数字引脚2~9依次按数组n8[8]中的数据显示
digitalWrite(pin,n8[pin-2]);
}
delay(500);
// 显示数字9
int n9[8]={0,0,0,0,1,1,0,1};
for(int pin = 2; pin <= 9 ; pin++){ // 数字引脚2~9依次按数组n3[9]中的数据显示
digitalWrite(pin,n9[pin-2]);
}
delay(500);
}
紅外線遙控七段顯示器
#include //调用IRremote.h库
int RECV_PIN = 11; //定义RECV_PIN变量为11
IRrecv irrecv(RECV_PIN); //设置RECV_PIN(也就是11引脚)为红外接收端
decode_results results; //定义results变量为红外结果存放位置
int currentNumber = 0; //该变量用于存放当前数字
long codes[12]= //该数组用来存放红外遥控器发出的红外码
{
0xFD30CF,0xFD08F7, // 0 ,1
0xFD8877,0xFD48B7, // 2 ,3
0xFD28D7,0xFDA857, // 4 ,5
0xFD6897,0xFD18E7, // 6 ,7
0xFD9867,0xFD58A7, // 8 ,9
0xFD20DF,0xFD609F, // 前进 ,后退
};
int number[10][8] = //该数组用来存放数码管显示的数字
{
{0,0,0,1,0,0,0,1},//0
{0,1,1,1,1,1,0,1},//1
{0,0,1,0,0,0,1,1},//2
{0,0,1,0,1,0,0,1},//3
{0,1,0,0,1,1,0,1},//4
{1,0,0,0,1,0,0,1},//5
{1,0,0,0,0,0,0,1},//6
{0,0,1,1,1,1,0,1},//7
{0,0,0,0,0,0,0,1},//8
{0,0,0,0,1,1,0,1} //9
};
void numberShow(int i) { //该函数用来让数码管显示数字
for(int pin = 2; pin