เจธเจฅเจพเจจเจ• เจ†เจŸเฉ‹เจจเฉ‹เจฎเจธ เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจคเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€ (เจœเจพเจฐเฉ€)

เจ‡เจธ เจธเจพเจˆเจŸ 'เจคเฉ‡ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹ เจฒเจฟเฉฐเจ•.
เจธเจŸเจพเจฐเจŸเจฐ เจจเฉ‚เฉฐ เจšเจพเจฒเฉ‚ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจตเจฟเจ•เจฒเจช PC817 เจ†เจชเจŸเฉ‹เจ•เฉ‚เจฒเจฐ เจจเจพเจฒ เจตเจฟเจ•เจฒเจช เจฌเจฃ เจ—เจฟเจ†. เจฏเฉ‹เจœเจจเจพเจฌเฉฑเจง เจกเจพเจ‡เจ†เจ—เฉเจฐเจพเจฎเจธเจฅเจพเจจเจ• เจ†เจŸเฉ‹เจจเฉ‹เจฎเจธ เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจคเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€ (เจœเจพเจฐเฉ€)เจฌเฉ‹เจฐเจกเจพเจ‚ เจตเจฟเฉฑเจš เจคเจฟเฉฐเจจ เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเฉ‡ เจธเจฐเจ•เจŸ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจนเจฐ เจšเฉ€เจœเจผ เจเจฌเฉ€เจเจธ เจชเจฒเจพเจธเจŸเจฟเจ• เจฆเฉ‡ เจฌเจ•เจธเฉ‡ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ†เจ•เจพเจฐ 100x100 เจฎเจฟเจฒเฉ€เจฎเฉ€เจŸเจฐเฅค optocouplers เจฆเฉ€ เจซเฉ‹เจŸเฉ‹เจธเจฅเจพเจจเจ• เจ†เจŸเฉ‹เจจเฉ‹เจฎเจธ เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจคเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€ (เจœเจพเจฐเฉ€) เจœเจฆเฉ‹เจ‚ เจธเฉˆเจฎเฉ€เจ•เฉฐเจกเจ•เจŸเจฐ เจตเจพเจฒเจต เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจจเจพเจฒ เจœเฉเฉœเจฟเจ† เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจฒเฉ€เจ•เฉ‡เจœ เจ•เจฐเฉฐเจŸ PC817 เจจเฉ‚เฉฐ เจ–เฉ‹เจฒเฉเจนเจฃ เจฒเจˆ เจ•เจพเจซเฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจพเจŠเจ‚เจŸเจฐ เจ—เจฒเจค เจขเฉฐเจ— เจจเจพเจฒ เจŸเจฐเจฟเฉฑเจ—เจฐ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพเฅค เจ…เจœเจฟเจนเฉ€ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจฌเจพเจนเจฐ เจ•เฉฑเจขเจฃ เจฒเจˆ เจ“เจชเจŸเฉ‹เจ•เจชเจฒเจฐ LED เจ…เจคเฉ‡ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจ‡เฉฐเจกเฉ€เจ•เฉ‡เจธเจผเจจ LED เจฆเฉ‡ เจธเจฐเจ•เจŸ เจตเจฟเฉฑเจš เจฒเฉœเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจœเฉฐเจชเจฐ J1 เจจเฉ‚เฉฐ เจ–เฉ‹เจฒเฉเจนเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ LED LED1 เจจเฉ‚เฉฐ เจธเฉ‹เจฒเจก เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค
เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจตเจพเจฒเจพ เจนเจฟเฉฑเจธเจพ 'เจคเฉ‡ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ เจชเจพเจธเฉ‡ 1เจธเจฅเจพเจจเจ• เจ†เจŸเฉ‹เจจเฉ‹เจฎเจธ เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจคเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€ (เจœเจพเจฐเฉ€)เจชเจพเจธเฉ‡ 2เจธเจฅเจพเจจเจ• เจ†เจŸเฉ‹เจจเฉ‹เจฎเจธ เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจคเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€ (เจœเจพเจฐเฉ€)ARDUINO MEGA 2560 เจจเจพเจฒ เจœเฉเฉœเจฟเจ† เจตเจฟเจ•เจพเจธ เจฌเฉ‹เจฐเจกเฅค เจ‡เจธเจฆเฉ‡ เจฒเจˆ, เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจกเจฌเจฒ-เจฐเฉ‹เจ… เจ•เจจเฉˆเจ•เจŸเจฐ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค 240x400 เจฆเฉ‡ เจฐเฉˆเจœเจผเฉ‹เจฒเจฟเจŠเจธเจผเจจ เจตเจพเจฒเฉ€ เจ‡เฉฑเจ• เจธเจ•เฉเจฐเฉ€เจจ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฐเฉ‹เจงเจ• เจŸเฉฑเจšเจธเจ•เฉเจฐเฉ€เจจ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจคเจพเจชเจฎเจพเจจ เจธเฉˆเจ‚เจธเจฐ เจนเฉˆ, เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจœเจพเจฃเจ•เจพเจฐเฉ€ เจกเจฟเจธเจชเจฒเฉ‡ เจกเจฟเจตเจพเจˆเจธ เจตเจœเฉ‹เจ‚ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค HX8352B.เจธเจฅเจพเจจเจ• เจ†เจŸเฉ‹เจจเฉ‹เจฎเจธ เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจคเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€ (เจœเจพเจฐเฉ€) เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจธเจ•เฉเจฐเฉ€เจจ เจฌเฉ‹เจฐเจก 'เจคเฉ‡ ICSP เจจเจพเจฒ เจ•เจจเฉˆเจ•เจŸเจฐ เจจเฉ‚เฉฐ เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ SD เจธเจฒเจพเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค เจคเฉฑเจฅ เจ‡เจน เจนเฉˆ เจ•เจฟ "เจฎเฉ‚เจฒ" SD เจธเจพเจ•เจŸ เจจเฉ‚เฉฐ SPI เจฌเฉฑเจธ 'เจคเฉ‡ เจตเจฟเจตเจพเจฆ เจฆเฉ‡ เจ•เจพเจฐเจจ เจจเจนเฉ€เจ‚ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจซเจฒเฉˆเจธเจผ เจ•เจพเจฐเจก เจฒเจˆ, เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเจพ เจ•เจพเจฐเจก เจฐเฉ€เจกเจฐ เจตเจฐเจคเจฟเจ† เจ—เจฟเจ† เจธเฉ€, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• 3,3V เจธเจŸเฉˆเจฌเฉ€เจฒเจพเจˆเจœเจผเจฐ เจ…เจคเฉ‡ เจคเจฟเฉฐเจจ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจธเจŸเฉ‡เจŸเจธ 74LVS125A เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจฌเจซเจฐ เจšเจฟเฉฑเจช เจธเจผเจพเจฎเจฒ เจธเฉ€เฅค เจ‡เจน เจ‰เจน เจฅเจพเจ‚ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจฐเฉ‡เจ• เจฎเฉ‡เจฐเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐ เจฐเจฟเจนเจพ เจธเฉ€. เจ‡เฉฑเจ• เจคเจฟเฉฐเจจ-เจฐเจพเจœ เจฌเจซเจฐ, เจชเจฐ เจœเจพเจ‚ เจคเจพเจ‚ E01-ML01DP5 เจœเจพเจ‚ เจ•เจพเจฐเจก เจฐเฉ€เจกเจฐ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš, SdFat เจจเฉ‡ เจนเฉ‹เจฐ เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ…เจธเฉฐเจ—เจคเจคเจพ เจฌเจพเจฐเฉ‡ เจ‡เฉฑเจ• เจšเฉ‡เจคเจพเจตเจจเฉ€ เจฆเฉ‡เจ–เฉ€. TXS0108E 'เจคเฉ‡ เจฒเฉˆเจตเจฒ เจ•เจจเจตเจฐเจŸเจฐ เจจเฉ‚เฉฐ เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจธเฉ€ เจ…เจคเฉ‡ เจœเฉฐเจชเจฐเจพเจ‚ เจจเจพเจฒ เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจธเฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ E01-ML01DP5 5V เจธเจฟเจ—เจจเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจนเจฟเจฃเจธเจผเฉ€เจฒ เจนเฉˆ - เจ‡เจธ เจจเฉ‡ เจฎเจฆเจฆ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€เฅค เจ‡เฉฑเจ• เจ”เจธเจฟเจฒเฉ‹เจธเจ•เฉ‹เจช เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, MISO เจฒเจพเจˆเจจ 'เจคเฉ‡ เจ‡เฉฑเจ• เจธเจฟเจ—เจจเจฒ เจจเฉเจ•เจธเจพเจจ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€ เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจ•เจพเจฐเจก เจฐเฉ€เจกเจฐ เจ•เจจเฉˆเจ•เจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจงเจฟเจ†เจจ เจจเจพเจฒ เจœเจพเจ‚เจš เจ•เจฐเจจ 'เจคเฉ‡, เจ‡เจน เจชเจพเจ‡เจ† เจ—เจฟเจ† เจ•เจฟ 4LVS74A เจฆเฉ‡ OE 125 เจšเฉˆเจจเจฒเจพเจ‚ เจฆเฉ‡ เจธเจฎเจฐเฉฑเจฅ เจธเจฟเจ—เจจเจฒเจพเจ‚ เจฆเฉ‡ เจ‡เจจเจชเฉเจŸเจธ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจ†เจฎ เจคเจพเจฐ เจจเจพเจฒ เจธเฉ‹เจฒเจก เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ เจ…เจคเฉ‡ เจ•เจฟเจธเฉ‡ เจคเฉ€เจœเฉ€ เจธเจฅเจฟเจคเฉ€ เจฌเจพเจฐเฉ‡ เจ•เฉ‹เจˆ เจ—เฉฑเจฒ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจธเฉ€เฅค เจฌเจซเจฐ เจšเจฟเฉฑเจช เจจเฉ‚เฉฐ เจธเจฟเจ—เจจเจฒ เจฒเจพเจˆเจจเจพเจ‚ เจจเจพเจฒ เจฒเฉœเฉ€ เจตเจฟเฉฑเจš เจœเฉเฉœเฉ‡ 5 Kฮฉ เจฐเฉ‹เจงเจ•เจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ 3.3V เจคเฉ‹เจ‚ 3,3V เจคเฉฑเจ• เจ‡เฉฑเจ• เจฎเฉเฉฑเจขเจฒเฉ‡ เจชเฉฑเจงเจฐ เจฆเฉ‡ เจ•เจจเจตเจฐเจŸเจฐ เจตเจœเฉ‹เจ‚ เจตเจฐเจคเจฟเจ† เจ—เจฟเจ† เจธเฉ€เฅค MISO เจฒเจพเจˆเจจ เจจเฉ‚เฉฐ เจ›เฉฑเจก เจ•เฉ‡เฅค เจ‡เจธเจฆเฉ‡ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจนเฉ‡เจ เจฒเฉ‡ เจธเจตเจฟเฉฑเจš เจจเฉ‡ เจธเฉฐเจญเจต เจคเฉŒเจฐ 'เจคเฉ‡ เจœเจผเจฎเฉ€เจจเฉ€ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจธเฉฐเจ•เฉ‡เจคเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจ•เจฐเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ•เจฟ MISO เจฒเจพเจˆเจจ เจฆเจพ เจธเจฎเจฐเฉฑเจฅ เจธเจฟเจ—เจจเจฒ เจชเจฟเฉฐเจจ 13 เจธเฉ€, เจ‡เจธ เจจเฉ‚เฉฐ เจŸเจฐเฉˆเจ• เจคเฉ‹เจ‚ เจคเฉ‹เฉœ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจธเฉ€ เจ…เจคเฉ‡solderedเจธเจฅเจพเจจเจ• เจ†เจŸเฉ‹เจจเฉ‹เจฎเจธ เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจคเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€ (เจœเจพเจฐเฉ€)9LVS74A CS เจกเจฟเจตเจพเจˆเจธ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจ‡เจจเจชเฉเจŸ เจชเจฟเฉฐเจจ (125) เจ…เจคเฉ‡ เจธเจฎเจพเจชเจคเฉ€ เจฐเฉ‹เจงเจ• เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเฉ‹เฅค เจนเฉเจฃ, เจœเฉ‡เจ•เจฐ เจฎเฉˆเจฎเจฐเฉ€ เจ•เจพเจฐเจก เจคเฉฑเจ• เจ•เฉ‹เจˆ เจชเจนเฉเฉฐเจš เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ MISO เจฌเจซเจฐ เจ…เจธเจฎเจฐเฉฑเจฅ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจกเจฟเจตเจพเจˆเจธ เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจตเจฟเฉฑเจš เจฆเจ–เจฒ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅคเจตเจฟเจ•เจพเจธ เจฌเฉ‹เจฐเจก เจฆเจพ เจšเจฟเฉฑเจคเจฐเจธเจฅเจพเจจเจ• เจ†เจŸเฉ‹เจจเฉ‹เจฎเจธ เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจคเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€ (เจœเจพเจฐเฉ€)เจฐเจธเฉ€เจตเจฐ เจšเจพเจฒเฉ‚ เจนเฉˆเจธเจฅเจพเจจเจ• เจ†เจŸเฉ‹เจจเฉ‹เจฎเจธ เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจคเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€ (เจœเจพเจฐเฉ€)DS3231 เจ˜เฉœเฉ€ เจจเจพเจฒ เจœเฉเฉœเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ I2C เจฌเฉฑเจธ (TWI) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
Arduino IDE เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ// เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ: Adafruit_TFTLCD เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ
// เจœเจพเจ‚ เจคเจพเจ‚ TFT เจธเจผเฉ€เจฒเจก เจœเจพเจ‚ เจฌเฉเจฐเฉ‡เจ•เจ†เจŠเจŸ เจฌเฉ‹เจฐเจก เจฒเจˆ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ†เฅค
// เจธเฉˆเฉฑเจŸเจ…เฉฑเจช เจฒเจˆ Adafruit_TFTLCD.h เจตเจฟเฉฑเจš เจธเฉฐเจฌเฉฐเจงเจฟเจค เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจฆเฉ‡เจ–เฉ‹เฅค
// เจ“เจชเจจ-เจธเจฎเจพเจฐเจŸ เจŸเฉ€เจฎ เจ…เจคเฉ‡ เจ•เฉˆเจŸเฉ‡เจฒเฉˆเจ•เจธ เจŸเฉ€เจฎ เจฆเฉเจ†เจฐเจพ
//[เจˆเจฎเฉ‡เจฒ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค]
//เจธเจŸเฉ‹เจฐ: dx.com
// open-smart.aliexpress.com/store/1199788
// เจกเฉˆเจฎเฉ‹ เจซเฉฐเจ•เจธเจผเจจ: เจกเจฟเจธเจชเจฒเฉ‡ เจ—เฉเจฐเจพเจซเจฟเจ•เจธ, เจ…เฉฑเจ–เจฐ
//Arduino IDE: 1.6.5
// เจฌเฉ‹เจฐเจก: Arduino UNO R3, Arduino Mega2560, Arduino Leonardo

