原标题:7数码管DIY,时钟,温度,湿度都可以显示,太完整了!
带Arduino的数字时钟,使用移位寄存器(74HC595)、实时时钟、温度和湿度传感器以及7段数字显示器。
必须元器件
硬件:
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输出来控制显示器。
有两个突破:一个是温度(摄氏/华氏)和湿度(%)传感器,另一个是实时时钟传感器。组装非常简单,但我们必须注意跳线的连接。
Time Display
Temperature Display
湿度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跳线套件
实时时钟
Led display
Arduino Uno 3
DHT 11(温度和湿度传感器)
0663-9 508
1 x FYQ-5642BX(公共阳极发光二极管显示器为04位数字和07段
3)。assembly
parts assembly非常简单,但是由于接线,您需要仔细遵循原理图。本项目中有两个移位寄存器:一个用于控制显示器的每个部分,另一个用于控制显示器的内容。
重要提示:如果您想使用另一种类型的发光二极管显示器,您需要检查其数据表以更新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模块将保持正确的时间,您不需要每次使用时重新编译“数字时钟”程序。