ืœืืงืืœืข ืึธื˜ืึทื ืึทืžืึทืก ื“ืึทื˜ืึท ืึทืงื•ื•ืึทื–ื™ืฉืึทืŸ ืกื™ืกื˜ืขื (ื•ื•ื™ื™ึทื˜ืขืจ )

ืึธื ื”ื™ื™ื‘ ืื•ื™ืฃ ื“ืขื ืคึผืœืึทืฅ ะฟะพ ััั‹ะปะบะต.
ื“ื™ ืžืขืจืกื˜ ื‘ืึทืงื•ื•ืขื ืึธืคึผืฆื™ืข ืคึฟืึทืจ ืจื™ื˜ืจื™ื•ื•ื™ื ื’ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื•ื•ืขื ื“ืŸ ื“ื™ ืกื˜ืึทืจื˜ืขืจ ืื™ื– ื’ืขื•ื•ืขืŸ ื“ื™ ืึธืคึผืฆื™ืข ืžื™ื˜ ื“ื™ PC817 ืึธืคึผื˜ืึธืงืึธื•ืคึผืœืขืจ. ืงืจื™ื™ึทื– ื“ื™ืึทื’ืจืึทืžืขืœืืงืืœืข ืึธื˜ืึทื ืึทืžืึทืก ื“ืึทื˜ืึท ืึทืงื•ื•ืึทื–ื™ืฉืึทืŸ ืกื™ืกื˜ืขื (ื•ื•ื™ื™ึทื˜ืขืจ )ื“ื™ ื‘ืึธืจื“ื– ืึทื ื˜ื”ืึทืœื˜ืŸ ื“ืจื™ื™ ื™ื™ื“ืขื ื™ืงืึทืœ ืกืขืจืงืึทืฅ, ืึทืœืฅ ืื™ื– ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ืึทื‘ืก ืคึผืœืึทืกื˜ื™ืง ื‘ืึธืงืกืขืก, ื’ืจื™ื™ืก 100ืงืก100 ืžื. ืคืึธื˜ืึธ ืคื•ืŸ ืึธืคึผื˜ืึธืงืึธื•ืคึผืขืจื–ืœืืงืืœืข ืึธื˜ืึทื ืึทืžืึทืก ื“ืึทื˜ืึท ืึทืงื•ื•ืึทื–ื™ืฉืึทืŸ ืกื™ืกื˜ืขื (ื•ื•ื™ื™ึทื˜ืขืจ ) ื•ื•ืขืŸ ืงืึธื ื ืขืงื˜ืขื“ ืฆื• ืกื˜ืึทืจื˜ื™ื ื’ ื“ืขื•ื•ื™ืกืขืก ืžื™ื˜ ืกืขืžื™ืงืึทื ื“ืึทืงื˜ืขืจ ื•ื•ืึทืœื•ื•ื–, ื–ื™ื™ืขืจ ืœื™ืงืึทื“ื–ืฉ ืงืจืึทื ื˜ ืื™ื– ื’ืขื ื•ื’ ืฆื• ืขืคึฟืขื ืขืŸ ื“ื™ PC817 ืื•ืŸ ื“ื™ ื˜ืึธืžื‘ืึทื ืง ื•ื•ืขื˜ ืฆื™ื ื’ืœ ืคืึทืœืฉ. ืฆื• ื•ื™ืกืฉืœื™ืกืŸ ืึทื–ืึท ืึท ืกื™ื˜ื•ืึทืฆื™ืข ืื™ื™ื ืขืจ ืžืขืจ ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ ืื™ืŸ ืกืขืจื™ืข ืฆื• ื“ื™ ืงืจื™ื™ึทื– ืคื•ืŸ ื“ื™ ืึธืคึผื˜ืึธืงืึธื•ืคึผืœืขืจ ื’ืขืคื™ืจื˜ ืื•ืŸ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืึธื ื•ื•ื™ื™ึทื– ื’ืขืคื™ืจื˜. ืฆื• ื˜ืึธืŸ ื“ืึธืก, ื“ื™ ื“ื–ืฉืึทืžืคึผืขืจ ื“ื–ืฉ 1 ืื™ื– ื’ืขืขืคื ื˜ ืื•ืŸ ืึท ื ืึธืš ื’ืขืคื™ืจื˜ ื’ืขืคื™ืจื˜ 1 ืื™ื– ืกืึทื“ืขืจื“ ืื™ืŸ.
ื“ื™ ืจื™ืกื™ื•ื•ื™ื ื’ ื˜ื™ื™ืœ ืื™ื– ื’ืขืžืื›ื˜ ืื•ื™ืฃ ื–ื™ื™ึทื˜ 1ืœืืงืืœืข ืึธื˜ืึทื ืึทืžืึทืก ื“ืึทื˜ืึท ืึทืงื•ื•ืึทื–ื™ืฉืึทืŸ ืกื™ืกื˜ืขื (ื•ื•ื™ื™ึทื˜ืขืจ )ื–ื™ื™ึทื˜ 2ืœืืงืืœืข ืึธื˜ืึทื ืึทืžืึทืก ื“ืึทื˜ืึท ืึทืงื•ื•ืึทื–ื™ืฉืึทืŸ ืกื™ืกื˜ืขื (ื•ื•ื™ื™ึทื˜ืขืจ )ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื‘ืจืขื˜ ืงืึธื ื ืขืงื˜ืขื“ ืฆื• ARDUINO MEGA 2560. ืคึฟืึทืจ ื“ืขื, ืึท ื˜ืึธืคึผืœ-ืจื•ื“ืขืจืŸ ืงืึทื ืขืงื˜ืขืจ ืื™ื– ื’ืขื ื™ืฆื˜ ืื™ืŸ ื“ื™ ืกื•ืฃ. ื ืคืึทืจืฉื˜ืขืœืŸ ืžื™ื˜ ืึท ื”ืึทื›ืœืึธื˜ืข ืคื•ืŸ โ€‹โ€‹240ืงืก400, ืžื™ื˜ ืึท ืจืขืกื™ืกื˜ื™ื•ื•ืข ื˜ืึธื•ื˜ืฉืกืงืจืขืขืŸ ืื•ืŸ ืึท ื˜ืขืžืคึผืขืจืึทื˜ื•ืจ ืกืขื ืกืขืจ, ืื™ื– ื’ืขื ื™ืฆื˜ ื•ื•ื™ ืึท ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืึทืจื•ื™ืกื•ื•ื™ื™ึทื–ืŸ ืžื™ื˜ืœ. HX8352B.ืœืืงืืœืข ืึธื˜ืึทื ืึทืžืึทืก ื“ืึทื˜ืึท ืึทืงื•ื•ืึทื–ื™ืฉืึทืŸ ืกื™ืกื˜ืขื (ื•ื•ื™ื™ึทื˜ืขืจ ) ื“ืขืจืฆื•, ื“ื™ ืงืึทื ืขืงื˜ืขืจ ืฆื• ื“ื™ ICSP ืื•ื™ืฃ ื“ื™ ืคืึทืจืฉื˜ืขืœืŸ ื‘ืจืขื˜ ืื™ื– ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ืื•ืŸ ื“ื™ ืžื™ืงืจืึธ ืกื“ ืฉืคึผืขืœื˜ืœ ืื™ื– ื ื™ืฉื˜ ื’ืขื ื™ืฆื˜. ื“ืขืจ ืคืึทืงื˜ ืื™ื– ืึทื– ื“ื™ "ื’ืขื‘ื•ื™ืจืŸ" ืกื“ ื›ืึธืœืขืœ ืงืขื ืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืจืขื›ื˜ ืฆื• ืึท ืงืึธื ืคืœื™ืงื˜ ืื•ื™ืฃ ื“ื™ SPI ื•ื™ื˜ืึธื‘ื•ืก. ืคึฟืึทืจ ื“ื™ ื‘ืœื™ืฅ ืงืึธืจื˜, ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืงืึธืจื˜ ืœื™ื™ืขื ืขืจ ืื™ื– ื’ืขื ื™ืฆื˜, ื•ื•ืึธืก ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืึท 3,3 ื•ื• ืกื˜ื™ื™ื‘ืึทืœื™ื™ื–ืขืจ ืื•ืŸ ืึท ื‘ืึทืคืขืจ ืฉืคึผืึธืŸ ืžื™ื˜ ื“ืจื™ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืฉื˜ืึทื˜ืŸ 74LVS125A. ื“ื ื”ืื˜ ืื•ื™ืฃ ืžื™ืจ ื’ืขืฐืืจื˜ ื“ื™ ื’ืจืื‘ืข. ื ื“ืจื™ื™-ืฉื˜ืึทื˜ ื‘ืึทืคืขืจ, ืึธื‘ืขืจ ืึธื“ืขืจ ื“ื™ E01-ML01DP5 ืึธื“ืขืจ ื“ื™ ืงืึธืจื˜ ืœื™ื™ืขื ืขืจ ื’ืขืืจื‘ืขื˜. ืื™ืŸ ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ, SdFat ื’ืขื–ืขืŸ ืึท ื•ื•ืืจืขื ื•ื ื’ ื•ื•ืขื’ืŸ ื™ื ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืžื™ื˜ ืื ื“ืขืจืข ื“ืขื•ื•ื™ืกืขืก. ื“ื™ ืžื“ืจื’ื” ืงืึทื ื•ื•ืขืจื˜ืขืจ ืื•ื™ืฃ ื“ื™ TXS0108E ืื™ื– ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ืื•ืŸ ืจื™ืคึผืœื™ื™ืกื˜ ืžื™ื˜ ื“ื–ืฉืึทืžืคึผืขืจื–, ื•ื•ื™ื™ึทืœ E01-ML01DP5 ืื™ื– ื˜ืึธืœืขืจืึทื ื˜ ืฆื• 5 ื•ื• ืกื™ื’ื ืึทืœื– - ืขืก ื”ืื˜ ื ื™ืฉื˜ ื”ืขืœืคืŸ. ืžื™ื˜ ืึทืŸ ืึทืกืึทืœืึธืกืงืึธืคึผืข, ืึท ืกื™ื’ื ืึทืœ ืึธื ื•ื•ืขืจ ืื™ื– ื’ืขื•ื•ืขืŸ ื“ื™ื˜ืขืงื˜ืึทื“ ืื•ื™ืฃ ื“ื™ ืžื™ืกืึธ ืฉื•ืจื” ื•ื•ืขืŸ ืึท ืงืึธืจื˜ ืœื™ื™ืขื ืขืจ ืื™ื– ืงืึธื ื ืขืงื˜ืขื“. ื ืึธืš ืึท ืึธืคึผื’ืขื”ื™ื˜ ื“ื•ืจื›ืงื•ืง, ืขืก ืื™ื– ื’ืขืคื•ื ืขืŸ ืึทื– ื“ื™ ื™ื ืคึผื•ืฅ ืคื•ืŸ ื“ื™ ืขื ื™ื™ื‘ืึทืœื™ื ื’ ืกื™ื’ื ืึทืœื– ืคื•ืŸ ื“ื™ ืึธืข 4 ื˜ืฉืึทื ืึทืœื– ืคื•ืŸ ื“ื™ 74LVS125A ื–ืขื ืขืŸ ืคืฉื•ื˜ ืกืึทื“ืขืจื“ ืฆื• ืึท ืคึผืจืึธืกื˜ ื“ืจืึธื˜ ืื•ืŸ ืขืก ืงืขืŸ ื–ื™ื™ืŸ ืงื™ื™ืŸ ืจืขื“ืŸ ืคื•ืŸ ืงื™ื™ืŸ ื“ืจื™ื˜ ืฉื˜ืึทื˜. ื“ืขืจ ื‘ืึทืคืขืจ ืฉืคึผืึธืŸ ืื™ื– ื’ืขื ื™ืฆื˜ ื•ื•ื™ ืึท ืคึผืจื™ืžื™ื˜ื™ื•ื• ืžื“ืจื’ื” ืงืึทื ื•ื•ืขืจื˜ืขืจ ืคื•ืŸ 5 ื•ื• ืฆื• 3.3 ื•ื• ื ื™ืฆืŸ 3,3 Kฮฉ ืจืขืกื™ืกื˜ืึธืจืก ืคืืจื‘ื•ื ื“ืŸ ืื™ืŸ ืกืขืจื™ืข ืžื™ื˜ ื“ื™ ืกื™ื’ื ืึทืœ ืฉื•ืจื•ืช. ืึทื—ื•ืฅ ืคึฟืึทืจ ื“ื™ 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 ืื™ื ื˜ืฉ ื˜ืคื˜:
// 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
// ืขืคึฟืŸ-ืกืžืึทืจื˜ ื•ื ืึธ ืจ3 5 ื•ื• / 3.3 ื•ื•:
// 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 ื˜ืขืงืข;
ื˜ืขืงืข myFile;
# ื“ืขืคื™ื ื™ืจืŸ SD_CS_PIN SS