// เจฌเฉ‹เจฐเจก: เจ“เจชเจจ-เจธเจฎเจพเจฐเจŸ UNO R3 5V / 3.3V, Arduino UNO R3, Arduino Mega2560
//3.2เจ‡เฉฐเจš TFT:
// 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;
#include "SdFat.h" // SdFat เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹
SdFat SD;
SdFile เจซเจพเจˆเจฒ;
เจซเจพเจˆเจฒ เจฎเจพเจˆเจซเจพเจˆเจฒ;
#SD_CS_PIN SS เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเฉ‹

#เจธเจผเจพเจฎเจฒ // SPI เจฌเฉฑเจธ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเฉ‹
#เจธเจผเจพเจฎเจฒ // RF24 เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจคเฉ‹เจ‚ เจธเฉˆเจŸเจฟเฉฐเจ—เจœเจผ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเฉ‹
#เจธเจผเจพเจฎเจฒ // nRF24L24+ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเฉ‹
RF24 เจฐเฉ‡เจกเฉ€เจ“(47, 49);

#เจธเจผเจพเจฎเจฒ

DS3231 rtc(27, 25);
เจธเจฎเจพเจ‚ เจŸเฉ€;

uint16_t r = 6000;
uint32_t k = 0;

เจ…เจธเจฅเจฟเจฐ เจนเจธเจคเจพเจ–เจฐเจฟเจค เจฒเฉฐเจฎเจพ เจกเฉ‡เจŸเจพ;
เจซเจฒเฉ‹เจŸ leb_1;
เจซเจฒเฉ‹เจŸ leb_2;
เจซเจฒเฉ‹เจŸ leb_3;
เจซเจฒเฉ‹เจŸ leb_4;

