рд╕реНрдерд╛рдиреАрдп рд╕реНрд╡рд╛рдпрддреНрдд рдбреЗрдЯрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг рдкреНрд░рдгрд╛рд▓реА (рдЬрд╛рд░реА)

рдЗрд╕ рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ ╨┐╨╛ ╤Б╤Б╤Л╨╗╨║╨╡.
рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд┐рдХрд▓реНрдк PC817 рдСрдкреНрдЯреЛрдХреЙрдкреНрд▓рд░ рд╡рд╛рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдирд┐рдХрд▓рд╛ред рд╕рд░реНрдХрд┐рдЯ рдЖрд░реЗрдЦрд╕реНрдерд╛рдиреАрдп рд╕реНрд╡рд╛рдпрддреНрдд рдбреЗрдЯрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг рдкреНрд░рдгрд╛рд▓реА (рдЬрд╛рд░реА)рдмреЛрд░реНрдб рдореЗрдВ рддреАрди рд╕рдорд╛рди рд╕рд░реНрдХрд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВ, рд╕рдм рдХреБрдЫ рдПрдмреАрдПрд╕ рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдмрдХреНрд╕реЗ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдХрд╛рд░ 100x100 рдорд┐рдореАред рдСрдкреНрдЯреЛрдХреЙрдкреНрд▓рд░реНрд╕ рдХрд╛ рдлреЛрдЯреЛрд╕реНрдерд╛рдиреАрдп рд╕реНрд╡рд╛рдпрддреНрдд рдбреЗрдЯрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг рдкреНрд░рдгрд╛рд▓реА (рдЬрд╛рд░реА) рдЬрдм рд╕реЗрдореАрдХрдВрдбрдХреНрдЯрд░ рд╡рд╛рд▓реНрд╡ рдХреЗ рд╕рд╛рде рд╕реНрдЯрд╛рд░реНрдЯрд┐рдВрдЧ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдирдХрд╛ рд▓реАрдХреЗрдЬ рдХрд░рдВрдЯ PC817 рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХрд╛рдЙрдВрдЯрд░ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдкреНрдЯреЛрдХреЙрдкреНрд▓рд░ рдПрд▓рдИрдбреА рдФрд░ рдСрдкрд░реЗрд╢рди рдЗрдВрдбрд┐рдХреЗрд╢рди рдПрд▓рдИрдбреА рдХреЗ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдПрдХ рдФрд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрдореНрдкрд░ J1 рдЦреЛрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд LED LED1 рдХреЛ рд╕реЛрд▓реНрдбрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рднрд╛рдЧ рдмрдирд╛ рд╣реБрдЖ рд╣реИ рдкрдХреНрд╖ 1рд╕реНрдерд╛рдиреАрдп рд╕реНрд╡рд╛рдпрддреНрдд рдбреЗрдЯрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг рдкреНрд░рдгрд╛рд▓реА (рдЬрд╛рд░реА)рдкрдХреНрд╖ 2рд╕реНрдерд╛рдиреАрдп рд╕реНрд╡рд╛рдпрддреНрдд рдбреЗрдЯрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг рдкреНрд░рдгрд╛рд▓реА (рдЬрд╛рд░реА)рд╡рд┐рдХрд╛рд╕ рдмреЛрд░реНрдб ARDUINO MEGA 2560 рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдВрдд рдореЗрдВ рдПрдХ рдбрдмрд▓-рдкрдВрдХреНрддрд┐ рдХрдиреЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред 240x400 рдХреЗ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╡рд╛рд▓реА рдПрдХ рд╕реНрдХреНрд░реАрди, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдкреНрд░рддрд┐рд░реЛрдзрдХ рдЯрдЪрд╕реНрдХреНрд░реАрди рдФрд░ рдПрдХ рддрд╛рдкрдорд╛рди рд╕реЗрдВрд╕рд░ рд╣реЛрддрд╛ рд╣реИ, рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реВрдЪрдирд╛ рдкреНрд░рджрд░реНрд╢рди рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред HX8352B.рд╕реНрдерд╛рдиреАрдп рд╕реНрд╡рд╛рдпрддреНрдд рдбреЗрдЯрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг рдкреНрд░рдгрд╛рд▓реА (рдЬрд╛рд░реА) рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрдХреНрд░реАрди рдмреЛрд░реНрдб рдкрд░ рдЖрдИрд╕реАрдПрд╕рдкреА рдХрд╛ рдХрдиреЗрдХреНрдЯрд░ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдорд╛рдЗрдХреНрд░реЛ рдПрд╕рдбреА рд╕реНрд▓реЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдПрд╕рдкреАрдЖрдИ рдмрд╕ рдореЗрдВ рд╡рд┐рд░реЛрдз рдХреЗ рдХрд╛рд░рдг "рджреЗрд╢реА" рдПрд╕рдбреА рд╕реЙрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдлрд╝реНрд▓реИрд╢ рдХрд╛рд░реНрдб рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрд▓рдЧ рдХрд╛рд░реНрдб рд░реАрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдПрдХ 3,3V рд╕реНрдЯреЗрдмрд▓рд╛рдЗрдЬрд░ рдФрд░ рддреАрди рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреЗрдЯреНрд╕ 74LVS125A рдХреЗ рд╕рд╛рде рдПрдХ рдмрдлрд░ рдЪрд┐рдк рд╢рд╛рдорд┐рд▓ рдерд╛ред рдпрд╣реАрдВ рдкрд░ рд░реЗрдХ рдореЗрд░рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдПрдХ рддреАрди-рд╕реНрдЯреЗрдЯ рдмрдлрд╝рд░, рд▓реЗрдХрд┐рди рдпрд╛ рддреЛ E01-ML01DP5 рдпрд╛ рдХрд╛рд░реНрдб рд░реАрдбрд░ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ, SdFat рдиреЗ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдЦреАред TXS0108E рдкрд░ рд▓реЗрд╡рд▓ рдХрдирд╡рд░реНрдЯрд░ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдЬрдВрдкрд░реНрд╕ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ E01-ML01DP5 5V рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдкреНрд░рддрд┐ рд╕рд╣рдирд╢реАрд▓ рд╣реИ - рдЗрд╕рд╕реЗ рдХреЛрдИ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реАред рдСрд╕рд┐рд▓реЛрд╕реНрдХреЛрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдХрд╛рд░реНрдб рд░реАрдбрд░ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рдПрдордЖрдИрдПрд╕рдУ рд▓рд╛рдЗрди рдкрд░ рд╕рд┐рдЧреНрдирд▓ рд╣рд╛рдирд┐ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдкрд░, рдпрд╣ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдХрд┐ 4LVS74A рдХреЗ OE 125 рдЪреИрдирд▓реЛрдВ рдХреЗ рд╕рдХреНрд╖рдо рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддрд╛рд░ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдХрд┐рд╕реА рддреАрд╕рд░реЗ рд░рд╛рдЬреНрдп рдХреА рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рдереАред рдмрдлрд░ рдЪрд┐рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд┐рдЧреНрдирд▓ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЬреБрдбрд╝реЗ 5 K╬й рдкреНрд░рддрд┐рд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 3.3V рд╕реЗ 3,3V рддрдХ рдПрдХ рдЖрджрд┐рдо рд╕реНрддрд░ рдХрдирд╡рд░реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред MISO рд▓рд╛рдЗрди рдХреЛ рдЫреЛрдбрд╝рдХрд░ред рдЗрд╕рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдмреЙрдЯрдо рд╕реНрд╡рд┐рдЪ рд╕рдВрднрд╡рддрдГ рд╕рд┐рдЧреНрдирд▓реЛрдВ рдХреЛ рдЬрдореАрдиреА рд╕реНрддрд░ рддрдХ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рдПрдордЖрдИрдПрд╕рдУ рд▓рд╛рдЗрди рдХрд╛ рд╕рдХреНрд╖рдо рд╕рд┐рдЧреНрдирд▓ рдкрд┐рди 13 рдерд╛, рдЗрд╕реЗ рдЯреНрд░реИрдХ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛рд╕реЛрд▓реНрдбрд░ рдХрд┐рдпрд╛ рд╣реБрдЖрд╕реНрдерд╛рдиреАрдп рд╕реНрд╡рд╛рдпрддреНрдд рдбреЗрдЯрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг рдкреНрд░рдгрд╛рд▓реА (рдЬрд╛рд░реА)9LVS74A CS рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмреАрдЪ рдЗрдирдкреБрдЯ рдкрд┐рди (125) рдФрд░ рдЯрд░реНрдорд┐рдиреЗрд╢рди рд░реЗрд╕рд┐рд╕реНрдЯрд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдЕрдм, рдпрджрд┐ рдореЗрдореЛрд░реА рдХрд╛рд░реНрдб рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ, рддреЛ MISO рдмрдлрд╝рд░ рдЕрдХреНрд╖рдо рд╣реИ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИредрд╡рд┐рдХрд╛рд╕ рдмреЛрд░реНрдб рдЖрд░реЗрдЦрд╕реНрдерд╛рдиреАрдп рд╕реНрд╡рд╛рдпрддреНрдд рдбреЗрдЯрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг рдкреНрд░рдгрд╛рд▓реА (рдЬрд╛рд░реА)рд░рд┐рд╕реАрд╡рд░ рдкреНрд░рдЪрд╛рд▓рди рдореЗрдВ рд╣реИрд╕реНрдерд╛рдиреАрдп рд╕реНрд╡рд╛рдпрддреНрдд рдбреЗрдЯрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг рдкреНрд░рдгрд╛рд▓реА (рдЬрд╛рд░реА)DS3231 рдШрдбрд╝реА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ I2C рдмрд╕ (TWI) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
Arduino рдЖрдИрдбреАрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдо// рдорд╣рддреНрд╡рдкреВрд░реНрдг: Adafruit_TFTLCD рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП
// рдЯреАрдПрдлрдЯреА рд╢реАрд▓реНрдб рдпрд╛ рдмреНрд░реЗрдХрдЖрдЙрдЯ рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
// рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП Adafruit_TFTLCD.h рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рджреЗрдЦреЗрдВред
//рдУрдкрди-рд╕реНрдорд╛рд░реНрдЯ рдЯреАрдо рдФрд░ рдХреИрдЯрд╛рд▓реЗрдХреНрд╕ рдЯреАрдо рджреНрд╡рд╛рд░рд╛
//[рдИрдореЗрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд]
//рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛: dx.com
// open-smart.aliexpress.com/store/1199788
//рдбреЗрдореЛ рдлрд╝рдВрдХреНрд╢рди: рдЧреНрд░рд╛рдлрд┐рдХреНрд╕, рд╡рд░реНрдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ
//рдЕрд░реБрдбрд┐рдиреЛ рдЖрдИрдбреАрдИ: 1.6.5
// рдмреЛрд░реНрдб: рдЕрд░реБрдбрд┐рдиреЛ рдпреВрдПрдирдУ рдЖрд░3, рдЕрд░реБрдбрд┐рдиреЛ рдореЗрдЧрд╛2560, рдЕрд░реБрдбрд┐рдиреЛ рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ

