Microduino-UM220iiiN-GPS模块制作时钟-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6313|回复: 2

Microduino-UM220iiiN-GPS模块制作时钟

[复制链接]
发表于 2016-8-30 23:57 | 显示全部楼层 |阅读模式
本帖最后由 topdog 于 2020-2-20 23:27 编辑

Microduino-UM220-III 是使用和芯星通针对车辆监控/导航、手持设备、电信/电力授时、气球探空等应用推出的北斗/GPS双系统模块。UM220-III是UM220系列模块的第三代产品,采用和芯星通完全自主知识产权的低功耗GNSS SoC芯片——(HumbirdTM)1,是目前市场上尺寸最小的完全国产化的北/GPS模块,集成度高、功耗低,非常适合对尺寸、功耗要求高的北斗规模应用。


IMG_8165a.jpg

本次交流主要针对UM220-III 精密授时的功能应用制作一款GPS的时钟。UM220-III 提供高精确度的1PPS 输出,授时精度优于20ns。支持单星授时,可由用户配置授时模式。完全满足电力同步、电信基站等精密授时应用。

主要器材有microduino-coreUSB,UM220-III -GPS模块,oled1306,BM电池组。在此强调的是注意gps的天线,下图照片上的天线是gps专用的,要收北斗的就要配双模或者北斗单模的天线。



IMG_8166a.jpg

首先我们把microduino-coreUSB,UM220-III -GPS模块叠加,gps的输出在0,1管脚,和coreUSB的Serial1重叠。在Arduino For Microduino输入调试代码:

String inputString = " ";

boolean stringComplete = false;

void setup() {

Serial.begin(115200);

Serial1.begin(9600);

}

void loop() {

serialEvent();

if(stringComplete){

Serial.println(inputString);

}

}

void serialEvent() {

while (Serial1.available()>0){

char inChar =(char) Serial1.read();

inputString +=inChar;

if (inChar == '\n') {

stringComplete = true;

}

}

}

我们打开串口就可以看到一连串的代码。其中有一行:

$GNZDA,221358.000,30,08,2016,00,00*43 这是NMEA0183标准语句GPS时间信息。

解释一下:$GPZDA, <1> , <2> , <3> , <4> , , *hh<CR><LF>

$GPZDA,称作标头;<1> 时间,hhmmss.ss  时分秒的格式 ;<2> 日期 ;<3> 月份 ;<4> 年 ;*hh  是对时区的矫正,一般为00。

搞懂了各个字符串的作用,那么我就在编写程序中使用Arduino推荐的字符串操作函数对相应的数据进行截取,首先是把$GNZDA剥离出来,使用startsWith()函数,其次,以221358为例子,它在字符串的位置是7至17,这是UTC标准时间,即 自1924年2月5日开始,格林尼治天文台每隔一小时会向全世界发放调时信息。它以格林尼治天文台的经线为0 度经线,将世界分为24 个时区,我国首都北京在第八时区。22代表小时,13代表分钟,58代表秒钟。对它们的截取使用substring()函数,再用toInt()把它转化成数字进行北京时区的小时的计算,接着把区域时间小时字符串替换utc小时字符串,使用了replace()函数。



IMG_8164a.jpg

代码分享github:
本程序的特点是使用了Arduino的字符串操作函数,还是有独特性的。


发表于 2016-8-31 09:26 | 显示全部楼层
楼主:你好!你的《Microduino-UM220iiiN-GPS模块制作时钟》文章很有创意,也非常新颖,读后收获很大。能否分享一下代码,我的邮箱:2454224539@qq.com,谢谢!
发表于 2016-8-31 13:21 | 显示全部楼层

谢谢分享谢谢分享谢谢分享
       谢谢分享谢谢分享                       谢谢分享
       谢谢分享谢谢分享                谢谢分享         
                   谢谢分享              谢谢分享谢谢分享谢谢分享
             谢谢分享              谢谢分享        谢                谢
             谢谢分享              谢谢分享        谢                谢
             谢谢分享              谢谢分享        分                分
             谢谢分享              谢谢分享        享                享
             谢谢分享              谢谢分享        谢                谢
             谢谢分享              谢谢分享        谢                谢
谢        谢谢分享               谢谢分享       分                分
谢谢     谢谢分享              谢谢分享        享                享
谢谢分 谢谢分享              谢谢分享        谢                谢
谢谢分 谢谢分享                               谢       谢
谢谢分谢谢分享                         谢                 谢
         谢谢谢谢                    分                               分
             谢谢                   享                                     享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 00:49 , Processed in 0.189621 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表