uint8_t เจชเจพเจˆเจช;
int rc = 0;

uint8_t time_sec_prev;
uint8_t time_day_prev;

//************************************************** ******************/
// เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ“เจชเจจ-เจธเจฎเจพเจฐเจŸ เจŸเฉ€เจเจซเจŸเฉ€ เจฌเฉเจฐเฉ‡เจ•เจ†เจ‰เจŸ เจฌเฉ‹เจฐเจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ //
// เจคเฉเจนเจพเจจเฉ‚เฉฐ 5V-3.3V เจฒเฉˆเจตเจฒ เจ•เจจเจตเจฐเจŸเจฟเฉฐเจ— เจธเจฐเจ•เจŸ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เจฐเฉ‹เฅค
// เจฌเฉ‡เจธเจผเฉฑเจ• เจคเฉเจธเฉ€เจ‚ 5V/3.3V เจชเจพเจตเจฐ เจธเจตเจฟเฉฑเจš เจฆเฉ‡ เจจเจพเจฒ เจ“เจชเจจ-เจธเจฎเจพเจฐเจŸ UNO เจฌเจฒเฉˆเจ• เจตเจฐเจœเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹,
// เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ 3.3V 'เจคเฉ‡ เจธเจตเจฟเจš เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค
// LCD เจฒเจˆ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจชเจฟเฉฐเจจ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจกเจฟเจœเจผเฉ€เจŸเจฒ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจพเจ‚
// เจเจจเจพเจฒเจพเจ— เจชเจฟเฉฐเจจ...เจชเจฐ เจ…เจธเฉ€เจ‚ เจเจจเจพเจฒเจพเจ— เจชเจฟเฉฐเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจธเจพเจจเฉ‚เฉฐ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ
//โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”-|
// TFT Breakout - Arduino UNO / Mega2560 / OPEN-SMART UNO เจฌเจฒเฉˆเจ•
// GND - GND
// 3V3 - 3.3V
//CS - A3
// RS - A2
// WR - A1
// เจ†เจฐเจกเฉ€ - เจ 0
// RST - เจฐเฉ€เจธเฉˆเจŸ
// LED - GND
// DB0 - 8
// DB1 - 9
// DB2 - 10
// DB3 - 11
// DB4 - 4
// DB5 - 13
// DB6 - 6
// DB7 - 7