// рдмреЛрд░реНрдб: рдУрдкрди-рд╕реНрдорд╛рд░реНрдЯ рдпреВрдПрдирдУ рдЖрд░3 5рд╡реА / 3.3рд╡реА, рдЕрд░реБрдбрд┐рдиреЛ рдпреВрдПрдирдУ рдЖрд░3, рдЕрд░реБрдбрд┐рдиреЛ рдореЗрдЧрд╛2560
//3.2 рдЗрдВрдЪ рдЯреАрдПрдлрдЯреА:
// www.aliexpress.com/store/product/3-2-TFT-LCD-Display-module-Touch-Screen-Shield-board-onboard-temperature-sensor-w-Touch-Pen/1199788_32755473754.html?spm=2114.12010615.0.0.bXDdc3
//рдУрдкрди-рд╕реНрдорд╛рд░реНрдЯ UNO R3 5V / 3.3V:
// www.aliexpress.com/store/product/OPEN-SMART-5V-3-3V-Compatible-UNO-R3-CH340G-ATMEGA328P-Development-Board-with-USB-Cable-for/1199788_32758607490.html?spm=2114.12010615.0.0.ckMTaN

#рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ // рдХреЛрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА
//#рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ // рд╣рд╛рд░реНрдбрд╡реЗрдпрд░-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА
#рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛
MCUFRIEND_kbv tft;
#рд╢рд╛рдорд┐рд▓ "SdFat.h" // SdFat рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдПрд╕рдбреАрдлрд╝реИрдЯ рдПрд╕рдбреА;
рдПрд╕рдбреАрдлрд╝рд╛рдЗрд▓ рдлрд╝рд╛рдЗрд▓;
рдорд╛рдИрдлрд╛рдЗрд▓ рдлрд╛рдЗрд▓ рдХрд░реЗрдВ;
#рдПрд╕рдбреА_рд╕реАрдПрд╕_рдкрд┐рди рдПрд╕рдПрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ

#рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ // рдПрд╕рдкреАрдЖрдИ рдмрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
#рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ // RF24 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдлрд╝рд╛рдЗрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
#рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ // nRF24L24+ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
рдЖрд░рдПрдл24 рд░реЗрдбрд┐рдпреЛ(47, 49);

#рд╢рд╛рдорд┐рд▓

рдбреАрдПрд╕3231 рдЖрд░рдЯреАрд╕реА(27, 25);
рд╕рдордп рдЯреА;

uint16_t r = 6000;
uint32_t k = 0;

рдЕрд╕реНрдерд┐рд░ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд▓рдВрдмрд╛ рдбреЗрдЯрд╛;
рдлреНрд▓реЛрдЯ рд▓реЗрдм_1;
рдлреНрд▓реЛрдЯ рд▓реЗрдм_2;
рдлреНрд▓реЛрдЯ рд▓реЗрдм_3;
рдлреНрд▓реЛрдЯ рд▓реЗрдм_4;

uint8_t рдкрд╛рдЗрдк;
рдкреВрд░реНрдгрд╛рдВрдХ рдЖрд░рд╕реА = 0;

uint8_t time_sec_prev;
uint8_t рд╕рдордп_рджрд┐рди_рдкрд┐рдЫрд▓рд╛;

//******************************************** ****************/ /
// рдпрджрд┐ рдЖрдк рдУрдкрди-рд╕реНрдорд╛рд░реНрдЯ рдЯреАрдПрдлрдЯреА рдмреНрд░реЗрдХрдЖрдЙрдЯ рдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ //
// рдЖрдкрдХреЛ 5V-3.3V рд▓реЗрд╡рд▓ рдХрдиреНрд╡рд░реНрдЯрд┐рдВрдЧ рд╕рд░реНрдХрд┐рдЯ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
// рдмреЗрд╢рдХ рдЖрдк 5V/3.3V рдкрд╛рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХреЗ рд╕рд╛рде рдУрдкрди-рд╕реНрдорд╛рд░реНрдЯ UNO рдмреНрд▓реИрдХ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ,
// рдЖрдкрдХреЛ рдмрд╕ 3.3V рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
// рдПрд▓рд╕реАрдбреА рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдг рдкрд┐рди рдХрд┐рд╕реА рднреА рдбрд┐рдЬрд┐рдЯрд▓ рдпрд╛ рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
//рдПрдирд╛рд▓реЙрдЧ рдкрд┐рди...рд▓реЗрдХрд┐рди рд╣рдо рдПрдирд╛рд▓реЙрдЧ рдкрд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдореЗрдВ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
//тАФтАФтАФтАФтАФтАФтАФтАФтАФтАФтАФтАФ-|
// рдЯреАрдПрдлрдЯреА рдмреНрд░реЗрдХрдЖрдЙрдЯ - рдЕрд░реБрдбрд┐рдиреЛ рдпреВрдПрдирдУ / рдореЗрдЧрд╛2560 / рдУрдкрди-рд╕реНрдорд╛рд░реНрдЯ рдпреВрдПрдирдУ рдмреНрд▓реИрдХ
// рдЬреАрдПрдирдбреА - рдЬреАрдПрдирдбреА
// 3рд╡реА3 - 3.3рд╡реА
//рд╕реАрдПрд╕ - рдП3
// рдЖрд░рдПрд╕ - рдП2
// рдбрдмреНрд▓реНрдпреВрдЖрд░ - рдП1
// рдЖрд░рдбреА - рдП0
// рдЖрд░рдПрд╕рдЯреА - рд░реАрд╕реЗрдЯ
// рдПрд▓рдИрдбреА - рдЬреАрдПрдирдбреА
// рдбреАрдмреА0 - 8
// рдбреАрдмреА1 - 9
// рдбреАрдмреА2 - 10
// рдбреАрдмреА3 - 11
// рдбреАрдмреА4 - 4
// рдбреАрдмреА5 - 13
// рдбреАрдмреА6 - 6
// рдбреАрдмреА7 - 7

// рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп 16-рдмрд┐рдЯ рд░рдВрдЧ рдорд╛рдиреЛрдВ рдХреЛ рдорд╛рдирд╡-рдкрдардиреАрдп рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
#рдмреНрд▓реИрдХ 0x0000 рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ
#рдиреАрд▓реЗ 0x001F рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ
#рд▓рд╛рд▓ 0xF800 рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ
#рд╣рд░реЗ рд░рдВрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ 0x07E0
#CYAN 0x07FF рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ
#рдореИрдЬреЗрдВрдЯрд╛ 0xF81F рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ
#рдкреАрд▓реЗ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ 0xFFE0
#рд╕рдлреЗрдж рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ 0xFFFF
#рдЧреНрд░реЗ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ 0x8C51
#GRAYD 0x39E7 рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ

//Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
// рдпрджрд┐ рд╢реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рднреА рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рдбреЗрдЯрд╛ рд▓рд╛рдЗрдиреЗрдВ рдареАрдХ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ, рдФрд░
// рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рд╕рд░рд▓ рдШреЛрд╖рдгрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
// Adafruit_TFTLCD tft;
uint16_t g_identifier;

рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛рд╕реНрдЯреНрд░рд┐рдВрдЧ;
//рд╕реНрдЯреНрд░рд┐рдВрдЧ numfileMonth = "1.txt";
рдЪрд╛рд░ рдкрд░реНрд╡ [] = {"2.txt"};
//рд╕реНрдЯреНрд░рд┐рдВрдЧ *numfileMonth='1.txt' (рдЖрдХрд╛рд░ (numfileMonth));
////////////////////////////////////////////// /////////////////

