基于GPS的点阵显示时钟

由Kamal Das

233

本文介绍的是一个基于led的二维矩阵显示时钟。今天有许多技术用于创建各种各样的显示器。我们知道的基本显示系统有分段显示,2D显示,3D显示,还有机械显示。LED显示器是一种平面显示器,它使用一组LED作为像素。本项目是为了制作一个基于GPS的LED点阵时钟。EFY实验室的原型如图1所示。

EFY实验室的GPS点阵显示时钟原型
图1:EFY实验室基于GPS的点阵显示时钟原型

电路和工作

基于GPS的点阵显示时钟电路图如图2所示。它使用两块Arduino纳米板(Board1和Board2),一个NEO 6M GPS模块,一个现成的8×8点阵显示板。

基于GPS的点阵显示时钟电路图
图2基于GPS的点阵显示时钟电路图

请注意,系统使用两个不同的Arduino板,其中一个(Board2)控制点阵显示,另一个(Board1)从TX1引脚的GPS模块生成串行时钟数据,并馈送到Board2的RX0引脚。

项目分为四个部分:8×8点阵显示、显示驱动、Arduino Nano板与点阵接口、GPS模块。

点阵显示

现成的4-in-1, 8×8显示板(DIS1)如图3所示,是很好的集成,并配有5个引脚(Vcc, GND, CLK, CS,和数据)。整个模块采用四个8×8共阴极点阵形式,每个点阵由MAX7219 IC驱动。

现成的4-in-1 8x8点阵显示板
图3:现成的四合一8×8点阵显示板

显示驱动

显示驱动芯片MAX7219来自Maxim Integrated,工作电压为4V到最大5.5V。它的引脚19用于电源,引脚4和9用于接地,引脚1用于数据输入,引脚12用于负载,引脚13用于串行时钟。(这里没有显示大头针的细节。)引脚24是Data Out引脚,用于将数据转发到其他段。

Arduino与显示接口

接口首选Arduino Nano (Board2);它有一个USB接口连接到个人电脑或笔记本电脑。首先安装Arduino IDE,将Arduino Nano连接到PC的USB端口。打开Arduino草图/程序(EFYlabmatrixdisplay.ino),然后从管理库选项包括库。搜索MD_Parola 2.7.4和MD_MAX72XX 2.10.0库并安装它们。现在,将Arduino代码(EFYlabmatrixdisplay.ino)上传到Board1。如图2电路所示,显示模块(DIS1)的CLK引脚连接到Board2的引脚13 (D13), Data引脚连接到引脚11,CS引脚连接到引脚10,GND连接到GND, Vcc引脚连接到Arduino Nano (Board2)的+5V引脚。

Arduino与GPS接口

这里另一个Arduino Nano (Board1)用于计算和解析通过NEO 6M GPS模块接收的GPS数据。用Arduino编程语言编写的程序(efylabgpclock .ino)使用Arduino IDE进行编译。打开Arduino IDE,打开草图,然后从管理库选项包括库。

mical Hart的搜索tinyGPS++,为Arduino提供了面向对象的NMEA数据分析。点击安装Tiny GPS++从管理库窗口。对于这个项目,您还需要softwareSerial库。安装完所有库后,编译源代码(efylabgpclock .ino),并使用正确的串口和Arduino板上传代码。串行输出可在串行端口9600波特。

在代码中,通过为印度时区添加05:30 IST, GPS时间被设置为UTC时间。(时间将显示一个间隔,可以通过程序代码延迟或更改。)

这里,NEO 6M GPS模块连接到Arduino Board1。同样,boardd1的TX1引脚连接到Arduino boardd2的RX0引脚。测试时使用的GPS模块如图4所示。

NEO 6M GPS模块
图4:NEO 6M GPS模块

最后,如果一切正常,程序上传到各自的Arduino板,打开电源,等待GPS与卫星连接。一旦连接建立,点阵显示将显示当前的日期和时间。

下载源代码


卡迈勒·达斯(Kamal Das)是东方铁路公司(Eastern Railways)的一名轨道维修工,同时也是一名电子爱好者

2的评论

分享你的想法和评论

请输入您的评论!
请在这里输入你的名字