当前位置:网站首页>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);
}
}
边栏推荐
猜你喜欢

MPU6050 加速度计和陀螺仪传感器与 Arduino 连接

分布式消息队列平滑迁移技术实战

ArrayList LinkList效率对比

简单的RC滤波电路

物联网方案

Vision Transformer(ViT)论文精读和Pytorch实现代码解析

Visual Studio2022创建setup项目

单火线开关设计详解
![[Popular Science Post] I2C Communication Protocol Detailed Explanation - Partial Software Analysis and Logic Analyzer Example Analysis](/img/be/9b23a798557222bab68c67bf9170af.png)
[Popular Science Post] I2C Communication Protocol Detailed Explanation - Partial Software Analysis and Logic Analyzer Example Analysis

一文理解分布式开发中的服务治理
随机推荐
使用Vercel托管自己的网站
C# 常用方法记录
机器学习相关 概率论重点笔记
深度学习实战(1):花的分类任务
无源域适应(SFDA)方向的领域探究和论文复现(第二部分)
[Arduino uses a rotary encoder module]
AD PCB导出Gerber文件(非常详细的步骤)
移动云物联网预研及阿里云开发对比分析
Website development plan research
【TCS3200 颜色传感器与 Arduino 实现颜色识别】
sacalatest AnyFunSuite:no implicits found for parameter pos
关于IIC SDA毛刺的那些事
案例|工业物联网解决方案·智慧钢厂高性能安全数采
保证接口数据安全的10种方案
蓝桥杯:国二选手经验贴 附蓝桥杯历年真题
【Popular Science Post】UART Interface Communication Protocol
【科普贴】MDIO接口详解
MQ-5 可燃气体传感器与 Arduino 接口
TimeSformer视频理解框架:视频理解中的Transformer
[Spark]-LSH局部敏感哈希