рд╢реВрдиреНрдп рд╕реЗрдЯрдЕрдк(рд╢реВрдиреНрдп) {

rtc.begin();

// рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрд╡рд╢реНрдпрдХ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЕрдирдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ
//rtc.setDOW(6); // рд╕рдкреНрддрд╛рд╣ рдХрд╛ рджрд┐рди
//rtc.setTime(22, 04, 0); // рд╕рдордп, 24 рдШрдВрдЯреЗ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВред
//rtc.setDate(4, 5, 2019); //рджрд┐рдирд╛рдВрдХ, 29 рдЕрдХреНрдЯреВрдмрд░ 2018

Serial.begin (2000000);
//////// рд╕реНрдХреНрд░реАрди рдЖрд░рдВрднреАрдХрд░рдг
tft.begin(0x65);
tft.reset();
tft.setRotation(0);
tft.cp437(рд╕рд╣реА);
//////////////////рдирд╛рдо, рдЙрдкрдХрд░рдг рд╕рд╣рд╛рдпрдХ рдЙрдкрдХрд░рдг, рд╕рдВрдЧрдарди рдХрд╛ рдирд╛рдо рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ
tft.fillScreen(рдХрд╛рд▓рд╛);
tft.setTextColor(рд╕рдлрд╝реЗрдж);
tft.setTextSize(2);
tft.setCursor(8, 0);
tft.println('рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдирд┐рд░реНрдорд╛рдг');
tft.setCursor(30, 20);
tft.print (utf8rus('рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд╡реА.рд╡реА.' ));
tft.setCursor(40, 40);
tft.print (utf8rus('рдЯрд░реНрдирд░ I.I.' ));
рджреЗрд░реА (2000);

рд░реЗрдбрд┐рдпреЛ.рд╢реБрд░реВ(); // рдХрд╛рд░реНрдп рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ nRF24L01+
рд░реЗрдбрд┐рдпреЛ.рд╕реЗрдЯрдЪреИрдирд▓(120); // рдбреЗрдЯрд╛ рд░рд┐рд╕реЗрдкреНрд╢рди рдЪреИрдирд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ (0 рд╕реЗ 127 рддрдХ)
Radio.setDataRate(RF24_250KBPS); // рдбреЗрдЯрд╛ рдЕрдВрддрд░рдг рджрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ (RF24_250KBPS, RF24_1MBPS, RF24_2MBPS), RF24_1MBPS - 1Mbit/s
Radio.setPALevel(RF24_PA_MAX); // рдЯреНрд░рд╛рдВрд╕рдореАрдЯрд░ рдкрд╛рд╡рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ (RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_HIGH=-6dBm, RF24_PA_MAX=0dBm)
Radio.openReadingPipe(1, 0xAABBCCDD11LL); // рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 1 рдЯреНрд░рд╛рдВрд╕рдореАрдЯрд░ 1xAABBCCDD0 рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде 11 рдкрд╛рдЗрдк рдЦреЛрд▓реЗрдВ
// рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд╛рдВрд╕рдореАрдЯрд░ рдЖрдИрдбреА 2xAABBCCDD2 рдХреЗ рд╕рд╛рде рдкрд╛рдЗрдк 0 рдЦреЛрд▓реЗрдВ
рд░реЗрдбрд┐рдпреЛ.рд╕реНрдЯрд╛рд░реНрдЯрд▓рд┐рд╕рдирд┐рдВрдЧ(); // рд░рд┐рд╕реАрд╡рд░ рдЪрд╛рд▓реВ рдХрд░реЗрдВ, рдЦреБрд▓реЗ рдкрд╛рдЗрдкреЛрдВ рдХреЛ рд╕реБрдирдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ
//рд░реЗрдбрд┐рдпреЛ.рд╕реБрдирдирд╛ рдмрдВрдж рдХрд░реЛ();
////////рд╕реЗрд╡рд╛ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ
tft.fillScreen(рдХрд╛рд▓рд╛);
tft.setCursor(8, 0);
tft.setTextSize(1);
////////рдПрд╕рдбреА рдХрд╛рд░реНрдб рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ
рд╕реАрд░рд┐рдпрд▓.рдкреНрд░рд┐рдВрдЯрдПрд▓рдПрди ("рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдПрд╕рдбреА рдХрд╛рд░реНрдб");
tft.println('рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдПрд╕рдбреА рдХрд╛рд░реНрдб');
tft.setCursor(8, 10);
////////рдХрд╛рд░реНрдб рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛
рдпрджрд┐ (!SD.begin(SD_CS_PIN)) {
Serial.println('рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдлрд▓!');
tft.fillRect(8, 10, 85, 7, рд▓рд╛рд▓);
tft.setTextColor(рдХрд╛рд▓рд╛);
tft.println('рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдлрд▓!');
рд╡рд╛рдкрд╕реА;
}
tft.setTextColor(рд╕рдлрд╝реЗрдж);
Serial.println('рдкреНрд░рд╛рд░рдВрднрд┐рдХрд░рдг рд╣реЛ рдЧрдпрд╛');
tft.println('рдкреНрд░рд╛рд░рдВрдн рд╣реЛ рдЧрдпрд╛');
рджреЗрд░реА (2000);
////////рд╕рдордп рдФрд░ рддрд╛рд░реАрдЦ рдкрдврд╝рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛
рдЯреА = rtc.getTime();
time_sec_prev = t.sec;
time_day_prev = t.date;
//////// рджрд┐рдирд╛рдВрдХ рдХреЛ рдЬрдмрд░рди рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рджрд┐рдирд╛рдВрдХ рдмрджрд▓рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рди рдХрд░рдиреА рдкрдбрд╝реЗ
tft.setCursor(180, 0); // рдХрд░реНрд╕рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛
tft.fillRect(178, 0, 65, 7, рдЧреНрд░реЗ); // рд╕рдордп рдЖрдЙрдЯрдкреБрдЯ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдирд╛
tft.setTextSize(1);
tft.print(rtc.getDateStr());
////////рдирд┐рдпрдВрддреНрд░рдг рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдирд╛рдо рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВ
tft.setTextSize(2);
tft.setCursor(60, 25);
tft.println (utf8rus('Winches I'));
////////рдПрдХ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдирд╛ рдФрд░ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдпрд╛рд╕ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдирд╛
tft.setTextSize(1);
tft.setCursor(130); // рдпрджрд┐ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ 10.txt рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдкрд░ рд▓рд┐рдЦрдирд╛ рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛
рдпрджрд┐ (SD.exists(perv)) {
//tft.setCursor(0, 90);
tft.println(perv);
рд╕реАрд░рд┐рдпрд▓.рдкреНрд░рд┐рдВрдЯрдПрд▓рдПрди(рдкрд░реНрд╡);
рдФрд░} {
myFile = SD.open(perv, FILE_WRITE); // рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ 2.txt рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛
myFile.close ();
tft.println(perv);
рд╕реАрд░рд┐рдпрд▓.рдкреНрд░рд┐рдВрдЯрдПрд▓рдПрди(рдкрд░реНрд╡);
}
}

