驱动7段LED显示器
拿到7段LED显示器,先看看是共阴极还是共阳极,如果是共阳极,3和8接5V,5V串联一个220欧姆的电阻。
下面是购买的LED显示器的接线图例

5V串联电阻图例

下面为代码,此代码将实现在LED显示器上依次显示0~9。
const int numeral[10] = { // ABCDEFG /dp B11111100, // 0 B01100000, // 1 B11011010, // 2 B11110010, // 3 B01100110, // 4 B10110110, // 5 B00111110, // 6 B11100000, // 7 B11111110, // 8 B11100110, // 9 }; //小数点及各引脚位 // dp,G,F,E,D,C, B,A const int segmenPins[8] = {5,9,8,7,6,4,3,2}; void setup() { for(int i=0; i<8; i++){ // 设置段和DP引脚为输出 pinMode(segmenPins[i], OUTPUT); } } void loop() { for(int i=0; i<= 10; i++){ showDigit(i); delay(1000); } // 最后一个值,如果是10就关闭显示 delay(2000); //暂停2秒显示关闭 } // 在7段显示器上显示一个0~9的数字 // 任何不是0~9的范围内的值将关闭显示 void showDigit(int number) { boolean isBitSet; for(int segment=1; segment<8; segment++){ if(number < 0 || number > 9){ isBitSet = 0; }else{ // 如果给定的位为1, isBitSet为真 isBitSet = bitRead(numeral[number], segment); } // 如果是共阴极显示器就删除此行 isBitSet = ! isBitSet; digitalWrite(segmenPins[segment], isBitSet); } }

浙公网安备 33010602011771号