所有关于电路gydF4y2Ba
项目gydF4y2Ba

接口七个段显示到ArduinogydF4y2Ba

2015年6月02日gydF4y2Ba通过gydF4y2Ba蒂姆血性小子gydF4y2Ba

对于许多应用,无需使用更昂贵的液晶显示器来显示数据。简单的七段显示器就足够了。gydF4y2Ba

对于许多应用,无需使用更昂贵的液晶显示器来显示数据。简单的七段显示器就足够了。gydF4y2Ba

如果您的Arduino应用程序只需要显示数字,请考虑使用sgydF4y2Ba均匀gydF4y2Baegment显示。分段显示器有七个gydF4y2Ba排列成8号形状的led灯。它们使用方便,成本效益高。下图显示了一个典型的七段显示。gydF4y2Ba

SSD.gydF4y2Ba

七段显示器有两种类型:普通阳极和普通阴极。两种类型的内部结构几乎相同。不同之处在于led和普通端子的极性。在一个普通的阴极七段显示器(我们在实验中使用的),所有七个LED加上一个点状LED的阴极连接到引脚3和8。要使用这个显示器,我们需要连接接地引脚3和8和,并连接+5V到其他引脚,以使单独的段点亮。下图为共阴极七段显示器的内部结构:gydF4y2Ba

普通阴极gydF4y2Ba
普通阴极gydF4y2Ba
普通阳极显示正好相反。在共阳极显示器中,所有8个led的正极连接在一起,然后连接到引脚3和8。要打开一个单独的部分,你接地的一个插脚。下图为共阳极七段显示器的内部结构。gydF4y2Ba
常见的阳极gydF4y2Ba
常见的阳极gydF4y2Ba

七个段标记为a-g,点为“DP”,如下图所示:gydF4y2Ba

SSD配置gydF4y2Ba
SSD配置gydF4y2Ba

要显示特定数字,可以打开单个段,如下表所示:gydF4y2Ba

数字gfedcba.gydF4y2Ba

英语字母gydF4y2Ba

一个gydF4y2Ba

bgydF4y2Ba

cgydF4y2Ba

dgydF4y2Ba

egydF4y2Ba

fgydF4y2Ba

ggydF4y2Ba


0 0×3 fgydF4y2Ba

0×7e.gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba


1 0×06gydF4y2Ba

0×30.gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

离开gydF4y2Ba

离开gydF4y2Ba

离开gydF4y2Ba


2 0×5bgydF4y2Ba

0×6d.gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

3 0×4fgydF4y2Ba

0×79.gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba


4 0×66gydF4y2Ba

0×33.gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba


5 0×6 dgydF4y2Ba

0×5B.gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba


6 0×7dgydF4y2Ba

0×5f.gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba


7 0×07gydF4y2Ba

0×70.gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

离开gydF4y2Ba

离开gydF4y2Ba

离开gydF4y2Ba


8 0×7fgydF4y2Ba

0×7f.gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba


9 0×6 fgydF4y2Ba

0×7B.gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba


0×77gydF4y2Ba

0×77gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba


B 0×7 cgydF4y2Ba

0×1f.gydF4y2Ba

离开gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba


C 0×39gydF4y2Ba

0×4egydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba


D 0×5 egydF4y2Ba

0×3dgydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba


e 0×79gydF4y2Ba

0×4f.gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba


F 0×71gydF4y2Ba

0×47gydF4y2Ba

上gydF4y2Ba

离开gydF4y2Ba

离开gydF4y2Ba

离开gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba

上gydF4y2Ba


实验1gydF4y2Ba

在这个实验中,我们将简单地打开和关闭led来熟悉七段显示器的工作原理。gydF4y2Ba

需要硬件gydF4y2Ba

  • 1 x七段显示器(常见阴极)gydF4y2Ba
  • 1 x Arduino Mega 2560gydF4y2Ba
  • 1 x电路试验板gydF4y2Ba
  • 7 x 220欧姆电阻(1/4 w)gydF4y2Ba
  • 跳线gydF4y2Ba


接线图gydF4y2Ba

在该电路中,七段显示器的引脚连接到Arduino引脚2-9,如下表所示。公共引脚(引脚3和销8)连接到GND,DP保持未连接,因为它在该实验中不使用gydF4y2Ba

