2021/11/26
Dependencies: mbed TextLCD TinyGPS TinyGPSplus
main.cpp@0:bfbab849e286, 2021-11-26 (annotated)
- Committer:
- mi7110imam
- Date:
- Fri Nov 26 07:49:44 2021 +0000
- Revision:
- 0:bfbab849e286
2021/11/26
Who changed what in which revision?
User | Revision | Line number | New 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 |