рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рд╕реНрд╡-рд╕рдорд╛рдпреЛрдЬрди рдШрдбрд╝реА



рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдПрдХ рд╕реНрд╡-рд╕рдорд╛рдпреЛрдЬрди рдШрдбрд╝реА рдмрдирд╛рдирд╛ рдерд╛ рдЬреЛ рд╕реАрдИрдЯреА рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рджрд┐рди рдХреЗ рд╕рдордп рдХреА рдмрдЪрдд рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рд╕рдордп рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ NEO-7M рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЬреАрдкреАрдПрд╕ рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рд╣реИред рдбрд┐рд╕реНрдкреНрд▓реЗ рдпреВрдирд┐рдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ 2.9 рдЗрдВрдЪ рдХреЗ рдИ-рдкреЗрдкрд░ (рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╕реНрдпрд╛рд╣реА) рдбрд┐рд╕реНрдкреНрд▓реЗ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред рдпреЗ рд╕рднреА рдореЙрдбреНрдпреВрд▓ Arduino Nano рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВред

рдореЙрдбреНрдпреВрд▓ рдХрдиреЗрдХреНрд╢рди рдЖрд░реЗрдЦ


рдиреАрдЪреЗ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдХрдиреЗрдХреНрд╢рди рдЖрд░реЗрдЦ рд╣реИ:



  • рдЬреАрдкреАрдПрд╕ рдореЙрдбреНрдпреВрд▓ рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ,
  • рдИ-рдкреЗрдкрд░ рдбрд┐рд╕реНрдкреНрд▓реЗ рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП 4-рд▓рд╛рдЗрди рдПрд╕рдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдХрд╛рд░реНрдпрдХреНрд░рдо




рдХрд╛рд░реНрдпрдХреНрд░рдо Arduino IDE рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:

  • TinyGPS ++ - рдкреНрд░рд╛рдкреНрдд рдЬреАрдкреАрдПрд╕ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдбрд┐рдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рд╕рдордп рдФрд░ рддрд╛рд░реАрдЦ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
  • U8g2lib - рдИ-рдкреЗрдкрд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
  • рдЯрд╛рдЗрдо рдЬрд╝реЛрди - рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЯрд╛рдЗрдо рдЬрд╝реЛрди рдореЗрдВ рд╕рдордп рдФрд░ рддрд╛рд░реАрдЦ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдФрд░ рдбреЗрд▓рд╛рдЗрдЯ рд╕реЗрд╡рд┐рдВрдЧ рдЯрд╛рдЗрдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдпрд╣ рдкреВрд░реНрд╡реА рдпреВрд░реЛрдк рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рд▓рдЧрднрдЧред рдЯреНрд░рд╛рдВрд╕рд▓реЗрдЯрд░)

рдЪрд╛рд░реНрдЯ




1. рдкрд╣рд▓рд╛ рдХрджрдо рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реИ: рдЬреАрдкреАрдПрд╕ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░, рдИ-рдкреЗрдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛, рддрд╛рд░реАрдЦ рдФрд░ рд╕рдордп рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдпред

2. рджреВрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ, рд╣рдо рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рд╛рдкреНрдд рдЬреАрдкреАрдПрд╕ рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

3. рдпрджрд┐ GPS рдбреЗрдЯрд╛ рдорд╛рдиреНрдп рд╣реИ, рддреЛ рд╣рдо рджрд┐рдирд╛рдВрдХ рдФрд░ рд╕рдордп рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВред

4. рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рд╣рдо рдИ-рдкреЗрдкрд░ рдбрд┐рд╕реНрдкреНрд▓реЗ рдкрд░ рд╕рдордп рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВред

рд╕реНрд░реЛрдд рдХреЛрдб (рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЕрдиреБрд▓рдЧреНрдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ)


/ *      CET  DST  kk99 2018 * / # include <SoftwareSerial.h> # include <TinyGPS ++. h> # include <SPI.h> # include <U8g2lib.h> # include <Timezone.h> # include <Arduino.h> //  GPS TinyGPSPlus gps; //  EDP U8G2_IL3820_V2_296X128_1_4W_HW_SPI u8g2 (U8G2_R0, / * cs = * / 10 , / * dc = * / 9 , / * reset = * / 8 ) ; //   TimeChangeRule CEST = { "CEST" , Last, Sun, Mar, 2 , 120 }; //    TimeChangeRule CET = { "CET" , Last, Sun, Oct, 3 , 60 }; // -    CE (CEST, CET) ; TimeChangeRule * tcr; //   SoftwareSerial softSerial ( 3 , 2 ) ; void setup () { //     ,     : u8g2.begin (); softSerial.begin ( 9600 ); setTime ( 00 , 00 , 00 , 01 , 01 , 1970 ); } void loop () { //        : readGPSData ( 1000 );  (); displayTime ();  ( 59000 ); } static void readGPSData ( unsigned long timeoutMs) { unsigned long start = millis ();  { while (softSerial.available ()) gps.encode (softSerial.read ()); } while (millis () - start <timeoutMs); } static void updateTime ( void ) { if (gps.time.isValid () && gps.date.isValid ()) { setTime (gps.time.hour (), gps.time.minute (), gps.time.second (), gps.date.day (), gps.date.month (), gps.date.year ()) ; } } static void displayTime ( void ) { const unsigned timeLength = 6 ; char timeValue [timeLength]; time_t utc = now (); time_t local = CE.toLocal (utc, & tcr); snprintf (timeValue, timeLength, "% 02d:% 02d" ,  (),  ()); u8g2.firstPage ();  { u8g2.setFont (u8g2_font_logisoso78_tn); u8g2.drawStr ( 26 , 103 , timeValue); } while (u8g2.nextPage ()); } 

рд▓рдШреБ рд╡реАрдбрд┐рдпреЛ рдкреНрд░рд╕реНрддреБрддрд┐



рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛


1 ├Ч 2.9 'рдИ-рдкреЗрдкрд░ рдбрд┐рд╕реНрдкреНрд▓реЗ (рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╕реНрдпрд╛рд╣реА),
1 ├Ч рдЕрд░реНрдбреБрдЗрдиреЛ рдиреИрдиреЛ,
1 ├Ч NEO-7M

рд╕реНрд░реЛрдд рдХреЛрдб


164,955

Source: https://habr.com/ru/post/hi450102/


All Articles