七段针gydF4y2Ba Arduino Pins.gydF4y2Ba 线的颜色gydF4y2Ba
1 (e)gydF4y2Ba 6gydF4y2Ba 橙子gydF4y2Ba
2(d)gydF4y2Ba 5gydF4y2Ba 白色gydF4y2Ba
3、8 (COM)gydF4y2Ba 接地gydF4y2Ba N / A.gydF4y2Ba
cgydF4y2Ba 4gydF4y2Ba 黄色的gydF4y2Ba
5(DP)gydF4y2Ba -gydF4y2Ba
6 (b)gydF4y2Ba 3.gydF4y2Ba 红色的gydF4y2Ba
7(一)gydF4y2Ba 2gydF4y2Ba 蓝色的gydF4y2Ba
9(f)gydF4y2Ba 7gydF4y2Ba 青色gydF4y2Ba
10 (g)gydF4y2Ba 8gydF4y2Ba 绿色gydF4y2Ba

代码gydF4y2Ba

void setup(){//定义引脚模式pinMode(输出);pinMode(4、输出);pinMode(5、输出);pinMode(6、输出);pinMode(7、输出);pinMode(8、输出);} void loop() {// loop to turn leds od seven seg ON for(int i=2;i<9;i++) {digitalWrite(i,HIGH);延迟(600);} // loop to turn leds od seven seg OFF for(int i=2;i<9;i++) {digitalWrite(i,LOW); delay(600); } delay(1000); }

Interface_Seven_Segment.zipgydF4y2Ba

实验2gydF4y2Ba


描述gydF4y2Ba

在本教程中,我们将与Arduino Mega进行七个段显示,并学会在七个段显示器上显示从九个延迟的九个延迟的计数。gydF4y2Ba


需要硬件gydF4y2Ba

本实验所需的硬件与实验1相同。gydF4y2Ba


    接线图gydF4y2Ba

    该实验的布线图与实验1的电路相同。gydF4y2Ba


    代码gydF4y2Ba

    / /做一个数组来保存赛格签订销配置数字int num_array [10] [7] = {{1, 1, 1, 1, 1, 1, 0}, / / 0 {0, 1, 1, 0, 0, 0, 0}, / / 1 {1 1 0, 1, 1, 0, 1}, / / 2 {1, 1, 1, 1, 0, 0, 1}, / / 3 {0, 1, 1, 0, 0, 1, 1}, / / 4 {1, 0, 1, 1, 0, 1, 1}, / / 5 {1, 0, 1, 1, 1, 1, 1}, / / 6 {1 1 1 0 0, 0, 0}, / / 7 {1, 1, 1, 1, 1, 1, 1}, / / 8 {1 1 1 0 0, 1, 1}};// 9 //函数头void Num_Write(int);void setup(){//设置引脚模式pinMode(输出);pinMode(4、输出);pinMode(5、输出);pinMode(6、输出);pinMode(7、输出);pinMode(8、输出);} void loop(){//计数器循环for (int counter = 10; counter > 0; --counter) { delay(1000); Num_Write(counter-1); } delay(3000); } // this functions writes values to the sev seg pins void Num_Write(int number) { int pin= 2; for (int j=0; j < 7; j++) { digitalWrite(pin, num_array[number][j]); pin++; } }

    aac_interface_a_seven_segment.zip.gydF4y2Ba

    视频gydF4y2Ba

    为自己提供这个项目!gydF4y2BaBOM。gydF4y2Ba

    3评论gydF4y2Ba
    • 马林Stoš我ćgydF4y2Ba 2018年5月02日gydF4y2Ba

      I’ve just started with Arduino so I’m sticking to yet simple projects ..similarly, I’ll try it with 2x 7-seg display from old PC casing so I wanted to try it in similar way (+ A..F) for hexadecimal digits.
      从原理图中可以清楚地看出,你的e使用了7-seg LED带共同的阳极,由于Arduino的7个引脚被用作' GND ', digitalWrite()函数不应该设置为低电平来打开LED电源/高电平来关闭LED电源(因为它的电流通过数字引脚下沉)?gydF4y2Ba

      喜欢。gydF4y2Ba 回复gydF4y2Ba
    • 米gydF4y2Ba
      mhmsootagydF4y2Ba 2020年5月25日gydF4y2Ba

      这里绘制的电路用于常见阳极。我是这个stuf的新手,所以我花了我一整天搞定。此外,NUM_ARRAY中的最后两位数字被交换。除了3,2,1之外,您将无法了解这一点。代码看起来很好,但我想数据表有一些东西。当我交换两者时,我对我没关系。但只有一个提示,以防有人像我一样困住。gydF4y2Ba

      喜欢。gydF4y2Ba 回复gydF4y2Ba