เดฒเต‹เด•เตเด•เตฝ เด“เดŸเตเดŸเต‹เดฃเดฎเดธเต เดกเดพเดฑเตเดฑ เด…เด•เตเดตเดฟเดธเดฟเดทเตป เดธเดฟเดธเตเดฑเตเดฑเด‚ (เดคเตเดŸเดฐเตเด‚)

เดˆ เดธเตˆเดฑเตเดฑเดฟเตฝ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด• เดฌเดจเตเดงเด‚.
เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเตผ เด“เดฃเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด‚ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏ เด“เดชเตเดทเตป PC817 optocoupler เด‰เดณเตเดณ เด“เดชเตเดทเดจเดพเดฏเดฟ เดฎเดพเดฑเดฟ. เดธเตเด•เต€เดฎเดพเดฑเตเดฑเดฟเด•เต เดกเดฏเด—เตเดฐเด‚เดฒเต‹เด•เตเด•เตฝ เด“เดŸเตเดŸเต‹เดฃเดฎเดธเต เดกเดพเดฑเตเดฑ เด…เด•เตเดตเดฟเดธเดฟเดทเตป เดธเดฟเดธเตเดฑเตเดฑเด‚ (เดคเตเดŸเดฐเตเด‚)เดฌเต‹เตผเดกเตเด•เดณเดฟเตฝ เดฎเต‚เดจเตเดจเต เดธเดฎเดพเดจ เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดฒเตเดฒเดพเด‚ เดŽเดฌเดฟเดŽเดธเต เดชเตเดฒเดพเดธเตเดฑเตเดฑเดฟเด•เต เดฌเต‹เด•เตเดธเตเด•เดณเดฟเตฝ เดธเตเดฅเดพเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดตเดฒเดฟเดชเตเดชเด‚ 100x100 เดฎเดฟเดฒเตเดฒเต€เดฎเต€เดฑเตเดฑเตผ. เด’เดชเตโ€Œเดฑเตเดฑเต‹เด•เดชเตเดฒเดฑเตเด•เดณเตเดŸเต† เดซเต‹เดŸเตเดŸเต‹เดฒเต‹เด•เตเด•เตฝ เด“เดŸเตเดŸเต‹เดฃเดฎเดธเต เดกเดพเดฑเตเดฑ เด…เด•เตเดตเดฟเดธเดฟเดทเตป เดธเดฟเดธเตเดฑเตเดฑเด‚ (เดคเตเดŸเดฐเตเด‚) เด…เตผเดฆเตเดงเดšเดพเดฒเด• เดตเดพเตฝเดตเตเด•เดณเตเดณเตเดณ เด†เดฐเด‚เดญ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, PC817 เดคเตเดฑเด•เตเด•เดพเตป เด…เดตเดฏเตเดŸเต† เดฒเต€เด•เตเด•เต‡เดœเต เด•เดฑเดจเตเดฑเต เดฎเดคเดฟเดฏเดพเด•เตเด‚, เด•เตŒเดฃเตเดŸเตผ เดคเต†เดฑเตเดฑเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเด‚. เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดธเดพเดนเดšเดฐเตเดฏเด‚ เด’เดดเดฟเดตเดพเด•เตเด•เดพเตป เด’เดชเตโ€Œเดฑเตเดฑเต‹เด•เดชเตเดฒเตผ เดŽเตฝเด‡เดกเดฟเดฏเตเดŸเต† เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเดฟเดฒเต‡เด•เตเด•เตเด‚ เด“เดชเตเดชเดฑเต‡เดทเตป เด‡เตปเดกเดฟเด•เตเด•เต‡เดทเตป เดŽเตฝเด‡เดกเดฟเดฏเดฟเดฒเต‡เด•เตเด•เตเด‚ เดชเดฐเดฎเตเดชเดฐเดฏเดฟเตฝ เด’เดจเตเดจเต เด•เต‚เดŸเดฟ เดšเต‡เตผเดคเตเดคเต. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดœเดฎเตเดชเตผ J1 เดคเตเดฑเด•เตเด•เตเด•เดฏเตเด‚ เด’เดฐเต เด…เดงเดฟเด• LED LED1 เดฒเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เดญเดพเด—เด‚ เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดตเดถเด‚ 1เดฒเต‹เด•เตเด•เตฝ เด“เดŸเตเดŸเต‹เดฃเดฎเดธเต เดกเดพเดฑเตเดฑ เด…เด•เตเดตเดฟเดธเดฟเดทเตป เดธเดฟเดธเตเดฑเตเดฑเด‚ (เดคเตเดŸเดฐเตเด‚)เดตเดถเด‚ 2เดฒเต‹เด•เตเด•เตฝ เด“เดŸเตเดŸเต‹เดฃเดฎเดธเต เดกเดพเดฑเตเดฑ เด…เด•เตเดตเดฟเดธเดฟเดทเตป เดธเดฟเดธเตเดฑเตเดฑเด‚ (เดคเตเดŸเดฐเตเด‚)เดกเต†เดตเดฒเดชเตโ€Œเดฎเต†เดจเตเดฑเต เดฌเต‹เตผเดกเต ARDUINO MEGA 2560-เดฒเต‡เด•เตเด•เต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดคเดฟเดจเดพเดฏเดฟ, เด…เดตเดธเดพเดจเด‚ เด’เดฐเต เด‡เดฐเดŸเตเดŸ-เดตเดฐเดฟ เด•เดฃเด•เตเดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดฑเต†เดธเดฟเดธเตเดฑเตเดฑเต€เดตเต เดŸเดšเตเดšเตโ€Œเดธเตโ€Œเด•เตเดฐเต€เดจเตเด‚ เดŸเต†เดฎเตเดชเดฑเต‡เดšเตเดšเตผ เดธเต†เตปเดธเดฑเตเด‚ เด‰เดณเตเดณ, 240x400 เดฑเต†เดธเดฒเตเดฏเต‚เดทเดจเตเดณเตเดณ เด’เดฐเต เดธเตโ€Œเด•เตเดฐเต€เตป เดตเดฟเดตเดฐ เดชเตเดฐเดฆเตผเดถเดจ เด‰เดชเด•เดฐเดฃเดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. HX8352B.เดฒเต‹เด•เตเด•เตฝ เด“เดŸเตเดŸเต‹เดฃเดฎเดธเต เดกเดพเดฑเตเดฑ เด…เด•เตเดตเดฟเดธเดฟเดทเตป เดธเดฟเดธเตเดฑเตเดฑเด‚ (เดคเตเดŸเดฐเตเด‚) เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดธเตเด•เตเดฐเต€เตป เดฌเต‹เตผเดกเดฟเดฒเต† เดเดธเดฟเดŽเดธเตเดชเดฟเดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด•เดฃเด•เตเดฑเตเดฑเตผ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดฎเตˆเด•เตเดฐเต‹ เดŽเดธเตเดกเดฟ เดธเตเดฒเต‹เดŸเตเดŸเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒ. เดŽเดธเตเดชเดฟเด เดฌเดธเดฟเดฒเต† เดธเด‚เด˜เตผเดทเด‚ เด•เดพเดฐเดฃเด‚ "เดจเต‡เดฑเตเดฑเต€เดตเต" เดŽเดธเตเดกเดฟ เดธเต‹เด•เตเด•เดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ เดŽเดจเตเดจเดคเดพเดฃเต เดตเดธเตเดคเตเดค. เดซเตเดฒเดพเดทเต เด•เดพเตผเดกเดฟเดจเดพเดฏเดฟ, เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด•เดพเตผเดกเต เดฑเต€เดกเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เด…เดคเดฟเตฝ 3,3V เดธเตเดฑเตเดฑเต†เดฌเดฟเดฒเตˆเดธเดฑเตเด‚ 74LVS125A เดŽเดจเตเดจ เดฎเต‚เดจเตเดจเต เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเตเด•เดณเตเดณเตเดณ เด’เดฐเต เดฌเดซเตผ เดšเดฟเดชเตเดชเตเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต. เด‡เดตเดฟเดŸเต†เดฏเดพเดฃเต เดฑเต‡เด•เตเด•เต เดŽเดจเตเดจเต† เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต. เด’เดฐเต เดคเตเดฐเต€-เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเต เดฌเดซเตผ, เดŽเดจเตเดจเดพเตฝ เด’เดจเตเดจเตเด•เดฟเตฝ E01-ML01DP5 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด•เดพเตผเดกเต เดฑเต€เดกเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดšเตเดšเต. เดฒเตˆเดฌเตเดฐเดฑเดฟ เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เดณเดฟเตฝ, เดฎเดฑเตเดฑเต เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเตเดฎเดพเดฏเตเดณเตเดณ เดชเตŠเดฐเตเดคเตเดคเด•เตเด•เต‡เดŸเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต SdFat เด•เดฃเตเดŸเต. TXS0108E-เดฒเต† เดฒเต†เดตเตฝ เด•เตบเดตเต†เตผเดŸเตเดŸเตผ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดœเดฎเตเดชเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเด•เดฐเด‚ เดตเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต, เด•เดพเดฐเดฃเด‚ E01-ML01DP5 5V เดธเดฟเด—เตเดจเดฒเตเด•เดณเต‹เดŸเต เดธเดนเดฟเดทเตเดฃเตเดค เดชเตเดฒเตผเดคเตเดคเตเดจเตเดจเต - เด‡เดคเต เดธเดนเดพเดฏเดฟเดšเตเดšเดฟเดฒเตเดฒ. เด’เดฐเต เด“เดธเดฟเดฒเต‹เดธเตเด•เต‹เดชเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เด’เดฐเต เด•เดพเตผเดกเต เดฑเต€เดกเตผ เด•เดฃเด•เตเดŸเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ MISO เดฒเตˆเดจเดฟเตฝ เด’เดฐเต เดธเดฟเด—เตเดจเตฝ เดจเดทเตเดŸเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดฟ. เดธเต‚เด•เตเดทเตเดฎเดฎเดพเดฏ เดชเดฐเดฟเดถเต‹เดงเดจเดฏเดฟเตฝ, 4LVS74A-เดฏเตเดŸเต† OE 125 เดšเดพเดจเดฒเตเด•เดณเตเดŸเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเดจเตเดจ เดธเดฟเด—เตเดจเดฒเตเด•เดณเตเดŸเต† เด‡เตปเดชเตเดŸเตเดŸเตเด•เตพ เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดตเดฏเดฑเดฟเดฒเต‡เด•เตเด•เต เดฒเดฏเดฟเดชเตเดชเดฟเดšเตเดšเดคเดพเดฏเตเด‚ เดฎเต‚เดจเตเดจเดพเดฎเดคเตเดคเต† เด…เดตเดธเตเดฅเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒเต†เดจเตเดจเตเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดฟ. เดธเดฟเด—เตเดจเตฝ เดฒเตˆเดจเตเด•เดณเตเดฎเดพเดฏเดฟ เดชเดฐเดฎเตเดชเดฐเดฏเดฟเตฝ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดณเตเดณ 5 Kฮฉ เดฑเต†เดธเดฟเดธเตเดฑเตเดฑเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต 3.3V เดฎเตเดคเตฝ 3,3V เดตเดฐเต†เดฏเตเดณเตเดณ เด’เดฐเต เดชเตเดฐเดพเด•เตƒเดค เดฒเต†เดตเตฝ เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเดพเดฏเดฟ เดฌเดซเตผ เดšเดฟเดชเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต. MISO เดฒเตˆเตป เด’เดดเดฟเด•เต†. เด…เดคเดฟเดจเตเดฑเต† เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดคเดพเดดเต†เดฏเตเดณเตเดณ เดธเตเดตเดฟเดšเตเดšเต เดญเต‚เดจเดฟเดฐเดชเตเดชเดฟเดฒเต‡เด•เตเด•เต เดธเดฟเด—เตเดจเดฒเตเด•เดณเต† เด†เด•เตผเดทเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เดพเด‚. MISO เดฒเตˆเดจเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเดฏ เดธเดฟเด—เตเดจเตฝ เดชเดฟเตป 13 เด†เดฃเต†เดจเตเดจเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดšเตเดš เดถเต‡เดทเด‚, เด…เดคเต เดŸเตเดฐเดพเด•เตเด•เดฟเตฝ เดจเดฟเดจเตเดจเต เด•เต€เดฑเดฟเดชเตเดชเต‹เดฏเดฟเดธเต‹เตพเดกเตผ เดšเต†เดฏเตเดคเตเดฒเต‹เด•เตเด•เตฝ เด“เดŸเตเดŸเต‹เดฃเดฎเดธเต เดกเดพเดฑเตเดฑ เด…เด•เตเดตเดฟเดธเดฟเดทเตป เดธเดฟเดธเตเดฑเตเดฑเด‚ (เดคเตเดŸเดฐเตเด‚)9LVS74A CS เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเดจเต เด‡เดŸเดฏเดฟเตฝ เด‡เตปเดชเตเดŸเตเดŸเต เดชเดฟเตป (125) เด‰เด‚ เดŸเต†เตผเดฎเดฟเดจเต‡เดทเตป เดฑเต†เดธเดฟเดธเตเดฑเตเดฑเดฑเตเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•. เด‡เดชเตเดชเต‹เตพ, เดฎเต†เดฎเตเดฎเดฑเดฟ เด•เดพเตผเดกเดฟเดฒเต‡เด•เตเด•เต เด†เด•เตเดธเดธเต เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, MISO เดฌเดซเตผ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดฎเดฑเตเดฑเตŠเดฐเต เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเต† เดคเดŸเดธเตเดธเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒ.เดตเดฟเด•เดธเดจ เดฌเต‹เตผเดกเต เดกเดฏเด—เตเดฐเด‚เดฒเต‹เด•เตเด•เตฝ เด“เดŸเตเดŸเต‹เดฃเดฎเดธเต เดกเดพเดฑเตเดฑ เด…เด•เตเดตเดฟเดธเดฟเดทเตป เดธเดฟเดธเตเดฑเตเดฑเด‚ (เดคเตเดŸเดฐเตเด‚)เดฑเดฟเดธเต€เดตเตผ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดฒเดพเดฃเตเดฒเต‹เด•เตเด•เตฝ เด“เดŸเตเดŸเต‹เดฃเดฎเดธเต เดกเดพเดฑเตเดฑ เด…เด•เตเดตเดฟเดธเดฟเดทเตป เดธเดฟเดธเตเดฑเตเดฑเด‚ (เดคเตเดŸเดฐเตเด‚)เด•เตเดฒเต‹เด•เตเด•เต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต DS3231 เด’เดฐเต เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ I2C เดฌเดธเต (TWI) เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.
Arduino IDE เดชเตเดฐเต‹เด—เตเดฐเดพเด‚// เดชเตเดฐเดงเดพเดจเดชเตเดชเต†เดŸเตเดŸเดคเต: Adafruit_TFTLCD เดฒเตˆเดฌเตเดฐเดฑเดฟ เดชเตเดฐเดคเตเดฏเต‡เด•เด‚ เด†เดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚
// เดŸเดฟเดŽเดซเตเดŸเดฟ เดทเต€เตฝเดกเดฟเดจเต‹ เดฌเตเดฐเต‡เด•เตเด•เตเด”เดŸเตเดŸเต เดฌเต‹เตผเดกเดฟเดจเต‹ เดตเต‡เดฃเตเดŸเดฟ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตโ€Œเดคเต.
// เดธเดœเตเดœเต€เด•เดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ 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
//OPEN-SMART 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 เดฒเตˆเดฌเตเดฐเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•
SdFat SD;
SdFile เดซเดฏเตฝ;
เดซเดฏเตฝ myFile;
#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;

