查看: 887|回复: 1

求助帖关于GPS时间转换成北京时间的

[复制链接]
  • TA的每日心情
    难过
    2018-12-16 09:25
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2018-12-16 09:24 | 显示全部楼层 |阅读模式
    求助社区里的各位大佬,怎么在下面的代码加个让GPS获取的时间在1602LCD屏幕上实时显示出来,我找了好多资源都用不了

    #include <TinyGPS.h>
    #include <LiquidCrystal.h>



    TinyGPS gps;
    LiquidCrystal lcd(12, 11, 2, 3, 4, 5);              //LCD driver pins
    int led = 13;

    long lat, lon;
    unsigned long fix_age, time, date, speed, course;
    unsigned long chars;
    unsigned short sentences, failed_checksum;
    //int year;
    //byte month, day, hour, minute, second, hundredths;

    int DEG;
    int MIN1;
    int MIN2;

    void LAT(){                       //Latitude state
      DEG=lat/1000000;
      MIN1=(lat/10000)%100;
      MIN2=lat%10000;

      lcd.setCursor(0,0);             // set the LCD cursor   position
      lcd.print("LAT:");              
      lcd.print(DEG);
      lcd.write(0xDF);
      lcd.print(MIN1);
      lcd.print(".");
      lcd.print(MIN2);
      lcd.print("'   ");
    }
    void LON(){                        //Longitude state
      DEG=lon/1000000;
      MIN1=(lon/10000)%100;
      MIN2=lon%10000;

      lcd.setCursor(0,1);              // set the LCD cursor   position
      lcd.print("LON:");              
      lcd.print(DEG);
      lcd.write(0xDF);
      lcd.print(MIN1);
      lcd.print(".");
      lcd.print(MIN2);
      lcd.print("'   ");
    }

    void setup()
    {
      Serial.begin(9600);            //Set the GPS baud rate.

      pinMode(led, OUTPUT);  

      lcd.begin(16, 2);               // start the library
      lcd.setCursor(0,0);             // set the LCD cursor   position
      lcd.print("GPS test");          // print a simple message on the LCD
      delay(2000);
    }

    void loop()
    {







      while (Serial.available())
      {
        digitalWrite(led, HIGH);
        int c = Serial.read();                   // Read the GPS data
        if (gps.encode(c))                        // Check the GPS data
        {
          // process new gps info here
        }

      }
      digitalWrite(led, LOW);
      gps.get_position(&lat, &lon, &fix_age);     // retrieves +/- lat/long in 100000ths of a degree
      gps.get_datetime(&date, &time, &fix_age);   // time in hhmmsscc, date in ddmmyy

      //gps.crack_datetime(&year, &month, &day,    //Date/time cracking
      //&hour, &minute, &second, &hundredths, &fix_age);  

    LAT();
    LON();

    }

  • TA的每日心情
    难过
    2019-4-16 15:20
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    发表于 2019-2-10 19:28 | 显示全部楼层
    $GPRMC,095609.00,A,3057.64xxx,N,12126.69xxx,E,GPRMC后面的一串数字是UTC时间,+8个小时就是北京时间了
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    做了一个定时喂鱼的装置
    做了一个定时喂鱼的装置
    快放假了,怕鱼饿瘦了做了这么个控制,每天定时投鱼粮。用ESP8266编写,web设定参数,
    【项目】基于Arduino Nano的多功能桌面感应垃圾桶
    【项目】基于Arduino Nano
    基于Arduino Nano的多功能桌面感应垃圾桶随着大学生活不断往前迈进,宿舍桌面上的杂物
    arduino +MPU6050控制云台相机匀速转动(接受付费)!
    arduino +MPU6050控制云台
    最近在调试云台(用的有刷直流减速电机挂大相机的那种),发现相机在往下移动时往往速
    光敏电阻检测环境光实验
    光敏电阻检测环境光实验
    本文节选自《Arduino程序设计基础》 一些简单的电子元件就可以做传感器使用,例如我
    基于Esp8266的点阵时钟
    基于Esp8266的点阵时钟
    芯片是ESP8266 12F 配合点阵单元板(64*32,单色),实现自动对时,天气预报,农历,
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表