2021/11/26

Dependencies:   mbed TextLCD TinyGPS TinyGPSplus

Committer:
mi7110imam
Date:
Fri Nov 26 07:49:44 2021 +0000
Revision:
0:bfbab849e286
2021/11/26

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mi7110imam 0:bfbab849e286 1 #include "mbed.h"
mi7110imam 0:bfbab849e286 2 #include "Serial.h"
mi7110imam 0:bfbab849e286 3 #include "TinyGPSplus.h"
mi7110imam 0:bfbab849e286 4 #include "TextLCD.h"
mi7110imam 0:bfbab849e286 5
mi7110imam 0:bfbab849e286 6
mi7110imam 0:bfbab849e286 7 Serial gps(p9, p10); // tx, rx
mi7110imam 0:bfbab849e286 8 Serial pc(USBTX, USBRX); // tx, rx
mi7110imam 0:bfbab849e286 9 DigitalOut myled(LED1);
mi7110imam 0:bfbab849e286 10 Serial xbee(p13,p14);
mi7110imam 0:bfbab849e286 11 TinyGPSPlus tgps;
mi7110imam 0:bfbab849e286 12 AnalogIn vo(p20);
mi7110imam 0:bfbab849e286 13 AnalogIn vi(p16);
mi7110imam 0:bfbab849e286 14 TextLCD lcd(p24,p26,p27,p28,p29,p30);
mi7110imam 0:bfbab849e286 15
mi7110imam 0:bfbab849e286 16 bool read_gps(bool debug=false) {
mi7110imam 0:bfbab849e286 17 char ch;
mi7110imam 0:bfbab849e286 18 bool stat;
mi7110imam 0:bfbab849e286 19 if(gps.readable()) {
mi7110imam 0:bfbab849e286 20 ch = gps.getc();
mi7110imam 0:bfbab849e286 21 if(debug)pc.putc(ch);
mi7110imam 0:bfbab849e286 22 stat = tgps.encode(ch);
mi7110imam 0:bfbab849e286 23 }
mi7110imam 0:bfbab849e286 24 return stat;
mi7110imam 0:bfbab849e286 25 }
mi7110imam 0:bfbab849e286 26
mi7110imam 0:bfbab849e286 27 int main()
mi7110imam 0:bfbab849e286 28 {
mi7110imam 0:bfbab849e286 29 int hour, time;
mi7110imam 0:bfbab849e286 30 xbee.baud(9600);
mi7110imam 0:bfbab849e286 31 lcd.cls();
mi7110imam 0:bfbab849e286 32 while(1){
mi7110imam 0:bfbab849e286 33 if(read_gps() && tgps.time.second()%5 == 0){
mi7110imam 0:bfbab849e286 34 if(tgps.time.hour()>15){
mi7110imam 0:bfbab849e286 35 hour=tgps.time.hour()%15;
mi7110imam 0:bfbab849e286 36 }else{
mi7110imam 0:bfbab849e286 37 hour=tgps.time.hour()+9;
mi7110imam 0:bfbab849e286 38 }
mi7110imam 0:bfbab849e286 39 if(time != tgps.time.second()){
mi7110imam 0:bfbab849e286 40 xbee.printf("%d/%d/%d, %d:%d:%d ,",tgps.date.year(),tgps.date.month(),tgps.date.day(),hour,tgps.time.minute(),tgps.time.second());
mi7110imam 0:bfbab849e286 41 xbee.printf("%f, %f ,",tgps.location.lat(),tgps.location.lng());
mi7110imam 0:bfbab849e286 42 xbee.printf("%f\r\n",vo.read()*3.3*0.3);
mi7110imam 0:bfbab849e286 43 lcd.locate(0,0);
mi7110imam 0:bfbab849e286 44 lcd.printf("%f",vo.read()*3.3*0.3);
mi7110imam 0:bfbab849e286 45 time=tgps.time.second();
mi7110imam 0:bfbab849e286 46 }
mi7110imam 0:bfbab849e286 47 }
mi7110imam 0:bfbab849e286 48 }
mi7110imam 0:bfbab849e286 49 }
mi7110imam 0:bfbab849e286 50