//************************************************ ****************//
// เดจเดฟเด™เตเด™เตพ OPEN-SMART TFT เดฌเตเดฐเต‡เด•เตเด•เตเด”เดŸเตเดŸเต เดฌเต‹เตผเดกเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ //
// 5V-3.3V เดฒเต†เดตเตฝ เด•เตบเดตเต†เตผเดŸเตเดŸเดฟเด‚เด—เต เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต‡เตผเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
// เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต 5V/3.3V เดชเดตเตผ เดธเตเดตเดฟเดšเตเดšเต เด‰เดณเตเดณ เด“เดชเตเดชเตบ-เดธเตเดฎเดพเตผเดŸเตเดŸเต UNO เดฌเตเดฒเดพเด•เตเด•เต เดชเดคเดฟเดชเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚,
// เดจเดฟเด™เตเด™เตพเด•เตเด•เต 3.3V เดฒเต‡เด•เตเด•เต เดฎเดพเดฑเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.
// เดŽเตฝเดธเดฟเดกเดฟเด•เตเด•เตเดณเตเดณ เด•เตบเดŸเตเดฐเต‹เตพ เดชเดฟเดจเตเดจเตเด•เตพ เดเดคเต เดกเดฟเดœเดฟเดฑเตเดฑเดฒเดฟเดฒเต‡เด•เตเด•เตเด‚ เด…เดธเตˆเตป เดšเต†เดฏเตเดฏเดพเด‚
// เด…เดจเดฒเต‹เด—เต เดชเดฟเดจเตเดจเตเด•เตพ...เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต† เดžเด™เตเด™เตพ เด…เดจเดฒเต‹เด—เต เดชเดฟเดจเตเดจเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚
//โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”-|
// TFT เดฌเตเดฐเต‡เด•เตเด•เตเด”เดŸเตเดŸเต - Arduino UNO / Mega2560 / OPEN-SMART UNO เดฌเตเดฒเดพเด•เตเด•เต
// GND - GND
// 3V3 - 3.3V
//CS - A3
// RS - A2
// WR - A1
// RD - A0
// RST - เดฑเต€เดธเต†เดฑเตเดฑเต
// LED - GND
// DB0 - 8
// DB1 - 9
// DB2 - 10
// DB3 - 11
// DB4 - 4
// DB5 - 13
// DB6 - 6
// DB7 - 7