#include // ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื“ื™ SPI ื•ื™ื˜ืึธื‘ื•ืก
#include // ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื“ื™ ืกืขื˜ื˜ื™ื ื’ืก ื˜ืขืงืข ืคื•ืŸ โ€‹โ€‹ื“ื™ RF24 ื‘ื™ื‘ืœื™ืึธื˜ืขืง
#include // ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ nRF24L24+
RF24 ืจืึทื“ื™ืึธ (47, 49);

# ืึทืจื™ื™ึทื ื ืขืžืขืŸ

DS3231 rtc(27, 25);
ืฆื™ื™ื˜ ื˜;

ื•ื™ื ื˜16_ื˜ ืจ = 6000;
ื•ื™ื ื˜32_ื˜ ืง = 0;

ื•ื•ืึทืœืึทื˜ืึทืœ ืึทื ืกื™ื™ื ื“ ืœืึทื ื’ ื“ืึทื˜ืŸ;
ืคืœืึธื•ื˜ ืœืขื‘_1;
ืคืœืึธื•ื˜ ืœืขื‘_2;
ืคืœืึธื•ื˜ ืœืขื‘_3;
ืคืœืึธื•ื˜ ืœืขื‘_4;

ื•ื™ื ื˜8_ื˜ ืจืขืจ;
ื™ื ื˜ ืจืง = 0;