// เจ•เฉเจ เจ†เจฎ 16-เจฌเจฟเฉฑเจŸ เจฐเฉฐเจ— เจฎเฉเฉฑเจฒเจพเจ‚ เจฒเจˆ เจฎเจจเฉเฉฑเจ–เฉ€-เจชเฉœเฉเจนเจจ เจฏเฉ‹เจ— เจจเจพเจฎ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเฉ‹:
# เจฌเจฒเฉˆเจ• 0x0000 เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเฉ‹
# เจจเฉ€เจฒเจพ 0x001F เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเฉ‹
# RED 0xF800 เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเฉ‹
# GREEN 0x07E0 เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเฉ‹
# CYAN 0x07FF เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเฉ‹
#เจฎเฉˆเจœเฉ‡เจ‚เจŸเจพ 0xF81F เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเฉ‹
#YELLOW 0xFFE0 เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเฉ‹
# เจตเฉเจนเจพเจˆเจŸ 0xFFFF เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเฉ‹
#เจ—เฉเจฐเฉ‡ 0x8C51 เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเฉ‹
#เจ—เฉเจฐเฉ‡เจก 0x39E7 เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเฉ‹

//Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
// เจœเฉ‡ เจขเจพเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจธเจพเจฐเฉ‡ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจ…เจคเฉ‡ เจกเฉ‡เจŸเจพ เจฒเจพเจˆเจจเจพเจ‚ เจธเจฅเจฟเจฐ เจนเจจ, เจ…เจคเฉ‡
// เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจ˜เฉ‹เจธเจผเจฃเจพ เจตเจฟเจ•เจฒเจชเจฟเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ:
// Adafruit_TFTLCD tft;
uint16_t g_identifier;

