ืึธื ืืืื ืืืืฃ ืืขื ืคึผืืึทืฅ
ืื ืืขืจืกื ืืึทืงืืืขื ืึธืคึผืฆืืข ืคึฟืึทืจ ืจืืืจืืืืื ื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ืืืขื ืื ืื ืกืืึทืจืืขืจ ืืื ืืขืืืขื ืื ืึธืคึผืฆืืข ืืื ืื PC817 ืึธืคึผืืึธืงืึธืืคึผืืขืจ. ืงืจืืึทื ืืืึทืืจืึทืืขืื ืืึธืจืื ืึทื ืืืึทืืื ืืจืื ืืืืขื ืืงืึทื ืกืขืจืงืึทืฅ, ืึทืืฅ ืืื ืืขืฉืืขืื ืืื ืึทืืก ืคึผืืึทืกืืืง ืืึธืงืกืขืก, ืืจืืืก 100ืงืก100 ืื. ืคืึธืืึธ ืคืื ืึธืคึผืืึธืงืึธืืคึผืขืจื ืืืขื ืงืึธื ื ืขืงืืขื ืฆื ืกืืึทืจืืื ื ืืขืืืืกืขืก ืืื ืกืขืืืงืึทื ืืึทืงืืขืจ ืืืึทืืืื, ืืืืขืจ ืืืงืึทืืืฉ ืงืจืึทื ื ืืื ืืขื ืื ืฆื ืขืคึฟืขื ืขื ืื PC817 ืืื ืื ืืึธืืืึทื ืง ืืืขื ืฆืื ืื ืคืึทืืฉ. ืฆื ืืืกืฉืืืกื ืึทืืึท ืึท ืกืืืืึทืฆืืข
ืื ืจืืกืืืืื ื ืืืื ืืื ืืขืืืื ืืืืฃ ืืืึทื 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 ืคึฟืึทืจ ืกืขืืึทืคึผ.
// ืืืจื ืขืคึฟื-ืกืืึทืจื ืืึทื ืฉืึทืคึฟื ืืื ืงืึทืืึทืืขืงืก ืืึทื ืฉืึทืคึฟื
//[ืืืืขืื ืืืฉืืฆื]
// ืงืจืึธื:
//
// ืืขืืึธ ืคึฟืื ืงืฆืืข: ืืืืึทื ืืจืึทืคืืงืก, ืืืชืืืช
// Arduino IDE: 1.6.5
// ืืจืขื: Arduino UNO R3, Arduino Mega2560, Arduino Leonardo
// ืืจืขื: ืขืคึฟื-ืกืืึทืจื UNO R3 5V / 3.3V, Arduino UNO R3, Arduino Mega2560
//3.2 ืืื ืืฉ ืืคื:
//
// ืขืคึฟื-ืกืืึทืจื ืื ืึธ ืจ3 5 ืื / 3.3 ืื:
//
# ืึทืจืืึทื ื ืขืืขื // ืงืึธืจ ืืจืึทืคืืงืก ืืืืืืึธืืขืง
//#ืึทืจืืึทื ื ืขืืขื // ืืึทืื ืืืึทืจื-ืกืคึผืขืฆืืคืืฉ ืืืืืืึธืืขืง
#ืึทืจืืึทื ื ืขืืขื
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 ืืื ื ื ืื ื ืืื ื ืืืืขืจืืขืืขื ื ืืข ื ืฐืื ืืขืจ .
ืืงืืจ: www.habr.com