uint8_t time_sec_prev;
uint8_t time_day_prev;

//********************************************* **************** / /
// ืื•ื™ื‘ ืื™ืจ ื ื•ืฆืŸ OPEN-SMART TFT ื‘ืจื™ื™ืงืึทื•ื˜ ื‘ืจืขื˜ //
// ืจืขืงืึธืžืขื ื“ื™ืจืŸ ืื™ืจ ืฆื• ืœื™ื™ื’ืŸ 5V-3.3V ืžื“ืจื’ื” ืงืึทื ื•ื•ืขืจื˜ื™ื ื’ ืงืจื™ื™ึทื–.
// ื“ืึธืš ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ OPEN-SMART UNO ืฉื•ื•ืืจืฆืข ื•ื•ืขืจืกื™ืข ืžื™ื˜ 5V/3.3V ืžืึทื›ื˜ ื‘ืึทืฉื˜ื™ืžืขืŸ,
// ืื™ืจ ื ืึธืจ ื“ืึทืจืคึฟืŸ ืฆื• ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• 3.3 ื•ื•.
// ื“ื™ ืงืึธื ื˜ืจืึธืœ ืคึผื™ื ืก ืคึฟืึทืจ ื“ื™ ืœืงื“ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึทืกื™ื™ื ื“ ืฆื• ืงื™ื™ืŸ ื“ื™ื’ื™ื˜ืึทืœ ืึธื“ืขืจ
// ืึทื ืึทืœืึธื’ ืคึผื™ื ืก ... ืึธื‘ืขืจ ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ ื“ื™ ืึทื ืึทืœืึธื’ ืคึผื™ื ืก ื•ื•ื™ ื“ืึธืก ืึทืœืึทื•ื– ืื•ื ื“ื–
//โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”-|
// TFT Breakout - Arduino UNO / Mega2560 / OPEN-SMART UNO ืฉื•ื•ืืจืฆืข
// ื’ื ื“ - ื’ื ื“
// 3ื•ื•3 - 3.3ื•ื•
//CS - A3
// ืจืก - ืึท2
// ื•ื•ืจ - ืึท1
// ืจื“ - ืึท0
// RST - ื‘ืึทืฉื˜ืขื˜ื™ืง
// ื’ืขืคื™ืจื˜ - ื’ื ื“
// DB0 - 8
// DB1 - 9
// DB2 - 10
// DB3 - 11
// DB4 - 4
// DB5 - 13
// DB6 - 6
// DB7 - 7