เจธเจŸเฉเจฐเจฟเฉฐเจ— เจกเฉ‡เจŸเจพเจธเจŸเฉเจฐเจฟเฉฐเจ—;
//String numfileMonth = "1.txt";
char perv [] = {"2.txt"};
//เจธเจคเจฐ *numfileMonth="1.txt" (เจ†เจ•เจพเจฐ (numfileMonth));
//////////////////////////////////////// //////////////

เจฐเฉฑเจฆ เจ•เจฐเจจเจพ (เจฐเฉฑเจฆ) {

rtc.begin();

// เจธเจฎเจพเจ‚ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ, เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€เจ†เจ‚ เจฒเจพเจˆเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจฃเจ•เจฎเฉ‡เจ‚เจŸ เจ•เจฐเฉ‹
// rtc.setDOW(6); // เจนเจซเจผเจคเฉ‡ เจฆเจพ เจฆเจฟเจจ
// rtc.setTime(22, 04, 0); // เจธเจฎเจพเจ‚, 24 เจ˜เฉฐเจŸเฉ‡ เจฆเฉ‡ เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจšเฅค
// rtc.setDate(4, 5, 2019); // เจฎเจฟเจคเฉ€, เจ…เจ•เจคเฉ‚เจฌเจฐ 29, 2018

เจธเฉ€เจฐเฉ€เจ…เจฒ.เจฌเฉ€เจ—เจฟเจจ (2000000);
//////// เจธเจ•เจฐเฉ€เจจ เจธเจผเฉเจฐเฉ‚เจ†เจค
tft.begin(0x65);
tft.reset();
tft.setRotation(0);
tft.cp437(เจธเฉฑเจšเจพ);
/////////////////เจจเจพเจตเจพเจ‚ เจฆเจพ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ, เจ‰เจชเจ•เจฐเจฃ เจ‰เจชเจ•เจฐเจฃ, เจธเฉฐเจธเจฅเจพ เจฆเจพ เจจเจพเจฎ
tft.fillScreen(เจ•เจพเจฒเจพ);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.setCursor(8, 0);
tft.println("เจตเจฟเจ•เจพเจธเจ•เจพเจฐ เจ…เจคเฉ‡ เจจเจฟเจฐเจฎเจพเจฃ");
tft.setCursor(30, 20);
tft.print (utf8rus("เจ•เจจเจธเจŸเจฐเจ•เจŸเจฐ V.V." ));
tft.setCursor(40, 40);
tft.print (utf8rus("เจŸเจฐเจจเจฐ I.I." ));
เจฆเฉ‡เจฐเฉ€ (2000);

radio.begin(); // เจ•เฉฐเจฎ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹ nRF24L01+
radio.setChannel(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 เจชเจพเจˆเจช เจ–เฉ‹เจฒเฉเจนเฉ‹
// เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจŸเจฐเจพเจ‚เจธเจฎเฉ€เจŸเจฐ ID 2xAABBCCDD2 เจจเจพเจฒ เจชเจพเจˆเจช 0 เจ–เฉ‹เจฒเฉเจนเฉ‹
radio.startListening(); // เจฐเจฟเจธเฉ€เจตเจฐ เจšเจพเจฒเฉ‚ เจ•เจฐเฉ‹, เจ–เฉเฉฑเจฒเฉเจนเฉ€เจ†เจ‚ เจชเจพเจˆเจชเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉเจฃเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹
// radio.stopListening();
////////เจธเฉ‡เจตเจพ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเจพ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ
tft.fillScreen(เจ•เจพเจฒเจพ);
tft.setCursor(8, 0);
tft.setTextSize(1);
////////SD เจ•เจพเจฐเจก เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹
Serial.println("เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ SD เจ•เจพเจฐเจก");
tft.println("เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ SD เจ•เจพเจฐเจก");
tft.setCursor(8, 10);
////////เจ•เจพเจฐเจก เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ
เจœเฉ‡เจ•เจฐ (!SD.begin(SD_CS_PIN)) {
Serial.println("เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจ…เจธเจซเจฒ!");
tft.fillRect(8, 10, 85, 7, RED);
tft.setTextColor(เจ•เจพเจฒเจพ);
tft.println("เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจ…เจธเจซเจฒ!");
เจตเจพเจชเจธเฉ€;
}
tft.setTextColor(WHITE);
Serial.println("เจธเจผเฉเจฐเฉ‚เจ†เจค เจนเฉ‹ เจ—เจˆ");
tft.println("เจธเจผเฉเจฐเฉ‚เจ†เจค เจนเฉ‹ เจ—เจˆ");
เจฆเฉ‡เจฐเฉ€ (2000);
////////เจธเจฎเจพเจ‚ เจ…เจคเฉ‡ เจฎเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจเจพ
t = 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); // เจœเฉ‡เจ•เจฐ เจฒเฉŒเจ— เจซเจพเจˆเจฒ 2.txt เจฌเจฃเจพเจˆ เจ—เจˆ เจนเฉˆ, เจคเจพเจ‚ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃเจพ เจœเจพเจฐเฉ€ เจฐเจนเฉ‡เจ—เจพ
เจœเฉ‡เจ•เจฐ (SD.exists(perv)) {
//tft.setCursor(0, 90);
tft.println(perv);
Serial.println(perv);
} เจนเฉ‹เจฐ {
myFile = SD.open(perv, FILE_WRITE); // เจœเฉ‡เจ•เจฐ เจซเจพเจˆเจฒ 2.txt เจฎเฉŒเจœเฉ‚เจฆ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจฌเจฃเจพเจˆ เจœเจพเจตเฉ‡เจ—เฉ€
myFile.close();
tft.println(perv);
Serial.println(perv);
}
}

