2841AS
com接1k电阻接gpio
int pin1 = 4;
int pin2 = 5;
int pin3 = 6;
int pin4 = 7;
int pin5 = 8;
int pin7 = 9;
int pin10 = 10;
int pin11 = 11;
int pinArray[]={pin1,pin2,pin3,pin4,pin5,pin7,pin10,pin11};
int pinNumber=sizeof(pinArray)/sizeof(pinArray[0]);
int sag1=41;
int sag2=40;
int sag3=39;
int sag4=38;
int sagArray[]={sag1,sag2,sag3,sag4};
int sagNumber=sizeof(sagArray)/sizeof(sagArray[0]);
int number_array[][8]={
{1,1,0,1,0,1,1,1},//0
{0,0,0,1,0,1,0,0},//1
{1,1,0,0,1,1,0,1},//2
{0,1,0,1,1,1,0,1},//3
{0,0,0,1,1,1,1,0},//4
{0,1,0,1,1,0,1,1},//5
{1,1,0,1,1,0,1,1},//6
{0,0,0,1,0,1,0,1},//7
{1,1,0,1,0,1,1,1},//8
{0,0,0,1,0,1,1,1},//9
{1,1,1,1,1,1,1,1},//9+.
{0,0,0,0,0,0,0,0}//空
};
void setup() {
// put your setup code here, to run once:
for(int i=0;i<sagNumber;i++)
{
pinMode(sagArray[i],OUTPUT);
digitalWrite(sagArray[i],HIGH);
}
for(int i=0 ;i<pinNumber;i++)
{
pinMode(pinArray[i],OUTPUT);
digitalWrite(pinArray[i],LOW);
}
}
void loop() {
for (int i = 0; i < sagNumber; i++) {
// ① 关闭所有位(防止残影)
for (int j = 0; j < sagNumber; j++) {
digitalWrite(sagArray[j], HIGH);
}
// ② 设置当前位的段码(显示数字 i+1)
for (int j = 0; j < 8; j++) {
digitalWrite(pinArray[j], number_array[i + 1][j]);
}
// ③ 打开当前位
digitalWrite(sagArray[i], LOW);
// ④ 延时
delay(5);
}
}转载请注明出处。