// ื‘ืึทืฉื˜ื™ืžืขืŸ ืžืขื ื˜ืฉ-ืœื™ื™ื ืขื•ื•ื“ื™ืง ื ืขืžืขืŸ ืฆื• ืขื˜ืœืขื›ืข ืคึผืจืึธืกื˜ 16-ื‘ื™ืกืœ ืงืึธืœื™ืจ ื•ื•ืึทืœื•ืขืก:
#define BLACK 0x0000
# ื“ืขืคื™ื ื™ืจืŸ BLUE 0x001F
# ื“ืขืคื™ื ื™ืจืŸ ืจื•ื™ื˜ 0xF800
# ื“ืขืคื™ื ื™ืจืŸ ื’ืจื™ืŸ 0x07E0
# ื“ืขืคื™ื ื™ืจืŸ CYAN 0x07FF
# ื“ืขืคื™ื ื™ืจืŸ MAGENTA 0xF81F
#define 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;

ืฉื˜ืจื™ืงืœ ื“ืึทื˜ืึทืกื˜ืจื™ื ื’;
// ืฉื˜ืจื™ืงืœ ื ื•ืžืคื™ืœืขืžืึธื ื˜ื” = "1.ื˜ืงืกื˜";
char perv [] = {"2.ื˜ืงืกื˜"};
// ืฉื˜ืจื™ืงืœ *ื ื•ืืคื™ืœืขืžืึธื ื˜ื” = "1.ื˜ืงืกื˜" (ืกื™ื™ื– ืคื•ืŸ (ื ื•ืืคื™ืœืขืžืึธื ื˜ื”));
////////////////////////////////////////// //////////////