เจฐเฉฑเจฆเฉ‹ เจฒเฉ‚เจช (เจฐเฉฑเจฆ) {
//////// COM เจชเฉ‹เจฐเจŸ เจฎเจพเจจเฉ€เจŸเจฐ เจจเฉ‚เฉฐ เจฒเฉŒเจ— เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ•เจฐเจจ เจฒเจˆ เจฌเฉ‡เจจเจคเฉ€ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ
เจœเฉ‡เจ•เจฐ (Serial.available() > 0) {
เจœเฉ‡เจ•เจฐ (1 == Serial.read());
////////เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ โ€œ1โ€ เจธเจตเฉ€เจ•เจพเจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ
เจซเจพเจˆเจฒ myFile = SD.open(perv);
// เจœเฉ‡เจ•เจฐ เจซเจพเจˆเจฒ เจ‰เจชเจฒเจฌเจง เจนเฉˆ, เจคเจพเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจฒเจฟเจ–เฉ‹:
if (myFile) {
เจœเจฆเจ•เจฟ (myFile.available()) {
Serial.write(myFile.read());
}
myFile.close();
}
เจนเฉ‹เจฐ {
Serial.println("เจ—เจฒเจคเฉ€ เจ–เฉ‹เจฒเฉเจนเจฃ .txt");
}
}
////////เจชเฉœเฉเจนเจจ เจฆเจพ เจธเจฎเจพเจ‚
t = rtc.getTime();
tft.setTextColor(WHITE);
////////เจœเฉ‡ เจธเจฎเจพเจ‚ เจฌเจฆเจฒ เจ—เจฟเจ† เจนเฉˆ, เจคเจพเจ‚ เจจเจตเฉ€เจ‚ เจ˜เฉœเฉ€ เจฐเฉ€เจกเจฟเฉฐเจ— เจฆเจฟเจ–เจพเจ“
เจœเฉ‡เจ•เจฐ ( 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;
}
////////เจœเฉ‡ เจฐเฉ‡เจกเฉ€เจ“ เจฐเจฟเจธเฉˆเจชเจธเจผเจจ เจ‰เจชเจฒเจฌเจง เจนเฉˆ, เจคเจพเจ‚
if (radio.available(&pipe)) {
////////เจœเจพเจ‚เจš เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจชเฉเจฐเจพเจชเจค เจฌเจซเจฐ เจญเจฐเจฟเจ† เจนเฉ‹เจ‡เจ† เจนเฉˆ,
radio.read(&data, sizeof(data));
//////// เจœเฉ‡เจ•เจฐ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ เจŸเฉเจฐเจพเจ‚เจธเจฎเฉ€เจŸเจฐ เจชเจคเจพ เจ‰เจชเจฒเจฌเจง เจนเฉˆ, เจคเจพเจ‚
เจœเฉ‡เจ•เจฐ (เจชเจพเจˆเจช == 1) {
//////// เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจœเจผเฉ€เจฐเฉ‹ เจฆเฉ‡ เจธเจฎเจ•เจพเจฒเฉ€ เจ•เฉเจฐเจฎ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ
// เจกเจพเจŸเจพ เจฌเจฒเจพเจ• เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค
เจœเฉ‡เจ•เจฐ (เจกเจพเจŸเจพ == 0000) {
rc = 0;
} เจนเฉ‹เจฐ {
rc++;
}
////////เจ•เจพเจŠเจ‚เจŸเจฐ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ˜เฉฐเจŸเฉ‡ เจฆเฉ‡ 10เจตเฉ‡เจ‚ เจ…เจคเฉ‡ 100เจตเฉ‡เจ‚ เจตเจฟเฉฑเจš เจ—เจฃเจจเจพ เจ•เจฐเจจเจพ
เจœเฉ‡เจ•เจฐ (rc == 1) {
leb_1 = เจกเฉ‡เจŸเจพ / 3600.0;
}

เจœเฉ‡เจ•เจฐ (rc == 2) {
leb_2 = เจกเฉ‡เจŸเจพ / 3600.0;
}

เจœเฉ‡เจ•เจฐ (rc == 3) {
leb_3 = เจกเฉ‡เจŸเจพ / 3600.0;
}

เจœเฉ‡เจ•เจฐ (rc == 4) {
leb_4 = เจกเฉ‡เจŸเจพ / 3600.0;
}
}
}
r++;
k++; // เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจ•เจพเจŠเจ‚เจŸเจฐ
//////// เจ‡เฉฑเจ• เจ–เจพเจธ เจฎเจฟเจ†เจฆ เจฆเฉ‡ เจจเจพเจฒ เจกเจพเจŸเจพ เจ…เฉฑเจชเจกเฉ‡เจŸ
เจœเฉ‡เจ•เจฐ ( r >= 6500) {
tft.setTextSize(2);
tft.fillRect(0, 41, 180, 64, เจ—เฉเจฐเฉ‡เจก);
Serial.println("Lebedki I");
tft.setCursor(0, 41);
tft.println(leb_1);
Serial.println(leb_1);
tft.println(leb_2);
Serial.println(leb_2);
tft.println(leb_3);
Serial.println(leb_3);
tft.println(leb_4);
Serial.println(leb_4);
Serial.println(k);
r = 0;
}
//////// เจนเจฐ 10 เจฎเจฟเฉฐเจŸ เจฌเจพเจ…เจฆ SD 'เจคเฉ‡ เจฒเฉŒเจ— 'เจคเฉ‡ เจกเฉ‡เจŸเจพ เจฒเจฟเจ–เฉ‹เฅค
เจœเฉ‡เจ•เจฐ ((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โ€ เจจเจพเจ‚ เจฆเฉ€ เจ•เฉ‹เจˆ เจซเจพเจˆเจฒ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจฌเจฃเจพเจˆ เจœเจพเจตเฉ‡เจ—เฉ€เฅค
if (myFile) {
myFile.println(dataString);
myFile.close();
tft.fillRect(198, 8, 42, 10, เจ—เฉเจฐเฉ€เจจ);
tft.println("SD OK");
Serial.println("SD OK");
เจฆเฉ‡เจฐเฉ€(900); // เจฆเฉ‡เจฐเฉ€, เจจเจนเฉ€เจ‚ เจคเจพเจ‚ เจ‡เฉฑเจ• เจธเจ•เจฟเฉฐเจŸ เจฒเฉฐเจ˜เจฃ เจคเฉฑเจ• 13 เจธเจฎเจพเจจ เจฐเฉ€เจกเจฟเฉฐเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจฆเจพ เจนเฉˆ
} เจนเฉ‹เจฐ {
tft.fillRect(198, 8, 42, 10, RED);
tft.println("SD ERR");
Serial.println("SD ERR");
}
}
}เจ…เฉฑเจ–เจฐ เจชเจฐเจฟเจตเจฐเจคเจจ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ/* เจฐเฉ‚เจธเฉ€ เจซเฉŒเจ‚เจŸเจพเจ‚ เจจเฉ‚เฉฐ UTF-8 เจคเฉ‹เจ‚ Windows-1251 เจคเฉฑเจ• เจฐเฉ€เจ•เฉ‹เจก เจ•เจฐเฉ‹ */

เจธเจŸเฉเจฐเจฟเฉฐเจ— utf8rus (เจธเจŸเฉเจฐเจฟเฉฐเจ— เจธเจฐเฉ‹เจค)
{
int i, k;
เจธเจคเจฐ เจจเจฟเจธเจผเจพเจจเจพ;
เจนเจธเจคเจพเจ–เจฐเจฟเจค เจšเจพเจฐ n;
char m[2] = { '0', ' ' };

k = source.length(); i = 0;

เจœเจฆเจ•เจฟ (i < k) {
n = เจธเจฐเฉ‹เจค[i]; i++;

เจœเฉ‡เจ•เจฐ (n >= 0xC0) {
เจธเจตเจฟเฉฑเจš (n) {
เจ•เฉ‡เจธ 0xD0: {
n = เจธเจฐเฉ‹เจค[i]; i++;
เจœเฉ‡เจ•เจฐ (n == 0x81) { n = 0xA8; เจคเฉ‹เฉœเจจเจพ; }
เจœเฉ‡เจ•เจฐ (n >= 0x90 && n <= 0xBF) n = n + 0x30;//0x2F
เจคเฉ‹เฉœ;
}
เจ•เฉ‡เจธ 0xD1: {
n = เจธเจฐเฉ‹เจค[i]; i++;
เจœเฉ‡เจ•เจฐ (n == 0x91) { n = 0xB8; เจคเฉ‹เฉœเจจเจพ; }
เจœเฉ‡เจ•เจฐ (n >= 0x80 && n <= 0x8F) n = n + 0x70;//0x6F
เจคเฉ‹เฉœ;
}
}
}
m[0] = n; target = target + String(m);
}
เจตเจพเจชเจธเฉ€ เจฆเจพ เจŸเฉ€เจšเจพ;
} Adafruit_GFX เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจธเจฟเจฐเจฟเจฒเจฟเจ• เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฒเจˆ เจ…เฉฑเจ–เจฐ เจŸเฉเจฐเจพเจ‚เจธเจ•เฉ‹เจกเจฟเฉฐเจ— เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจจเฉ‚เฉฐ เจฎเฉเฉฑเจ– เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ‡ เจจเจพเจฒ เจ‰เจธเฉ‡ เจซเฉ‹เจฒเจกเจฐ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจคเฉเจนเจพเจจเฉ‚เฉฐ Adafruit_GFX เจตเจฟเฉฑเจš glcdfont.c เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจซเฉŒเจ‚เจŸ เจจเจพเจฒ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจตเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‡เจน เจ‡เจธ เจฒเจˆ เจนเฉˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจคเจฌเจฆเฉ€เจฒเฉ€ เจจเจพเจฒ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เฅค Russification เจฌเจพเจฐเฉ‡ เจตเจงเฉ‡เจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจ‡เฉฐเจŸเจฐเจจเฉˆเฉฑเจŸ 'เจคเฉ‡ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจฒเฉฑเจญเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค
เจธเฉฐเจ–เฉ‡เจช เจ•เจฐเจจ เจฒเจˆ, เจฎเฉˆเจ‚ เจ•เจนเจพเจ‚เจ—เจพ เจ•เจฟ เจธเจฟเจธเจŸเจฎ เจ‰เจฎเฉ€เจฆเจพเจ‚ 'เจคเฉ‡ เจ–เจฐเจพ เจ‰เจคเจฐเจฟเจ†, เจธเจพเจœเจผ-เจธเจพเจฎเจพเจจ เจฆเฉ‡ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฎเฉ‡เจ‚ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจจเจพ เจ†เจธเจพเจจ เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆ. เจญเจพเจตเฉ‡เจ‚ เจ•เจฟ เจธเจญ เจ•เฉเจ เจฐเฉ‹เจŸเฉ€ เจฆเฉ‡ เจฌเฉ‹เจฐเจกเจพเจ‚ 'เจคเฉ‡ เจ‡เจ•เฉฑเจ เจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ•เฉฐเจฎ เจฌเจพเจฐเฉ‡ เจ•เฉ‹เจˆ เจคเฉเจฐเฉฐเจค เจธเจผเจฟเจ•เจพเจ‡เจคเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ. เจชเจนเจฟเจฒเฉ‡ เจคเฉฑเจค เจ›เฉ‡ เจฎเจนเฉ€เจจเจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเจฎเฉ‡เจ‚ เจคเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจนเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจธเจฐเจฆเฉ€เจ†เจ‚ เจคเฉ‹เจ‚ เจฌเจšเฉ‡ เจนเจจ. เจจเจตเฉ€เจจเจคเจฎ เจกเจฟเจœเจผเจพเจˆเจจ เจ‡เจน 9 เจฎเจพเจฐเจš เจคเฉ‹เจ‚ 5 เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจฏเฉ‚เจจเจฟเจŸเจพเจ‚ เจฒเจˆ เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฎเจพเจ‚ เจ…เจงเจฟเจ•เจพเจฐเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฐเจœเจฟเจธเจŸเจฐ เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆเฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