当前位置:主页 >数码产品 >

7数码管DIY时钟温度湿度都可以显示太完整了

0
时间:2020-01-31 15:54:00 来源:科联网
[导读]7段数码管DIY,时钟、温度、湿度都能显示,太齐全了!|Arduino|Genuino|湿度

原标题:7数码管DIY,时钟,温度,湿度都可以显示,太完整了!

带Arduino的数字时钟,使用移位寄存器(74HC595)、实时时钟、温度和湿度传感器以及7段数字显示器。

62a97d24de8d4f9ba2b320b9cd1e2db2.jpeg

必须元器件

硬件:

Arduino UNO Genduino *1

实时时钟(RTC)*1

DHT11温度和湿度传感器(4针)*1

德州仪器(TI)移位寄存器-串行到并行* 2

公共阳极发光二极管显示屏(4位x 7段数码管)*1

150欧姆电阻*8

1,引入

带RTC(实时时钟)的数字时钟项目,该项目使用4位和7段

Arduino Uno R3和74HC595的02集成电路(带输出锁存器的8位移位寄存器)用于显示控制。移位寄存器的使用对于保存Arduino的输出端口非常重要,并且只需要三个Arduino输出来控制显示器。

有两个突破:一个是温度(摄氏/华氏)和湿度(%)传感器,另一个是实时时钟传感器。组装非常简单,但我们必须注意跳线的连接。

e2546c7c7c4e4b669480240952d43d24.jpeg

Time Display

91bda19077f7494cb1700fd51bf9417d.jpeg

Temperature Display

365e024886884f978441f4429c93cf25.jpeg

湿度Display

II,物料清单

1 x DS1307(实时时钟)

1 x DHT11(温度和湿度传感器)

2 x 74HC595(带输出锁存器-3状态的8位移位寄存器)

8 150欧姆电阻(棕色-绿色-棕色)

1 x FYQ-5642BX(公共阳极发光二极管显示器为04但是,请注意引脚编号)

1 Arduino Uno

1 x面包板

1 x跳线套件

1c787decda5d4cd09d828307b74b3e0b.jpeg

实时时钟

9ade7152737d4f8aaa1712b0f5d3c2c0.jpeg

Led display

a36ac81d8f2a4e489db6275ac2fd5e0e.jpeg

Arduino Uno 3

ca8a7f00774f4b1d8a6201d384df6598.jpeg

DHT 11(温度和湿度传感器)

0663-9 508

1 x FYQ-5642BX(公共阳极发光二极管显示器为04位数字和07段

3)。assembly

parts assembly非常简单,但是由于接线,您需要仔细遵循原理图。本项目中有两个移位寄存器:一个用于控制显示器的每个部分,另一个用于控制显示器的内容。

8a43009f2e214f13bb7be8c61155c783.jpeg

重要提示:如果您想使用另一种类型的发光二极管显示器,您需要检查其数据表以更新74HC595的输出接线(跳线),并且您还必须更新Arduino软件的相应逻辑。

4。代码

以下二进制数据代表了数字(0到9)和发光二极管显示器的段(A到G)之间的关系:

为了在发光二极管显示器上依次显示时间、温度和湿度的所有数据,我使用了功能为毫秒和while的“计时器”。在这种情况下,每条信息将在03秒后依次显示在显示屏上,这是非常简单和有效的。

您可以用几种不同的方式应用这个函数毫秒来管理程序运行的时间。在很多情况下,你可以用它代替一些计时器。

另一个有用的功能是数字写入可以简化将数据写入移位寄存器的过程。

digitalWrite:

描述:

向数字引脚写入高或低值的详细信息。

如果引脚配置为输出引脚模式(OUTPUTwith pinMode),其电压将设置为相应的值:5V (3.3V板上的3.3V)高和0V(地)低。

如果此引脚配置为输入,数字写入将使能(高)或禁用(低)输入引脚上的内部上拉电阻。建议设置为pinMode,INPUT _ PULLUP以使能内部上拉电阻。

如果您将发光二极管连接到引脚,而不是将引脚模式设置为输出,当被称为数字写入(高电平)时,发光二极管可能会变暗。如果引脚模式未明确设置,数字写入将使能内部上拉电阻,其作用类似于大限流电阻。

语法:

digitalwrite (pin,value)

参数:

pin:arduino pin号。

值:高或低。

返回:

No Return

范例程式码:

该代码使数字引脚13 an的输出在1秒内交替变为高电平和低电平。

pinMode( 13,输出);//将数字引脚13设置为输出

void loop(){

digital write(13,高电平);//将数字引脚13设置为

delay(1000);//等待第二个

digitalWrite( 13,LOW);//关闭数字引脚13

延迟(1000);//等待第二个

注意和警告:

模拟输入引脚可以用作数字引脚,称为A0、A1等。唯一的例外是Arduino Nano、Pro Mini和Mini的A6和A7引脚,它们只能用作模拟输入。

5。RTC模块

1的首次调整。要调整RTC模块的时间,请加载并运行程序“设置时间”(您可以在Arduino IDE/DS 1307 RTC示例的库中找到它)。

2。重新加载并再次运行“数字时钟”程序。

根据此步骤,由于安装了RTC模块的电池组,RTC模块将保持正确的时间,您不需要每次使用时重新编译“数字时钟”程序。

相关阅读