步骤1:
我使用带有arduino的darlington uln2803来控制evil mad scientist的巨型共阳极7段显示器。
正常尺寸的7段显示器由7个矩形led组成,这些led排列成可以显示数字0-9。点亮正常的7段显示器的一部分相当于点亮led,它需要大约3v和20ma的电流;仅由arduino即可轻松实现。这个巨大的7段有点不同,因为每个段都由4组并联的15组红色led线串联而成(图2)。要打开led,段上的电压应为15 *(每个led的正向电压),流过每个段的电流为4 *(每个led的典型工作电流)。每节输出约为31.5v(15 * 2.1v)和80ma(4 * 20ma),显然arduino将无法自行处理。
要控制此显示,我连接了共阳极到36v,然后选择性地将要点亮的显示器各部分接地。
下面的代码通过7段显示器上的数字0-9进行计数,每秒从一个数字滴答到另一个。它使用for循环将变量“ i”从0-9递增,然后使用switch/case语句打开相应的段(通过将其相应的arduino引脚设置为高电平。
/*7 seg display with uln2803
by ru4realz
july 2012
arduino pin connections (via uln2803):
arduino (digital) pin 0 7 seg pin f
1 g
2 a
3 b
4 c
5 d
6 e
*/
void setup() {
for (byte a=0;a《8;a++){
pinmode(a,output);//set digital pins 0 - 6 as outputs
}
}
void loop() {
for (byte i = 0; i 《 10; i++){//for 0 -9
switch(i){
case 0://if i == 0, turn on appropriate leds
portd&=128;//turn digital 0-6 off
digitalwrite(0,high);
digitalwrite(2,high);
digitalwrite(3,high);
digitalwrite(4,high);
digitalwrite(5,high);
digitalwrite(6,high);
break;
case 1://if i == 1
portd&=128;//turn digital 0-6 off
digitalwrite(3,high);
digitalwrite(4,high);
break;
case 2://if i == 2
portd&=128;//turn digital 0-6 off
digitalwrite(1,high);
digitalwrite(2,high);
digitalwrite(3,high);
digitalwrite(5,high);
digitalwrite(6,high);
break;
case 3:
portd&=128;
digitalwrite(1,high);
digitalwrite(2,high);
digitalwrite(3,high);
digitalwrite(4,high);
digitalwrite(5,high);
break;
case 4:
portd&=128;//turn digital 0-7 off
digitalwrite(0,high);
digitalwrite(1,high);
digitalwrite(3,high);
digitalwrite(4,high);
break;
case 5:
portd&=128;//turn digital 0-7 off
digitalwrite(0,high);
digitalwrite(1,high);
digitalwrite(2,high);
digitalwrite(4,high);
digitalwrite(5,high);
break;
case 6:
portd&=128;//turn digital 0-7 off
digitalwrite(0,high);
digitalwrite(1,high);
digitalwrite(2,high);
digitalwrite(4,high);
digitalwrite(5,high);
digitalwrite(6,high);
break;
case 7:
portd&=128;//turn digital 0-7 off
digitalwrite(2,high);
digitalwrite(3,high);
digitalwrite(4,high);
break;
case 8:
portd&=128;//turn digital 0-7 off
digitalwrite(0,high);
digitalwrite(1,high);
digitalwrite(2,high);
digitalwrite(3,high);
digitalwrite(4,high);
digitalwrite(5,high);
digitalwrite(6,high);
break;
case 9:
portd&=128;//turn digital 0-7 off
digitalwrite(0,high);
digitalwrite(1,high);
digitalwrite(2,high);
digitalwrite(3,high);
digitalwrite(4,high);
break;
}
delay (1000);//wait 1 sec
}
}
整流电源的过压保护-压敏电阻及其应用
如何识别交换机性能的好坏,有哪些方法
魅蓝5S今日下午发布 国民质检员张全蛋捧场!
科大智能次发行募集资金总额不超过6.26亿元
半导体业者面临“看不见”难题,需看得到更小微粒的“新眼睛”
如何使用Arduino和Darlington ULN2803控制大功率电路
魅族pro7什么时候上市?魅族pro7最新消息:三星亲自帮忙打造,售价超四千你买吗?
业余制作电路板方法及步骤
泰克示波器有哪些众所周知的优点?
开关电源的常见故障和维修技巧
光迅科技部分25Gb/s光芯片可交付客户
小米旗舰之争!小米Note2大战小米6,相爱相杀!
出门问问发布新款智能手表TicWatchC2
虹科方案 | 如何解决非肠道用冻干制剂验证?
采用区块链,来降低商业网络潜在的安全风险技术方案已经成熟
华为迎战高通,一个好消息和一个坏消息
DigiKey 在 2023 年上半年新增 300 多家供应商
探讨pH探针与前端信号调理电路相关设计挑战
下一代显示技术的有力竞争者:Micro LED
浅谈射频连接器的选择和参数