рд╢реВрдиреНрдп рд▓реВрдк(рд╢реВрдиреНрдп) {
////////COM рдкреЛрд░реНрдЯ рдореЙрдиреАрдЯрд░ рдкрд░ рд▓реЙрдЧ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛
рдпрджрд┐ (Serial.available() > 0) {
рдпрджрд┐ (1 == рд╕реАрд░рд┐рдпрд▓.рдкрдврд╝реЗрдВ());
////////рдФрд░ рдпрджрд┐ "1" рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдЙрдЯрдкреБрдЯ
рдлрд╝рд╛рдЗрд▓ myFile = SD.open(perv);
// рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдЙрдкрд▓рдмреНрдз рд╣реИ, рддреЛ рдЙрд╕реЗ рд▓рд┐рдЦреЗрдВ:
рдЕрдЧрд░ (рдорд╛рдпрдлрд╛рдЗрд▓) {
рдЬрдмрдХрд┐ (myFile.available()) {
рд╕реАрд░рд┐рдпрд▓.рд░рд╛рдЗрдЯ(myFile.read());
}
myFile.close ();
}
рдФрд░ {
Serial.println('рддреНрд░реБрдЯрд┐ рдЦреЛрд▓рдиреЗ рдореЗрдВ .txt');
}
}
////////рдкрдврд╝рдиреЗ рдХрд╛ рд╕рдордп
рдЯреА = rtc.getTime();
tft.setTextColor(рд╕рдлрд╝реЗрдж);
////////рдпрджрд┐ рд╕рдордп рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рддреЛ рдирдИ рдШрдбрд╝реА рдХреА рд░реАрдбрд┐рдВрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ
рдпрджрд┐ (time_sec_prev != t.sec) {
tft.setCursor(120, 0); // рдХрд░реНрд╕рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛
tft.fillRect(118, 0, 50, 7, рдЧреНрд░реЗ); // рд╕рдордп рдЖрдЙрдЯрдкреБрдЯ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдирд╛
tft.setTextSize(1);
tft.print(rtc.getTimeStr()); // рдЖрдЙрдЯрдкреБрдЯ рдХреНрд▓реЙрдХ рд░реАрдбрд┐рдВрдЧ
time_sec_prev = t.sec;
}
////////рдпрджрд┐ рддрд┐рдерд┐ рдмрджрд▓ рдЧрдИ рд╣реИ рддреЛ рдирдИ рддрд┐рдерд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ
рдпрджрд┐ (time_day_prev != t.date) {
tft.setCursor(180, 0); // рдХрд░реНрд╕рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛
tft.fillRect(178, 0, 65, 7, рдЧреНрд░реЗ); // рджрд┐рдирд╛рдВрдХ рдкреНрд░рджрд░реНрд╢рди рдХреНрд╖реЗрддреНрд░ рд╕рд╛рдлрд╝ рдХрд░реЗрдВ
tft.setTextSize(1);
tft.print(rtc.getDateStr()); // рджрд┐рдирд╛рдВрдХ рд░реАрдбрд┐рдВрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ
time_day_prev = t.date;
}
////////рдпрджрд┐ рд░реЗрдбрд┐рдпреЛ рд░рд┐рд╕реЗрдкреНрд╢рди рдЙрдкрд▓рдмреНрдз рд╣реИ, рддреЛ
рдпрджрд┐ (рд░реЗрдбрд┐рдпреЛ.рдЙрдкрд▓рдмреНрдз(&рдкрд╛рдЗрдк)) {
////////рдЬрд╛рдБрдЪ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╛рдкреНрдд рдмрдлрд╝рд░ рднрд░рд╛ рд╣реБрдЖ рд╣реИ рдпрд╛ рдирд╣реАрдВ,
Radio.read(&data, sizeof(data));
////////рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рдЯреНрд░рд╛рдВрд╕рдореАрдЯрд░ рдкрддрд╛ рдЙрдкрд▓рдмреНрдз рд╣реИ, рддреЛ
рдЕрдЧрд░ (рдкрд╛рдЗрдк == 1) {
////////рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп рдХреЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝рд┐рдВрдЧ рдЕрдиреБрдХреНрд░рдо рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ
// рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХреА рд╢реБрд░реБрдЖрдд
рдЕрдЧрд░ (рдбреЗрдЯрд╛ == 0000) {
рдЖрд░рд╕реА = 0;
рдФрд░} {
рдЖрд░рд╕реА++;
}
////////рдХрд╛рдЙрдВрдЯрд░ рдорд╛рдиреЛрдВ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛ рдФрд░ рдПрдХ рдШрдВрдЯреЗ рдХреЗ 10рд╡реЗрдВ рдФрд░ 100рд╡реЗрдВ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдЙрдирдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛
рдЕрдЧрд░ (рдЖрд░рд╕реА == 1) {
рд▓реЗрдм_1 = рдбреЗрдЯрд╛ / 3600.0;
}

рдЕрдЧрд░ (рдЖрд░рд╕реА == 2) {
рд▓реЗрдм_2 = рдбреЗрдЯрд╛ / 3600.0;
}

рдЕрдЧрд░ (рдЖрд░рд╕реА == 3) {
рд▓реЗрдм_3 = рдбреЗрдЯрд╛ / 3600.0;
}

рдЕрдЧрд░ (рдЖрд░рд╕реА == 4) {
рд▓реЗрдм_4 = рдбреЗрдЯрд╛ / 3600.0;
}
}
}
рдЖрд░++;
рдХреЗ++; //рд╕рд┐рд░реНрдл рдПрдХ рдХрд╛рдЙрдВрдЯрд░
//////// рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрд╡рдзрд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдЕрджреНрдпрддрди
рдпрджрд┐ ( рдЖрд░ >= 6500) {
tft.setTextSize(2);
tft.fillRect(0, 41, 180, 64, GRAYD);
Serial.println('рд▓реЗрдмреЗрдбрдХреА I');
tft.setCursor(0, 41);
tft.println(leb_1);
рд╕реАрд░рд┐рдпрд▓.рдкреНрд░рд┐рдВрдЯрдПрд▓рдПрди(leb_1);
tft.println(leb_2);
рд╕реАрд░рд┐рдпрд▓.рдкреНрд░рд┐рдВрдЯрдПрд▓рдПрди(leb_2);
tft.println(leb_3);
рд╕реАрд░рд┐рдпрд▓.рдкреНрд░рд┐рдВрдЯрдПрд▓рдПрди(leb_3);
tft.println(leb_4);
рд╕реАрд░рд┐рдпрд▓.рдкреНрд░рд┐рдВрдЯрдПрд▓рдПрди(leb_4);
рд╕реАрд░рд┐рдпрд▓.рдкреНрд░рд┐рдВрдЯрдПрд▓рдПрди(рдХреЗ);
рдЖрд░ = 0;
}
////////рд╣рд░ 10 рдорд┐рдирдЯ рдореЗрдВ рдПрд╕рдбреА рдкрд░ рд▓реЙрдЧ рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦреЗрдВред
рдпрджрд┐ ((t.min % 10 == 0) && ( t.sec == 0)) {
tft.setTextSize(1);
tft.setCursor(200, 10);
tft.setTextColor(рдХрд╛рд▓рд╛);
////////.csv рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрдирд╛рдирд╛
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛рд╕реНрдЯреНрд░рд┐рдВрдЧ = рд╕реНрдЯреНрд░рд┐рдВрдЧ (rtc.getDateStr()) + ", "+(rtc.getTimeStr()) + ", " + (leb_1) + ", " + (leb_2)
+ ", " + (leb_3) + ", " + (leb_4) + ", ";
////////рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦреЗрдВ рдФрд░ рд▓реЗрдЦрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВ
myFile = SD.open(perv, FILE_WRITE); // рдпрджрд┐ "2.txt" рдирд╛рдо рдХреА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдЧрд░ (рдорд╛рдпрдлрд╛рдЗрд▓) {
myFile.println(рдбреЗрдЯрд╛рд╕реНрдЯреНрд░рд┐рдВрдЧ);
myFile.close ();
tft.fillRect(198, 8, 42, 10, рд╣рд░рд╛);
tft.println('рдПрд╕рдбреА рдУрдХреЗ');
рд╕реАрд░рд┐рдпрд▓.рдкреНрд░рд┐рдВрдЯрдПрд▓рдПрди('рдПрд╕рдбреА рдУрдХреЗ');
рд╡рд┐рд▓рдВрдм(900); // рд╡рд┐рд▓рдВрдм, рдЕрдиреНрдпрдерд╛ рдПрдХ рд╕реЗрдХрдВрдб рдмреАрддрдиреЗ рддрдХ 13 рд╕рдорд╛рди рд░реАрдбрд┐рдВрдЧ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддрд╛ рд╣реИ
рдФрд░} {
tft.fillRect(198, 8, 42, 10, рд▓рд╛рд▓);
tft.println('рдПрд╕рдбреА рдИрдЖрд░рдЖрд░');
рд╕реАрд░рд┐рдпрд▓.рдкреНрд░рд┐рдВрдЯрдПрд▓рдПрди('рдПрд╕рдбреА рдИрдЖрд░рдЖрд░');
}
}
}рдЪрд░рд┐рддреНрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо/* рд░реВрд╕реА рдлрд╝реЙрдиреНрдЯ рдХреЛ UTF-8 рд╕реЗ Windows-1251 рдореЗрдВ рдкреБрдирдГ рдХреЛрдб рдХрд░реЗрдВ */

