当前位置:网站首页>Arduino lights up nixie tubes
Arduino lights up nixie tubes
2022-08-02 04:33:00 【WENJIE technology】
Arduino点亮数码管
前言
在本教程中,We'll connect a seven-segment display to the ARDUINO UNO.显示屏从 0 到 9 Counts and resets itself to zero.在继续之前,Let's discuss the seven-segment display first.You can also check out about willarduino A detailed tutorial on connecting to a seven-segment display.
The seven-segment display gets its name from the fact that it has seven illuminated segments.There is one for each of these sections LED(发光二极管),Hence the lighting.LED The way of manufacture makes each LED The lighting is contained in its own segment.这里需要注意的重要一点是,in any seven-segment display LED All in common anode mode(Common positive)or common cathode mode(Common negative)排列.共阴共阳LEDThe circuit connection is shown in the figure above.在这里可以观察到,在 CC 中,每个 LED The negative terminals are connected together and drawn out as GND.在 CA 中,每个 LED The positive poles are connected together and used as VCC 引出.这些 CC 和 CA Handy when multiplexing multiple units together.
所需组件
硬件: ARDUINO UNO,电源(5v),HDSP5503七段显示器(两块)(Any common cathode will do),47uF电容(Jumper the power supply).
软件: arduino IDE
Circuit diagram and working description
为 7 The completed connections for the segment display are shown below:
PIN1 或 E 到 ARDUINO UNO 的 PIN 6
PIN2 或 D 转 PIN 5
PIN4 或 C 转 PIN 4
PIN5 或 H 或 DP 到 PIN 9 ///不需要,Because we didn't use a decimal point
PIN6 或 B 转 PIN 3
PIN7 或 A 到 PIN 2
PIN9 或 F 转 PIN 7
PIN10 或 G 转 PIN 8
PIN3 或 PIN8 或 CC 通过 100Ω 电阻接地.
Now to understand how it works,Consider a seven-segment display connected to a port,Suppose we are already connected“Asegment display toPIN0”,“Bsegment display toPIN1”,“Asegment display toPIN3”,“A segment of the display turnsPIN4”、“A segment of the display turnsPIN5”、“A segment of the display turnsPIN6”.As shown in the figure, it is a common ground type.
在这里,The common ground wire must be grounded for the monitor to work.Each segment displayed can be checked with a multimeter in diode mode.The power supply of each section should not be larger than 4v,Otherwise, the monitor will be permanently damaged.为了避免这种情况,A common resistor can be provided at the common terminal,如电路图所示.
现在,If we want to show one in this display“0”,如下图所示.
我们需要打开“A、B、C、D、EF”段的LED,所以我们需要给PIN0、PIN1、PIN2、PIN3、PIN4和PIN5供电.So every time we need one“0”时,We need to power all the mentioned pins.
现在,如果我们想要显示“1”
我们需要为“B、C”segment power supply,为了使 B、C 段打开,我们需要为 PIN1、PIN2 供电.Both pins are high,我们得到“1”显示.因此,如上所示,We will power the pins corresponding to the numbers that we want to display on the display.
在这里,We will write a program,Turn each segment on and off,计数为 0-9.0-9 Counter work The best are given below C Step-by-step explanation in the code:
代码
#define segA 2//connecting segment A to PIN2
#define segB 3// connecting segment B to PIN3
#define segC 4// connecting segment C to PIN4
#define segD 5// connecting segment D to PIN5
#define segE 6// connecting segment E to PIN6
#define segF 7// connecting segment F to PIN7
#define segG 8// connecting segment G to PIN8
int COUNT=0;//count integer for 0-9 increment
void setup()
{
for (int i=2;i<9;i++)
{
pinMode(i, OUTPUT);// taking all pins from 2-8 as output
}
}
void loop()
{
switch (COUNT)
{
case 0://when count value is zero show”0” on disp
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, LOW);
break;
case 1:// when count value is 1 show”1” on disp
digitalWrite(segA, LOW);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, LOW);
digitalWrite(segE, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
break;
case 2:// when count value is 2 show”2” on disp
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, LOW);
digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH);
digitalWrite(segF, LOW);
digitalWrite(segG, HIGH);
break;
case 3:// when count value is 3 show”3” on disp
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segE, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, HIGH);
break;
case 4:// when count value is 4 show”4” on disp
digitalWrite(segA, LOW);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, LOW);
digitalWrite(segE, LOW);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
break;
case 5:// when count value is 5 show”5” on disp
digitalWrite(segA, HIGH);
digitalWrite(segB, LOW);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segE, LOW);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
break;
case 6:// when count value is 6 show”6” on disp
digitalWrite(segA, HIGH);
digitalWrite(segB, LOW);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
break;
case 7:// when count value is 7 show”7” on disp
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, LOW);
digitalWrite(segE, LOW);
digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
break;
case 8:// when count value is 8 show”8” on disp
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
break;
case 9:// when count value is 9 show”9” on disp
digitalWrite(segA, HIGH);
digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH);
digitalWrite(segD, HIGH);
digitalWrite(segE, LOW);
digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH);
break;
break;
}
if (COUNT<10)
{
COUNT++;
delay(1000);///increment count integer for every second
}
if (COUNT==10)
{
COUNT=0;// if count integer value is equal to 10, reset it to zero.
delay(1000);
}
}
边栏推荐
猜你喜欢
随机推荐
[Arduino connected to GP2Y1014AU0F dust sensor]
Spark特征工程-归一化 和 分桶
阿里云华为云对比分析
【Arduino使用旋转编码器模块】
兼容C51与STM32的Keil5安装方法
【opencv】error: (-215:Assertion failed) ssize.empty() in function ‘cv::resize‘报错原因
umi3 权限路由PrivateRoute未执行
【科普贴】I2C接口详解——偏硬件解析
openmv学习 2022.5.9
管理node版本的工具volta
flutter 国内镜像源列表
【Arduino connects DHT11 humidity and temperature sensor】
TimeSformer视频理解框架:视频理解中的Transformer
PCIE电路设计
完全背包问题(动态规划)
《scala 编程(第3版)》学习笔记2
Type c PD 电路设计
远程调试PLC,到底如何操作?
Visual Studio2022创建setup项目
Spark特征工程-one-hot 和 multi-hot