ืคึผืึธืกืœ ืกืขื˜ืึทืคึผ (ืคึผืึธืกืœ) {ืคึผืึธืกืœ

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(true);
////////// ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื ืขืžืขืŸ, ืขืงื•ื•ื™ืคึผืžืขื ื˜ ืึทืงืกืขืกืขืจื™ื–, ืึธืจื’ืึทื ื™ื–ืึทืฆื™ืข ื ืึธืžืขืŸ
tft.fillScreen(ืฉื•ื•ืึทืจืฅ);
ื˜ืคื˜.ืกืขื˜ื˜ืขืงืกื˜ืงืึธืœืึธืจ (ื•ื•ื™ื™ึทืก);
ื˜ืคื˜.ืกืขื˜ื˜ืขืงืกื˜ื™ื–ืข (ืงืกื ื•ืžืงืก);
tft.setCursor(8, 0);
tft.println("ื“ืขื•ื•ืขืœืึธืคึผืขืจืก & ื‘ื•ื™ืขืŸ");
tft.setCursor(30, 20);
tft.print (utf8rus ("Constructor V.V."));
tft.setCursor(40, 40);
tft.print (utf8rus("Turner 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 ืจืขืจ ืžื™ื˜ ื“ื™ ื™ื“ืขื ื˜ื™ืคื™ืขืจ ืคื•ืŸ 1 ื˜ืจืึทื ืกืžื™ื˜ืขืจ 0xAABBCCDD11, ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ืึทื˜ืŸ
// ืขืคึฟืขื ืขืŸ ืจืขืจ 2 ืžื™ื˜ ื˜ืจืึทื ืกืžื™ื˜ืขืจ ืฉื™ื™ึทืŸ 2xAABBCCDD0 ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ืึทื˜ืŸ
ืจืึทื“ื™ืึธ.ืกื˜ืึทืจื˜ืœื™ืกื˜ืขื ื™ื ื’ (); // ืงืขืจ ืื•ื™ืฃ ื“ื™ ื•ืคื ืขืžืขืจ, ืึธื ื”ื™ื™ื‘ืŸ ืฆื• ื”ืขืจืŸ ืฆื• ืขืคืขื ืขืŸ ืคึผื™ื™ืคึผืก
// ืจืึทื“ื™ืึธ.ืกื˜ืึธืคึผืœื™ืกื˜ืขื ื™ื ื’();
//////// ืคึผืจืึธื“ื•ืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹ืกืขืจื•ื•ื™ืก ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข
tft.fillScreen(ืฉื•ื•ืึทืจืฅ);
tft.setCursor(8, 0);
ื˜ืคื˜.ืกืขื˜ื˜ืขืงืกื˜ื™ื–ืข (ืงืกื ื•ืžืงืก);
////////ืึธื ื”ื™ื™ื‘ ื™ื ื™ืฉืึทืœื™ื–ื™ื ื’ ื“ื™ ืกื“ ืงืึธืจื˜
Serial.println ("ืขืจืฉื˜ ืกื“ ืงืึธืจื˜");
tft.println ("ืขืจืฉื˜ืขืจ ืกื“ ืงืึธืจื˜");
tft.setCursor(8, 10);
//////// ื™ื™ื˜ื™ืึทืœื™ื–ื™ื ื’ ื“ื™ ืงืึธืจื˜
ืื•ื™ื‘ (!SD.begin(SD_CS_PIN)) {
Serial.println ("ืขืจืฉื˜ ื ื™ื˜ ืึทื ื“ืขืจืฉ!");
tft.fillRect(8, 10, 85, 7, ืจื•ื™ื˜);
ื˜ืคื˜.ืกืขื˜ื˜ืขืงืกื˜ืงืึธืœืึธืจ (ืฉื•ื•ืึทืจืฅ);
tft.println("ืขืจืฉื˜ ื ื™ื˜ ืึทื ื“ืขืจืฉ!");
ืฆื•ืจื™ืงืงื•ืžืขืŸ;
}
ื˜ืคื˜.ืกืขื˜ื˜ืขืงืกื˜ืงืึธืœืึธืจ (ื•ื•ื™ื™ึทืก);
Serial.println ("ื™ื ืกื™ื˜ื™ืึทืœื™ื–ื™ื™ืฉืึทืŸ ื’ืขื˜ืืŸ");
tft.println("ื™ื ื˜ืึทืœื™ืึทื–ื™ื™ืฉืึทืŸ ื’ืขื˜ืืŸ");
ืคืึทืจื”ืึทืœื˜ืŸ (2000);
//////// ืœื™ื™ืขื ืขืŸ ืฆื™ื™ื˜ ืื•ืŸ ื“ืึทื˜ืข ืื•ืŸ ื‘ืึทืฉื˜ื™ืžืขืŸ ื–ื™ื™ ืฆื• ื•ื•ืขืจื™ืึทื‘ืึทืœื–
ื” = rtc.getTime();
ืฆื™ื™ื˜_ืกืขืง_ืคึผืจืขื•ื• = ื˜.ืกืขืง;
ืฆื™ื™ื˜_ื“ื™ื™ึท_ืคึผืจืขื•ื• = ื˜.ื“ืึทื˜ืข;
//////// ืคืึธืจืกืึทื‘ืœื™ ืึทืจื•ื™ืกืคื™ืจืŸ ื“ื™ ื“ืึทื˜ืข ืึทื–ื•ื™ ื ื™ืฉื˜ ืฆื• ื•ื•ืึทืจื˜ืŸ ืคึฟืึทืจ ื“ื™ ื“ืึทื˜ืข ืฆื• ื˜ื•ื™ืฉืŸ ืคึฟืึทืจ ื•ื•ื™ื™ึทื–
tft.setCursor(180, 0); // ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ ืœื•ื™ืคึฟืขืจ ืฉื˜ืขืœืข
tft.fillRect(178, 0, 65, 7, GRAY); // ืงืœื™ืจื™ื ื’ ื“ื™ ืฆื™ื™ื˜ ืจืขื–ื•ืœื˜ืึทื˜ ื’ืขื’ื ื˜
ื˜ืคื˜.ืกืขื˜ื˜ืขืงืกื˜ื™ื–ืข (ืงืกื ื•ืžืงืก);
tft.print(rtc.getDateStr());
////////output ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ืงืึธื ื˜ืจืึธืœ ืึทื‘ื“ื–ืฉืขืงืฅ
ื˜ืคื˜.ืกืขื˜ื˜ืขืงืกื˜ื™ื–ืข (ืงืกื ื•ืžืงืก);
tft.setCursor(60, 25);
tft.println (utf8rus ("ื•ื•ื™ื ื˜ืฉืขืก ืื™ืš"));
///////////////////////////////////////////////////////////////////////////////////////////: att : : ) ื’ืจื™ื‘ืข ืŸ ืงืœื•ื™ ืฃ ืคื™ื™ืœ ,
ื˜ืคื˜.ืกืขื˜ื˜ืขืงืกื˜ื™ื–ืข (ืงืกื ื•ืžืงืก);
tft.setCursor(130, 10); // ืื•ื™ื‘ ืงืœืึธืฅ ื˜ืขืงืข 2.txt ืื™ื– ื‘ืืฉืืคืŸ, ื“ืขืžืึธืœื˜ ืฉืจื™ื™ื‘ืŸ ืฆื• ื“ืขืจ ื˜ืขืงืข ื•ื•ืขื˜ ืคืึธืจื–ืขืฆืŸ
ืื•ื™ื‘ (SD.exists (perv)) {
//ื˜ืคื˜.ืกืขื˜ืงื•ืจืกืึธืจ(0, 90);
tft.println(ืคึผืขืจื•ื•);
Serial.println(ืคึผืขืจื•ื•);
} ืึทื ื“ืขืจืฉ {
myFile = SD.open(ืคึผืขืจื•ื•, FILE_WRITE); // ืื•ื™ื‘ ื˜ืขืงืข 2.txt ื˜ื•ื˜ ื ื™ืฉื˜ ืขืงืกื™ืกื˜ื™ืจืŸ, ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืืฉืืคืŸ
myFile.close();
tft.println(ืคึผืขืจื•ื•);
Serial.println(ืคึผืขืจื•ื•);
}
}

ืคึผืึธืกืœ ืฉืœื™ื™ืฃ (ืคึผืึธืกืœ) {ืคึผืึธืกืœ
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Atืงืข ืง ืขืงื–ื™ืกื˜ืขื ืฅ ,
ืื•ื™ื‘ (Serial.available ()> 0) {
ืื•ื™ื‘ (1 == Serial.read ());
//////// ืื•ืŸ ืื•ื™ื‘ "1" ืื™ื– ืื ื’ืขื ื•ืžืขืŸ, ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜
ื˜ืขืงืข myFile = SD.open(perv);
// ืื•ื™ื‘ ื“ื™ ื˜ืขืงืข ืื™ื– ื‘ื ื™ืžืฆื, ืฉืจื™ื™ึทื‘ืŸ ืฆื• ืขืก:
ืื•ื™ื‘ (ืžื™ื™ืŸ ื˜ืขืงืข) {
while (myFile.available()) {
Serial.write(myFile.read());
}
myFile.close();
}
ืึทื ื“ืขืจืฉ {
Serial.println ("ื˜ืขื•ืช ืขืคืŸ .ื˜ืงืกื˜");
}
}
//////// ืœื™ื™ืขื ืขืŸ ืฆื™ื™ื˜
ื” = rtc.getTime();
ื˜ืคื˜.ืกืขื˜ื˜ืขืงืกื˜ืงืึธืœืึธืจ (ื•ื•ื™ื™ึทืก);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// fรฅ รก รก รก
ืื•ื™ื‘ (time_sec_prev != t.sec) {
tft.setCursor(120, 0); // ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ ืœื•ื™ืคึฟืขืจ ืฉื˜ืขืœืข
tft.fillRect(118, 0, 50, 7, GRAY); // ืงืœื™ืจื™ื ื’ ื“ื™ ืฆื™ื™ื˜ ืจืขื–ื•ืœื˜ืึทื˜ ื’ืขื’ื ื˜
ื˜ืคื˜.ืกืขื˜ื˜ืขืงืกื˜ื™ื–ืข (ืงืกื ื•ืžืงืก);
tft.print(rtc.getTimeStr()); // ืจืขื–ื•ืœื˜ืึทื˜ ื–ื™ื™ื’ืขืจ ืจื™ื“ื™ื ื’ื–
ืฆื™ื™ื˜_ืกืขืง_ืคึผืจืขื•ื• = ื˜.ืกืขืง;
}
////// ืื•ื™ื‘ ื“ื™ ื“ืึทื˜ืข ืื™ื– ืคืืจืขื ื“ืขืจื˜, ืื•ืŸ ืึทืจื•ื™ืกื•ื•ื™ื™ึทื–ืŸ ื“ื™ ื ื™ื™ึทืข ื˜ืึธื’
ืื•ื™ื‘ (ื˜ื™ื™ืž_ื“ื™ื™ึท_ืคึผืจืขื•ื• != ื˜.ื“ืึทื˜ืข) {
tft.setCursor(180, 0); // ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ ืœื•ื™ืคึฟืขืจ ืฉื˜ืขืœืข
tft.fillRect(178, 0, 65, 7, GRAY); // ืงืœืึธืจ ื“ืึทื˜ืข ืึทืจื•ื™ืกื•ื•ื™ื™ึทื–ืŸ ื’ืขื’ื ื˜
ื˜ืคื˜.ืกืขื˜ื˜ืขืงืกื˜ื™ื–ืข (ืงืกื ื•ืžืงืก);
tft.print(rtc.getDateStr()); // ืึทืจื•ื™ืกื•ื•ื™ื™ึทื–ืŸ ื“ืึทื˜ืข ืจื™ื“ื™ื ื’ื–
ืฆื™ื™ื˜_ื“ื™ื™ึท_ืคึผืจืขื•ื• = ื˜.ื“ืึทื˜ืข;
}
////////ืื•ื™ื‘ ืจืึทื“ื™ืึธ ืึธืคึผื˜ืจืึธื’ ืื™ื– ื‘ื ื™ืžืฆื, ื“ืขืžืึธืœื˜
ืื•ื™ื‘ (ืจืึทื“ื™ืึธ.ืึทื•ื•ืึทื™ืœืึทื‘ืœืข (&ืจืขืจ)) {
//////// ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืฆื™ ื“ืขืจ ื‘ืึทืงื•ืžืขืŸ ื‘ืึทืคืขืจ ืื™ื– ืคื•ืœ,
radio.read (& ื“ืึทื˜ืŸ, ื’ืจื™ื™ืก ืคื•ืŸ (ื“ืึทื˜ืŸ));
//////// ืื•ื™ื‘ ื“ื™ ืคืืจืœืื ื’ื˜ ื˜ืจืึทื ืกืžื™ื˜ืขืจ ืึทื“ืจืขืก ืื™ื– ื‘ื ื™ืžืฆื, ื“ืขืžืึธืœื˜
ืื•ื™ื‘ (ืจืขืจ == 1) {
//////// ืžื™ืจ ื•ื•ืืจื˜ืŸ ืคึฟืึทืจ ื“ื™ ืกื™ื ื’ืงืจืึทื ืึทื–ื™ื™ืฉืึทืŸ ืกื™ืงื•ื•ืึทื ืก ืคื•ืŸ ื–ืขืจืึธืก ืฆื• ื‘ืึทืฉื˜ื™ืžืขืŸ
// ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ื“ื™ ื“ืึทื˜ืŸ ื‘ืœืึธืง
ืื•ื™ื‘ (ื“ืึทื˜ืŸ == 0000) {
ืจืง = 0;
} ืึทื ื“ืขืจืฉ {
ืจืง++;
}
//////// ืจืขืงืึธืจื“ื™ื ื’ ื˜ืึธืžื‘ืึทื ืง ื•ื•ืึทืœื•ืขืก ืื•ืŸ ืงืึทืœืงื™ืึทืœื™ื™ื˜ื™ื ื’ ื–ื™ื™ ืื™ืŸ 10 ืื•ืŸ 100 ืฉืขื” ืคื•ืŸ ืึท ืฉืขื”
ืื•ื™ื‘ (ืจืง == 1) {
ืœืขื‘_1 = ื“ืึทื˜ืŸ / 3600.0;
}

ืื•ื™ื‘ (ืจืง == 2) {
ืœืขื‘_2 = ื“ืึทื˜ืŸ / 3600.0;
}

ืื•ื™ื‘ (ืจืง == 3) {
ืœืขื‘_3 = ื“ืึทื˜ืŸ / 3600.0;
}

ืื•ื™ื‘ (ืจืง == 4) {
ืœืขื‘_4 = ื“ืึทื˜ืŸ / 3600.0;
}
}
}
ืจ++;
ืง++; // ื ืึธืจ ืึท ื˜ืึธืžื‘ืึทื ืง
//////// ื“ืึทื˜ืึท ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืžื™ื˜ ืึท ื–ื™ื›ืขืจ ืคึผืขืจื™ืึธื“ื™ืกื™ื˜ื™
ืื•ื™ื‘ (ืจ>= 6500) {
ื˜ืคื˜.ืกืขื˜ื˜ืขืงืกื˜ื™ื–ืข (ืงืกื ื•ืžืงืก);
tft.fillRect(0, 41, 180, 64, GRAYD);
Serial.println("ืœืขื‘ืขื“ืงื™ ืื™ืš");
tft.setCursor(0, 41);
tft.println(ืœืขื‘_1);
Serial.println (ืœืขื‘_1);
tft.println(ืœืขื‘_2);
Serial.println (ืœืขื‘_2);
tft.println(ืœืขื‘_3);
Serial.println (ืœืขื‘_3);
tft.println(ืœืขื‘_4);
Serial.println (ืœืขื‘_4);
Serial.println(ืง);
ืจ = 0;
}
////// ืฉืจื™ื™ื‘ ื“ืึทื˜ืŸ ืฆื• ื“ื™ ืงืœืึธืฅ ืื•ื™ืฃ ืกื“ ื™ืขื“ืขืจ 10 ืžื™ื ื•ื˜.
ืื•ื™ื‘ ((ื˜.ืžื™ืŸ % 10 == 0) && (ื˜.ืกืขืง == 0)) {
ื˜ืคื˜.ืกืขื˜ื˜ืขืงืกื˜ื™ื–ืข (ืงืกื ื•ืžืงืก);
tft.setCursor(200, 10);
ื˜ืคื˜.ืกืขื˜ื˜ืขืงืกื˜ืงืึธืœืึธืจ (ืฉื•ื•ืึทืจืฅ);
//////// ืฉืืคืŸ ืึท ืฉื˜ืจื™ืงืœ ืื™ืŸ .ืงืกื•ื• ืคึฟืึธืจืžืึทื˜
ืฉื˜ืจื™ืงืœ ื“ืึทื˜ืึทืกื˜ืจื™ื ื’ = ืฉื˜ืจื™ืงืœ (rtc.getDateStr()) + ", "+(rtc.getTimeStr()) + ", " + (leb_1) + ", " + (leb_2)
+ ", " + (ืœืขื‘_3) + ", " + (ืœืขื‘_4) + ", ";
//////// ืฉืจื™ื™ื‘ ืฆื• ืึท ื˜ืขืงืข ืื•ืŸ ืจืขื–ื•ืœื˜ืึทื˜ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืคื•ืŸ ื“ื™ ืฉืจื™ื™ื‘ืŸ ืคึผืจืึธืฆืขืก
myFile = SD.open(ืคึผืขืจื•ื•, FILE_WRITE); // ืื•ื™ื‘ ืขืก ืื™ื– ืงื™ื™ืŸ ื˜ืขืงืข ื’ืขื”ื™ื™ืกืŸ "2.ื˜ืงืกื˜", ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืืฉืืคืŸ.
ืื•ื™ื‘ (ืžื™ื™ืŸ ื˜ืขืงืข) {
myFile.println (ื“ืึทื˜ืึทืกื˜ืจื™ื ื’);
myFile.close();
tft.fillRect(198, 8, 42, 10, ื’ืจื™ืŸ);
tft.println ("ืกื“ ื’ื•ื˜");
Serial.println ("ืกื“ ื’ื•ื˜");
ืคืึทืจื”ืึทืœื˜ืŸ (900); // ืคืึทืจื”ืึทืœื˜ืŸ, ืึทื ื“ืขืจืฉ ืจืขืงืึธืจื“ื™ืจื˜ โ€‹โ€‹13 ื™ื™ื“ืขื ื™ืงืึทืœ ืจื™ื“ื™ื ื’ื– ื‘ื™ื– ืึท ืจื’ืข ืื™ื– ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ
} ืึทื ื“ืขืจืฉ {
tft.fillRect(198, 8, 42, 10, ืจื•ื™ื˜);
tft.println ("ืกื“ ืขืจืจ");
Serial.println ("ืกื“ ืขืจืจ");
}
}
}ื›ืึทืจืึทืงื˜ืขืจ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ ืคึผืจืึธื’ืจืึทื/* ืจืขืงืึธื“ืข ืจื•ืกื™ืฉ ืคืึทื ืฅ ืคึฟื•ืŸ UTF-8 ืฆื• Windows-1251 */

ืฉื˜ืจื™ืงืœ utf8rus (ืฉื˜ืจื™ืงืœ ืžืงื•ืจ)
{
int i,k;
ืฉื˜ืจื™ืงืœ ืฆื™ืœ;
ืึทื ืกื™ื™ื ื“ ื˜ืฉืึทืจ ืŸ;
char m[2] = {'0', ''};

ืง = ืžืงื•ืจ.ืœืขื ื’ื˜ื”(); ืื™ืš = 0;

ื‘ืฉืขืช (ืื™ืš < ืง) {
n = ืžืงื•ืจ[ืื™ืš]; i++;

ืื•ื™ื‘ (n>= 0ืงืกืง0) {
ื‘ืึทืฉื˜ื™ืžืขืŸ (n) {
ืคืึทืœ 0xD0: {
n = ืžืงื•ืจ[ืื™ืš]; i++;
ืื•ื™ื‘ (n == 0ืงืก81) {n = 0ืงืกืึท8; ื‘ืจืขื›ืŸ; }
ืื•ื™ื‘ (n >= 0x90 && n <= 0xBF) n = n + 0x30;//0x2F
ื‘ืจืขื›ืŸ;
}
ืคืึทืœ 0xD1: {
n = ืžืงื•ืจ[ืื™ืš]; i++;
ืื•ื™ื‘ (n == 0ืงืก91) {n = 0ืงืกื‘8; ื‘ืจืขื›ืŸ; }
ืื•ื™ื‘ (n>= 0ืงืก80 && n <= 0ืงืก8ืฃ) n = n + 0ืงืก70;//0ืงืก6ืฃ
ื‘ืจืขื›ืŸ;
}
}
}
ืž [0] = ืŸ; ืฆื™ืœ = ืฆื™ืœ + ืฉื˜ืจื™ืงืœ (ืขื);
}
ืฆื•ืจื™ืงืงื•ืžืขืŸ ืฆื™ืœ;
}ื“ื™ ื›ืึทืจืึทืงื˜ืขืจ ื˜ืจืึทื ืกืงืึธื“ื™ื ื’ ืคึผืจืึธื’ืจืึทื ืคึฟืึทืจ ืกื™ืจื™ืœืœื™ืง ืจืขื–ื•ืœื˜ืึทื˜ ื ื™ืฆืŸ ื“ื™ Adafruit_GFX ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื™ื– ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ื˜ืขืงืข ืžื™ื˜ ื“ื™ ื”ื•ื™ืคึผื˜ ืคึผืจืึธื’ืจืึทื. ืื™ืจ ืื•ื™ืš ื“ืึทืจืคึฟืŸ ืฆื• ืคืึทืจื‘ื™ื™ึทื˜ืŸ ื“ื™ glcdfont.c ื˜ืขืงืข ืื™ืŸ Adafruit_GFX ืžื™ื˜ ืึท ืึทื ื“ืขืจืฉ ืฉืจื™ืคึฟื˜. ื“ืึธ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืžื™ื˜ ื“ื™ ืคืืจืœืื ื’ื˜ ืคืึทืจื‘ื™ื™ึทื˜. ืžืขืจ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ืจื•ืกื™ืคื™ืงืึทื˜ื™ืึธืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืœื™ื™ื›ื˜ ื’ืขืคึฟื•ื ืขืŸ ืื•ื™ืฃ ื“ืขืจ ืื™ื ื˜ืขืจื ืขืฅ.
ืฆื• ืกืึทืžืขืจื™ื™ื–, ืื™ืš ื•ื•ืขืœ ื–ืึธื’ืŸ ืึทื– ื“ื™ ืกื™ืกื˜ืขื ืื™ื– ื’ืขืจื™ืจื˜ ืฆื• ืขืงืกืคึผืขืงื˜ื™ื™ืฉืึทื ื–, ืขืก ืื™ื– ื’ืขื•ื•ืืจืŸ ื’ืจื™ื ื’ืขืจ ืฆื• ืžืึธื ื™ื˜ืึธืจ ื“ื™ ืึทืคึผืขืจื™ื™ื˜ื™ื ื’ ืฆื™ื™ื˜ ืคื•ืŸ ื“ื™ ื•ื™ืกืจื™ื›ื˜. ื›ืึธื˜ืฉ ืึทืœืฅ ืื™ื– ืคึฟืึทืจื–ืึทืžืœื˜ ืื•ื™ืฃ ื‘ืจืขืึทื“ื‘ืึธืึทืจื“ืก, ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ื’ืœื™ื™ืš ื˜ืขื ื•ืช ื•ื•ืขื’ืŸ ื“ื™ ืึทืจื‘ืขื˜. ื“ ื™ ืขืจืฉื˜ ืข ืขืœืขืžืขื ื˜ ืŸ ื”ืื‘ ืŸ ื’ืขืืจื‘ืข ื˜ ืื™ื‘ืข ืจ 6 ืžืื ื ื˜ ืื• ืŸ ื”ืื‘ ืŸ ืื™ื‘ืขืจื’ืขืœืขื‘ ื˜ ื“ืข ื ืฐื™ื ื˜ืขืจ . ืœืขืฆื˜ ืคึผืœืึทืŸ ืขืก ืื™ื– ืคืœื™ืกื ื“ื™ืง ืคึฟืึทืจ 9 ืงืึทื ื˜ืจืึธื•ืœื“ ื•ื ื™ืฅ ื–ื™ื ื˜ 5 ืžืขืจ ืื•ืŸ ื“ื™ ืึทืคึผืขืจื™ื™ื˜ื™ื ื’ ืฆื™ื™ื˜ ืื™ื– ืึทืคื™ืฉืึทืœื™ ืจืขื’ื™ืกื˜ืจื™ืจื˜ ื ื™ืฆืŸ ืขืก.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’