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

topdog 发表于 2016-8-30 23:57

Microduino-UM220iiiN-GPS模块制作时钟

本帖最后由 topdog 于 2020-2-20 23:27 编辑

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




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

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





首先我们把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()函数。





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


hkzhouzhen7666 发表于 2016-8-31 09:26

楼主:你好!你的《Microduino-UM220iiiN-GPS模块制作时钟》文章很有创意,也非常新颖,读后收获很大。能否分享一下代码,我的邮箱:2454224539@qq.com,谢谢!

hkzhouzhen7666 发表于 2016-8-31 13:21


谢谢分享谢谢分享谢谢分享
       谢谢分享谢谢分享                     谢谢分享
       谢谢分享谢谢分享                谢谢分享         
                   谢谢分享            谢谢分享谢谢分享谢谢分享
             谢谢分享            谢谢分享      谢                谢
             谢谢分享            谢谢分享      谢                谢
             谢谢分享            谢谢分享      分                分
             谢谢分享            谢谢分享      享                享
             谢谢分享            谢谢分享      谢                谢
             谢谢分享            谢谢分享      谢                谢
谢      谢谢分享               谢谢分享       分                分
谢谢   谢谢分享            谢谢分享      享                享
谢谢分 谢谢分享            谢谢分享      谢                谢
谢谢分 谢谢分享                               谢       谢
谢谢分谢谢分享                         谢               谢
         谢谢谢谢                  分                               分
             谢谢                   享                                     享
页: [1]
查看完整版本: Microduino-UM220iiiN-GPS模块制作时钟