// เดšเดฟเดฒ เดธเดพเดงเดพเดฐเดฃ 16-เดฌเดฟเดฑเตเดฑเต เดตเตผเดฃเตเดฃ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพเด•เตเด•เต เดฎเดจเตเดทเตเดฏเตผเด•เตเด•เต เดตเดพเดฏเดฟเด•เตเด•เดพเดตเตเดจเตเดจ เดชเต‡เดฐเตเด•เตพ เดจเตฝเด•เตเด•:
#BLACK 0x0000 เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเด•
#เดจเต€เดฒ 0x001F เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเด•
#RED 0xF800 เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเด•
#GREEN 0x07E0 เดจเดฟเตผเดตเตเดตเดšเดฟเด•เตเด•เตเด•
#CYAN 0x07FF เดจเดฟเตผเดตเตเดตเดšเดฟเด•เตเด•เตเด•
#MAGENTA 0xF81F เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเด•
#YELLOW 0xFFE0 เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเด•
#WHITE 0xFFFF เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเด•
#GRAY 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" (sizeof (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(BLACK);
tft.setTextColor(WHITE);
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);

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 เดชเตˆเดชเตเดชเต เดคเตเดฑเด•เตเด•เตเด•
// เดกเดพเดฑเตเดฑ เดฒเดญเดฟเด•เตเด•เดพเตป เดŸเตเดฐเดพเตปเดธเตเดฎเดฟเดฑเตเดฑเตผ เดเดกเดฟ 2xAABBCCDD2 เด‰เดณเตเดณ เดชเตˆเดชเตเดชเต 0 เดคเตเดฑเด•เตเด•เตเด•
radio.startListening(); // เดฑเดฟเดธเต€เดตเตผ เด“เดฃเดพเด•เตเด•เตเด•, เดคเตเดฑเดจเตเดจ เดชเตˆเดชเตเดชเตเด•เตพ เด•เต‡เตพเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เตเด•
// radio.stopListening();
////////เดธเต‡เดตเดจ เดตเดฟเดตเดฐเด™เตเด™เดณเตเดŸเต† เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต
tft.fillScreen(BLACK);
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(BLACK);
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, GRAY); // เดธเดฎเดฏ เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดเดฐเดฟเดฏ เดฎเดพเดฏเตเด•เตเด•เตเดจเตเดจเต
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. เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ(perv)) {
//tft.setCursor(0, 90);
tft.println(perv);
Serial.println(perv);
} else {
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);
// เดซเดฏเตฝ เดฒเดญเตเดฏเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด…เดคเดฟเตฝ เดŽเดดเตเดคเตเด•:
เดŽเด™เตเด•เดฟเตฝ (myFile) {
เด…เดคเต‡เดธเดฎเดฏเด‚ (myFile.available()) {
Serial.write(myFile.read());
}
myFile.close();
}
else {
Serial.println("เดŽเดฑเตผ เด“เดชเตเดชเดฃเดฟเด‚เด—เต .txt");
}
}
////////เดตเดพเดฏเดจ เดธเดฎเดฏเด‚
t = rtc.getTime();
tft.setTextColor(WHITE);
////////เดธเดฎเดฏเด‚ เดฎเดพเดฑเดฟเดฏเต†เด™เตเด•เดฟเตฝ, เดชเตเดคเดฟเดฏ เด•เตเดฒเต‹เด•เตเด•เต เดฑเต€เดกเดฟเด‚เด—เตเด•เตพ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด•
เดŽเด™เตเด•เดฟเตฝ (time_sec_prev != t.sec) {
tft.setCursor(120, 0); // เด•เดดเตโ€Œเดธเตผ เดธเตเดฅเดพเดจเด‚ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต
tft.fillRect(118, 0, 50, 7, GRAY); // เดธเดฎเดฏ เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดเดฐเดฟเดฏ เดฎเดพเดฏเตเด•เตเด•เตเดจเตเดจเต
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, GRAY); // เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดคเต€เดฏเดคเดฟ เดชเตเดฐเดฆเตผเดถเดจ เดเดฐเดฟเดฏ
tft.setTextSize(1);
tft.print(rtc.getDateStr()); // เดคเต€เดฏเดคเดฟ เดฑเต€เดกเดฟเด‚เด—เตเด•เตพ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด•
time_day_prev = t.date;
}
////////เดฑเต‡เดกเดฟเดฏเต‹ เดธเตเดตเต€เด•เดฐเดฃเด‚ เดฒเดญเตเดฏเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ
เดŽเด™เตเด•เดฟเตฝ (radio.available(&pipe)) {
//////// เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เดฌเดซเตผ เดจเดฟเดฑเดžเตเดžเดฟเดŸเตเดŸเตเดฃเตเดŸเต‹ เดŽเดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต,
radio.read(&data, sizeof(data));
////////เด†เดตเดถเตเดฏเดฎเดพเดฏ เดŸเตเดฐเดพเตปเดธเตเดฎเดฟเดฑเตเดฑเตผ เดตเดฟเดฒเดพเดธเด‚ เดฒเดญเตเดฏเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ
เดŽเด™เตเด•เดฟเตฝ (เดชเตˆเดชเตเดชเต == 1) {
//////// เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดพเตป เดชเต‚เดœเตเดฏเด™เตเด™เดณเตเดŸเต† เดธเดฎเดจเตเดตเดฏ เด•เตเดฐเดฎเดคเตเดคเดฟเดจเดพเดฏเดฟ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
//เดกเดพเดฑเตเดฑ เดฌเตเดฒเต‹เด•เตเด•เดฟเดจเตเดฑเต† เดคเตเดŸเด•เตเด•เด‚
เดŽเด™เตเด•เดฟเตฝ (เดกเดพเดฑเตเดฑ == 0000) {
rc = 0;
} else {
rc++;
}
////////เด•เตŒเดฃเตเดŸเตผ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดฑเต†เด•เตเด•เต‹เตผเดกเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เด’เดฐเต เดฎเดฃเดฟเด•เตเด•เต‚เดฑเดฟเตฝ 10-เด‰เด‚ 100-เด‰เด‚ เดธเดฎเดฏเด‚ เด•เดฃเด•เตเด•เดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต
เดŽเด™เตเด•เดฟเตฝ (เด†เตผเดธเดฟ == 1) {
leb_1 = เดกเดพเดฑเตเดฑ / 3600.0;
}

เดŽเด™เตเด•เดฟเตฝ (เด†เตผเดธเดฟ == 2) {
leb_2 = เดกเดพเดฑเตเดฑ / 3600.0;
}

เดŽเด™เตเด•เดฟเตฝ (เด†เตผเดธเดฟ == 3) {
leb_3 = เดกเดพเดฑเตเดฑ / 3600.0;
}

เดŽเด™เตเด•เดฟเตฝ (เด†เตผเดธเดฟ == 4) {
leb_4 = เดกเดพเดฑเตเดฑ / 3600.0;
}
}
}
r++;
k++; // เด’เดฐเต เด•เต—เดฃเตเดŸเตผ เดฎเดพเดคเตเดฐเด‚
//////// เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เด†เดจเตเด•เดพเดฒเดฟเด•เดคเดฏเต‹เดŸเต† เดกเดพเดฑเตเดฑ เด…เดชเตเดกเต‡เดฑเตเดฑเต
เดŽเด™เตเด•เดฟเตฝ (r >= 6500) {
tft.setTextSize(2);
tft.fillRect(0, 41, 180, 64, GRAYD);
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(BLACK);
////////.csv เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต
String dataString = String (rtc.getDateStr()) + ", "+(rtc.getTimeStr()) + ", " + (leb_1) + ", " + (leb_2)
+ ", " + (leb_3) + ", " + (leb_4) + ", ";
////////เด’เดฐเต เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเตเด•, เดŽเดดเตเดคเตเดคเต เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเตเดŸเต† เดซเดฒเด™เตเด™เตพ เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเด•
myFile = SD.open(perv, FILE_WRITE); // โ€œ2.txtโ€ เดŽเดจเตเดจ เดชเต‡เดฐเดฟเตฝ เด’เดฐเต เดซเดฏเดฒเตเด‚ เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚.
เดŽเด™เตเด•เดฟเตฝ (myFile) {
myFile.println(dataString);
myFile.close();
tft.fillRect(198, 8, 42, 10, GREEN);
tft.println("SD เดถเดฐเดฟ");
Serial.println("SD เดถเดฐเดฟ");
เด•เดพเดฒเดคเดพเดฎเดธเด‚ (900); // เด•เดพเดฒเดคเดพเดฎเดธเด‚, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดธเต†เด•เตเด•เตปเดกเต เด•เดŸเดจเตเดจเตเดชเต‹เด•เตเดจเตเดจเดคเตเดตเดฐเต† 13 เดธเดฎเดพเดจ เดฑเต€เดกเดฟเด‚เด—เตเด•เตพ เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเต
} else {
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; เดฒเด•เตเดทเตเดฏเด‚ = เดฒเด•เตเดทเตเดฏเด‚ + เดธเตเดŸเตเดฐเดฟเด‚เด—เต(m);
}
เดฎเดŸเด•เตเด• เดฒเด•เตเดทเตเดฏเด‚;
}Adafruit_GFX เดฒเตˆเดฌเตเดฐเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเตเดณเตเดณ เดธเดฟเดฑเดฟเดฒเดฟเด•เต เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเดฟเดจเดพเดฏเตเดณเตเดณ เด•เตเดฏเดพเดฐเด•เตเดŸเตผ เดŸเตเดฐเดพเตปเดธเตโ€Œเด•เต‹เดกเดฟเด‚เด—เต เดชเตเดฐเต‹เด—เตเดฐเดพเด‚ เดชเตเดฐเดงเดพเดจ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเดจเตเดฑเต† เด…เดคเต‡ เดซเต‹เตพเดกเดฑเดฟเตฝ เดธเตเดฅเดพเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพ Adafruit_GFX-เดฒเต† glcdfont.c เดซเดฏเตฝ เดฎเดฑเตเดฑเตŠเดฐเต เดซเต‹เดฃเตเดŸเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด‡เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจ เดฒเตˆเดฌเตเดฐเดฑเดฟ. เดฑเดธเดฟเดซเดฟเด•เตเด•เต‡เดทเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดตเดฐเด™เตเด™เตพ เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเดฟเตฝ เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚.
เดšเตเดฐเตเด•เตเด•เดคเตเดคเดฟเตฝ, เดธเดฟเดธเตเดฑเตเดฑเด‚ เดชเตเดฐเดคเต€เด•เตเดทเด•เตพเด•เตเด•เต เด…เดจเตเดธเตƒเดคเดฎเดพเดฏเดฟ เดœเต€เดตเดฟเดšเตเดšเตเดตเต†เดจเตเดจเต เดžเดพเตป เดชเดฑเดฏเตเด‚, เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเดตเตผเดคเตเดคเดจ เดธเดฎเดฏเด‚ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดณเตเดชเตเดชเดฎเดพเดฏเดฟ. เดŽเดฒเตเดฒเดพเด‚ เดฌเตเดฐเต†เดกเตเดฌเต‹เตผเดกเตเด•เดณเดฟเตฝ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเดคเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚, เดœเต‹เดฒเดฟเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด‰เดŸเดจเดŸเดฟ เดชเดฐเดพเดคเดฟเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ. เด†เดฆเตเดฏเดคเตเดคเต† เด˜เดŸเด•เด™เตเด™เตพ เด†เดฑเตเดฎเดพเดธเดคเตเดคเดฟเดฒเต‡เดฑเต†เดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดถเตˆเดคเตเดฏเด•เดพเดฒเดคเตเดคเต† เด…เดคเดฟเดœเต€เดตเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต. เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดกเดฟเดธเตˆเตป เดฎเดพเตผเดšเตเดšเต 9 เดฎเตเดคเตฝ 5 เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดค เดฏเต‚เดฃเดฟเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดจ เดธเดฎเดฏเด‚ เด”เดฆเตเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•