рд╕реНрдЯреНрд░рд┐рдВрдЧ utf8rus (рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрд░реЛрдд)
{
int i,k;
рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рдХреНрд╖реНрдп;
рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд╛рд░ рдПрди;
рдЪрд╛рд░ рдПрдо[2] = { '0', '' };

k = рд╕реНрд░реЛрдд.рд▓рдВрдмрд╛рдИ(); рдореИрдВ = 0;

рдЬрдмрдХрд┐ (i < k) {
n = рд╕реНрд░реЛрдд[i]; рдореИрдВ++;

рдпрджрд┐ (n >= 0xC0) {
рд╕реНрд╡рд┐рдЪ (рдПрди) {
рдХреЗрд╕ 0xD0: {
n = рд╕реНрд░реЛрдд[i]; рдореИрдВ++;
рдпрджрд┐ (n == 0x81) { n = 0xA8; рддреЛрдбрд╝рдирд╛; }
рдпрджрд┐ (n >= 0x90 && n <= 0xBF) n = n + 0x30;//0x2F
рддреЛрдбрд╝;
}
рдХреЗрд╕ 0xD1: {
n = рд╕реНрд░реЛрдд[i]; рдореИрдВ++;
рдпрджрд┐ (n == 0x91) { n = 0xB8; рддреЛрдбрд╝рдирд╛; }
рдпрджрд┐ (n >= 0x80 && n <= 0x8F) n = n + 0x70;//0x6F
рддреЛрдбрд╝;
}
}
}
рдПрдо[0] = рдПрди; рд▓рдХреНрд╖реНрдп = рд▓рдХреНрд╖реНрдп + рд╕реНрдЯреНрд░рд┐рдВрдЧ (рдПрдо);
}
рд╡рд╛рдкрд╕реА рд▓рдХреНрд╖реНрдп;
}Adafruit_GFX рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рд░рд┐рд▓рд┐рдХ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдХреИрд░реЗрдХреНрдЯрд░ рдЯреНрд░рд╛рдВрд╕рдХреЛрдбрд┐рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдореБрдЦреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдкрдХреЛ Adafruit_GFX рдореЗрдВ glcdfont.c рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрд┐рд╕реА рднрд┐рдиреНрди рдлрд╝реЙрдиреНрдЯ рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд╛рде рдкреБрд╕реНрддрдХрд╛рд▓рдп. рд░реВрд╕реАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдЙрдореНрдореАрджреЛрдВ рдкрд░ рдЦрд░рд╛ рдЙрддрд░рд╛, рдЙрдкрдХрд░рдг рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╕рдордп рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИред рднрд▓реЗ рд╣реА рд╕рдм рдХреБрдЫ рдмреНрд░реЗрдбрдмреЛрд░реНрдб рдкрд░ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ, рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддрддреНрдХрд╛рд▓ рдХреЛрдИ рд╢рд┐рдХрд╛рдпрдд рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реЗ рддрддреНрд╡ рдЫрд╣ рдорд╣реАрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╕рд░реНрджреА рд╕реЗ рдмрдЪреЗ рд╣реБрдП рд╣реИрдВред рдирд╡реАрдирддрдо рдбрд┐рдЬрд╝рд╛рдЗрди рдпрд╣ 9 рдорд╛рд░реНрдЪ рд╕реЗ 5 рдирд┐рдпрдВрддреНрд░рд┐рдд рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдЪрд╛рд▓рди рд╕рдордп рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