เปเบฅเบตเปเบกเบเบปเปเบเบขเบนเปเปเบเปเบงเบฑเบเปเบเบเปเบเบตเป
เบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบชเบฐเบเบงเบเบเบตเปเบชเบธเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบถเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเบตเบ starter เปเบเปเบซเบฑเบเบญเบญเบเปเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบกเบต optocoupler PC817. เปเบเบเบงเบฒเบเบงเบปเบเบเบญเบเบเบฐเบเบฒเบเบกเบตเบชเบฒเบกเบงเบปเบเบเบญเบเบเบฝเบงเบเบฑเบ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบทเบเบเบฑเบเปเบชเปเปเบเบเปเบญเบเบเบฒเบเบชเบฐเบเบดเบ ABS, เบเบฐเบซเบเบฒเบ 100x100 เบกเบก. เบฎเบนเบเบเบฒเบเบเบญเบ optocouplers เปเบกเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบญเบธเบเบฐเบเบญเบเปเบฅเบตเปเบกเบเบปเปเบเบเบตเปเบกเบตเบงเบฒเบง semiconductor, เบเบฐเปเบชเบฎเบปเปเบงเปเบซเบผเบเบญเบเบเบงเบเบกเบฑเบเบเบฝเบเบเปเบเบตเปเบเบฐเปเบเบตเบ PC817 เปเบฅเบฐ counter เบเบฐเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ. เปเบเบทเปเบญเบเบปเบเปเบงเบฑเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบฑเปเบเบเปเบฒเบง
เบชเปเบงเบเบเบตเปเปเบเปเบฎเบฑเบเปเบกเปเบเปเบฎเบฑเบเบขเบนเป เบเปเบฒเบ 1เบเปเบฒเบ 2เบเบฐเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบตเปเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ ARDUINO MEGA 2560. เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเป, เบเบปเบงเปเบเบทเปเบญเบกเบเปเปเบชเบญเบเปเบเบงเปเบกเปเบเปเบเปเปเบเบเบญเบเบเปเบฒเบ. เบซเบเปเบฒเบเปเบเบตเปเบกเบตเบเบงเบฒเบกเบฅเบฐเบญเบฝเบ 240x400, เบกเบตเบซเบเปเบฒเบเปเบชเปเบฒเบเบฑเบเบเปเบฒเบเบเบฒเบเปเบฅเบฐเปเบเบฑเบเปเบเบตเบญเบธเบเบซเบฐเบเบนเบก, เบเบทเบเบเปเบฒเปเบเปเปเบเบฑเบเบญเบธเบเบฐเบเบญเบเบชเบฐเปเบเบเบเปเปเบกเบนเบ. HX8352B. เบเบดเปเบเปเบเบเบงเปเบฒเบเบฑเปเบ, เบเบปเบงเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ ICSP เปเบเบเบฐเบเบฒเบเบซเบเปเบฒเบเปเปเบเปเบเบทเบเปเบเบเบเปเบฒเบเบญเบญเบเปเบฅเบฐเบเปเบญเบเบชเบฝเบ micro SD เบเปเปเปเบเปเบเบทเบเบเปเบฒเปเบเป. เบเบงเบฒเบกเบเบดเบเปเบกเปเบเบงเปเบฒเปเบเบปเปเบฒเบชเบฝเบ SD "native" เบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเปเปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบฑเบเปเบเปเบเบเปเบฝเบงเบเบฑเบเบฅเบปเบเปเบก SPI. เบชเปเบฒเบฅเบฑเบเบเบฑเบเปเบเบฅเบ, เปเบเบทเปเบญเบเบญเปเบฒเบเบเบฑเบเปเบเบเบเปเบฒเบเบซเบฒเบเปเบเปเบเบทเบเบเปเบฒเปเบเป, เปเบเบดเปเบเบฅเบงเบกเบกเบต stabilizer 3,3V เปเบฅเบฐเบเบดเบ buffer เบเบตเปเบกเบตเบชเบฒเบกเบฅเบฑเบเบเบปเบเบเบฐเบฅเบดเบ 74LVS125A. เบเบตเปเปเบกเปเบเบเปเบญเบเบเบตเป rake เปเบเปเบฅเปเบเปเบฒเบเปเบฒเบเบฐเปเบเบปเปเบฒ. A buffer เบชเบฒเบกเบฅเบฑเบ, เปเบเป E01-ML01DP5 เบซเบผเบทเปเบเบทเปเบญเบเบญเปเบฒเบเบเบฑเบเปเบฎเบฑเบเบงเบฝเบ. เปเบเบเปเบฒเปเบซเบฑเบเบเบญเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ, SdFat เปเบเปเปเบซเบฑเบเบเบฒเบเปเบเบทเบญเบเบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเบเปเปเปเบเบปเปเบฒเบเบฑเบเปเบเปเบเบฑเบเบญเบธเบเบฐเบเบญเบเบญเบทเปเบเป. เบเบปเบงเปเบเบเบฅเบฐเบเบฑเบเปเบ TXS0108E เปเบเปเบเบทเบเปเบเบเบเปเบฒเบเบญเบญเบเปเบฅเบฐเปเบเบเบเบตเปเบเปเบงเบ jumpers, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ E01-ML01DP5 เบกเบตเบเบงเบฒเบกเบเบปเบเบเบฒเบเบเปเปเบชเบฑเบเบเบฒเบ 5V - เบกเบฑเบเบเปเปเปเบเปเบเปเบงเบ. เบเบฒเบเบเปเบฒเปเบเป oscilloscope, เบเบฒเบเบชเบนเบเปเบชเบเบชเบฑเบเบเบฒเบเปเบเปเบเบทเบเบเบงเบเบเบปเบเบขเบนเปเปเบเบชเบฒเบ MISO เปเบกเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเปเบเบทเปเบญเบเบญเปเบฒเบเบเบฑเบ. เปเบกเบทเปเบญเบเบงเบเบชเบญเบเบขเปเบฒเบเบฅเบฐเบกเบฑเบเบฅเบฐเบงเบฑเบ, เบกเบฑเบเบเบปเบเบงเปเบฒเบชเบฑเบเบเบฒเบเปเบเบปเปเบฒเบเบญเบเบชเบฑเบเบเบฒเบ OE 4 เบเปเบญเบเบเบญเบ 74LVS125A เปเบเปเบเบทเบ soldered เบเปเบฒเบเปเบเบฑเบเบชเบฒเบเบเบปเปเบงเปเบเปเบฅเบฐเบเปเปเบชเบฒเบกเบฒเบเปเบงเบปเปเบฒเปเบเปเบเปเบฝเบงเบเบฑเบเบฅเบฑเบเบเบตเบชเบฒเบก. เบเบดเบ buffer เปเบเปเบเบทเบเบเปเบฒเปเบเปเปเบเบฑเบเบเบปเบงเปเบเบเบฅเบฐเบเบฑเบ primitive เบเบฒเบ 5V เปเบเบฑเบ 3.3V เปเบเบเปเบเป 3,3 Kฮฉ resistors เปเบเบทเปเบญเบกเบเปเปเปเบเบฑเบเบเบธเบเบเบฑเบเบชเบฒเบเบชเบฑเบเบเบฒเบ. เบเบปเบเปเบงเบฑเปเบเบชเบฒเบ MISO. เบชเบฐเบงเบดเบเบฅเบธเปเบกเบเบปเบเบเบฐเบฅเบดเบเบเบญเบเบกเบฑเบเบญเบฒเบเบเบฐเปเบเบฑเบเบเบฒเบเบเบถเบเบเบนเบเบชเบฑเบเบเบฒเบเบเบฑเบเบฅเบฐเบเบฑเบเบซเบเปเบฒเบเบดเบ. เปเบเบเปเบเปเบเปเบฒเบเบปเบเบงเปเบฒเบชเบฑเบเบเบฒเบเบเบฒเบเปเบเบตเบเปเบเปเบเบฒเบเบเบญเบเบชเบฒเบ MISO เปเบกเปเบ PIN 13, เบกเบฑเบเบเบทเบเบเบฑเบเบญเบญเบเบเบฒเบเบเบฒเบเบเบดเบเบเบฒเบกเปเบฅเบฐsolderedเบฅเบฐเบซเบงเปเบฒเบเบญเบธเบเบฐเบเบญเบ 9LVS74A CS เปเบฅเบทเบญเบเบเบฒเปเบเบปเปเบฒ (125) เปเบฅเบฐเบเบปเบงเบเปเบฒเบเบเบฒเบเบเบฒเบเบขเบธเบ. เปเบเบเบฑเบเบเบธเบเบฑเบ, เบเปเบฒเบเปเปเบกเบตเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, เบเบฑเบเปเบเบต MISO เบเบทเบเบเบดเบเปเบเปเบเบฒเบเปเบฅเบฐเบเปเปเปเบเบเปเบเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบญเบธเบเบฐเบเบญเบเบญเบทเปเบ.เปเบเบเบงเบฒเบเบเบฐเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบปเบงเบฎเบฑเบเปเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบDS3231 เปเบเปเบเบญเบเปเบง I2C bus (TWI) เปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเปเบกเบ.
เปเบเบเบเบฒเบ Arduino IDE// เบชเบณเบเบฑเบ: เบซเปเบชเบฐเปเบธเบ Adafruit_TFTLCD เบเปเบญเบเบกเบตเบชเบฐเปเบเบฒเบฐ
// เบเบฑเปเบเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฑเบ Shield TFT เบซเบผเบท board BREAKout.
// เปเบเบดเปเบเบเปเบฒเปเบซเบฑเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเปเบ Adafruit_TFTLCD.h เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบดเบเบเบฑเปเบ.
// เปเบเบเบเบตเบก Open-Smart เปเบฅเบฐเบเบตเบก Catalex
//[email protected]
// เบฎเปเบฒเบ:
//
// Demo Function: เบชเบฐเปเบเบเบเบฒเบเบดเบ, เบเบปเบงเบญเบฑเบเบชเบญเบ
// Arduino IDE: 1.6.5
// Board: Arduino UNO R3, Arduino Mega2560, Arduino Leonardo
// Board:OPEN-SMART UNO R3 5V / 3.3V, Arduino UNO R3, Arduino Mega2560
// 3.2INCH TFT:
//
//OPEN-SMART UNO R3 5V / 3.3V:
//
#เบฅเบงเบกเบเบฑเบ // เบซเปเบญเบเบชเบฐเบซเบกเบธเบเบฎเบนเบเบเบฒเบเบซเบผเบฑเบ
//# เบฅเบงเบก // เบซเปเบญเบเบชเบฐเปเบธเบเบชเบฐเปเบเบฒเบฐเบเบญเบเบฎเบฒเบเปเบง
#เบฅเบงเบกเบเบฑเบ
MCUFRIEND_kbv tft;
#include "SdFat.h" // เปเบเปเบซเปเบญเบเบชเบฐเบซเบกเบธเบ SdFat
SdFat SD;
เปเบเบฅเป SdFile;
เปเบเบฅเป myFile;
#เบเบณเบเบปเบ SD_CS_PIN SS
#เบฅเบงเบกเบเบฑเบ // เปเบเบทเปเบญเบกเบเปเปเบซเปเบญเบเบชเบฐเบซเบกเบธเบเปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบฅเบปเบเปเบก SPI
#เบฅเบงเบกเบเบฑเบ // เปเบเบทเปเบญเบกเบเปเปเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ RF24
#เบฅเบงเบกเบเบฑเบ // เปเบเบทเปเบญเบกเบเปเปเบซเปเบญเบเบชเบฐเบซเบกเบธเบเปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ nRF24L24+
เบงเบดเบเบฐเบเบธ RF24(47, 49);
#เบฅเบงเบกเบเบฑเบ
DS3231 rtc(27, 25);
เปเบงเบฅเบฒ t;
uint16_t r = 6000;
uint32_t k = 0;
เบเปเปโเบกเบนเบโเบเบฒเบงโเบเบตเปโเบเปเปโเปเบเปโเบฅเบปเบโเบเบฒเบกโเบเบฒเบโเบเปเบฝเบโเปเบเบโ;
float leb_1;
float leb_2;
float leb_3;
float leb_4;
uint8_t เบเปเป;
int rc = 0;
uint8_t time_sec_prev;
uint8_t time_day_prev;
//************************************************** ****************/ /
// เบเปเบฒเบเปเบฒเบเปเบเป OPEN-SMART TFT breakout board //
// เปเบเบฐเบเปเบฒเปเบซเปเบเปเบฒเบเปเบเบตเปเบกเบงเบปเบเบเบญเบเบเบฒเบเปเบเบเบฅเบฐเบเบฑเบ 5V-3.3V.
// เปเบเปเบเบญเบเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเป OPEN-SMART UNO Black เบเบตเปเบกเบตเบชเบฐเบงเบดเบเปเบ 5V / 3.3V,
// เบเปเบฒเบเบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบเบเปเบฝเบเปเบเบฑเบ 3.3V.
// pins เบเบงเบเบเบธเบกเบชเปเบฒเบฅเบฑเบ LCD เบชเบฒเบกเบฒเบเบเบทเบเบกเบญเบเบซเบกเบฒเบเปเบซเปเบเบดเบเบดเบเบญเบเบซเบผเบท
// pins analog ... เปเบเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเป pins analog เบเปเบญเบเบงเปเบฒเบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบงเบเปเบฎเบปเบฒ
//โโโโโโโโโโโโโโ-|
// TFT Breakout - Arduino UNO / Mega2560 / OPEN-SMART UNO Black
// 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-bit เบเบปเปเบงเปเบ:
#เบเบณเบเบปเบ BLACK 0x0000
#define BLUE 0x001F
#เบเบณเบเบปเบ RED 0xF800
#define เบชเบตเบเบฝเบง 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#เบเบณเบเบปเบ YELLOW 0xFFE0
#เบเปเบฒเบเบปเบเบชเบตเบเบฒเบง 0xFFFF
#define GREY 0x8C51
#เบเบณเบเบปเบ GRAYD 0x39E7
// Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
// เบเปเบฒเปเบเปเปเบชเป, เบชเบฒเบเบเบงเบเบเบธเบกเปเบฅเบฐเบเปเปเบกเบนเบเบเบฑเบเบซเบกเบปเบเบเบทเบเปเบเปเปเบ, เปเบฅเบฐ
// เบเบฒเบเบเบฐเบเบฒเบเบเบตเปเบเปเบฒเบเบเบงเปเบฒเบชเบฒเบกเบฒเบเปเบฅเบทเบญเบเปเบเป:
// Adafruit_TFTLCD tft;
uint16_t g_identifier;
String dataString;
//String numfileMonth = "1.txt" ;
char perv [] = { "2.txt"} ;
//String *numfileMonth="1.txt" (sizeof (numfileMonth));
///////////////////////////////////////////////// //////////////////
เบเบฒเบเบเบดเบเบเบฑเปเบ void (void) {
rtc.begin();
// เปเบเบทเปเบญเบเปเบฒเบเบปเบเปเบงเบฅเบฒ, uncomment เปเบชเบฑเปเบเบเบตเปเบเปเบฒเปเบเบฑเบ
// rtc.setDOW(6); // เบกเบทเปเบเบญเบเบญเบฒเบเบดเบ
// rtc.setTime(22, 04, 0); // เปเบงเบฅเบฒ, เปเบเบฎเบนเบเปเบเบ 24 เบเบปเปเบงเปเบกเบ.
// rtc.setDate(4, 5, 2019); // เบงเบฑเบเบเบต 29 เบเบธเบฅเบฒ 2018
Serial.begin (2000000);
//////// เบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเปเปเบฒเบเป
tft.begin(0x65);
tft.reset();
tft.setRotation(0);
tft.cp437(เบเบดเบ);
/////////////////// เบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบเบทเป, เบญเบธเบเบฐเบเบญเบเปเบชเบตเบก, เบเบทเปเบญเบปเบเบเบฒเบ
tft.fillScreen(เบชเบตเบเบณ);
tft.setTextColor(WHITE);
tft.setTextSize(2);
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);
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 เบเปเปเบเบตเปเบกเบตเบเบปเบงเบฅเบฐเบเบธ 1 เปเบเบทเปเบญเบเบชเบปเปเบเบชเบฑเบเบเบฒเบ 0xAABBCCDD11, เปเบเบทเปเบญเบฎเบฑเบเบเปเปเบกเบนเบ
// เปเบเบตเบเบเปเป 2 เบเปเบงเบเบเบปเบงเบชเบปเปเบ ID 2xAABBCCDD0 เปเบเบทเปเบญเบฎเบฑเบเบเปเปเบกเบนเบ
radio.startListening(); // เปเบเบตเบเปเบเบทเปเบญเบเบฎเบฑเบ, เปเบฅเบตเปเบกเบเบฑเบเบเปเปเปเบเบตเบ
// radio.stopListening();
//////// เบเบปเบเบญเบญเบเบกเบฒเบเบญเบเบเปเปเบกเบนเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ
tft.fillScreen(เบชเบตเบเบณ);
tft.setCursor(8, 0);
tft.setTextSize(1);
//////// เปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบ SD card
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;
//////// Forcibly output the date so as not to wait for the date to change for display
tft.setCursor(180, 0); // เบเปเบฒเบเบปเบเบเปเบฒเปเบซเบเปเบเบเบปเบงเบเบฐเบเบดเบ
tft.fillRect(178, 0, 65, 7, เบชเบตเปเบเบปเบฒ); // clearing the time output area
tft.setTextSize(1);
tft.print(rtc.getDateStr());
////////Output เบเบทเปเบเบญเบเบงเบฑเบเบเบธเบเบงเบเบเบธเบก
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);
} else {
myFile = SD.open(perv, FILE_WRITE); // เบเปเบฒเปเบเบฅเป 2.txt เบเปเปเบกเบต, เบกเบฑเบเบเบฐเบเบทเบเบชเปเบฒเบเบเบทเปเบ
myFile.close();
tft.println(perv);
Serial.println(perv);
}
}
loop loop (เปเบกเบเบฐ) {
//////// เบเบฒเบเบเบงเบเบชเบญเบเบเบฒเบเบกเบตเบขเบนเปเบเบญเบเบเปเบฒเบฎเปเบญเบเบเปเบเบตเปเบเบฐเบญเบญเบเบเบฑเบเบเบถเบเปเบเบซเบฒ COM port monitor
เบเปเบฒ (Serial.available() > 0) {
เบเปเบฒ (1 == Serial.read());
//////// เปเบฅเบฐเบเปเบฒ "1" เบเบทเบเบเบญเบกเบฎเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบปเบเปเบเปเบฎเบฑเบ
เปเบเบฅเป myFile = SD.open(perv);
// เบเปเบฒเปเบเบฅเปเบกเบตเปเบซเปเบเบฝเบเปเบชเปเบกเบฑเบ:
เบเปเบฒ (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, เบชเบตเปเบเบปเบฒ); // clearing the time output area
tft.setTextSize(1);
tft.print(rtc.getTimeStr()); // เบเบปเบเบเบฒเบเบญเปเบฒเบเปเบกเบ
time_sec_prev = t.sec;
}
//////// เบเปเบฒเบงเบฑเบเบเบตเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบชเบฐเปเบเบเบงเบฑเบเบเบตเปเบซเบกเป
เบเปเบฒ (time_day_prev != t.date) {
tft.setCursor(180, 0); // เบเปเบฒเบเบปเบเบเปเบฒเปเบซเบเปเบเบเบปเบงเบเบฐเบเบดเบ
tft.fillRect(178, 0, 65, 7, เบชเบตเปเบเบปเบฒ); // เบเบทเปเบเบเบตเปเบชเบฐเปเบเบเบงเบฑเบเบเบตเบเบตเปเบเบฑเบเปเบเบ
tft.setTextSize(1);
tft.print(rtc.getDateStr()); // เบชเบฐเปเบเบเบเบฒเบเบญเปเบฒเบเบงเบฑเบเบเบต
time_day_prev = t.date;
}
//////// เบเปเบฒเบซเบฒเบเบงเปเบฒเบเบฒเบเบฎเบฑเบเบงเบดเบเบฐเบเบธเบชเบฒเบกเบฒเบเปเบเปเปเบเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ
เบเปเบฒ (radio.available(&pipe)) {
//////// เบเบงเบเปเบเบดเปเบเบงเปเบฒเบฎเบฑเบ buffer เปเบเบฑเบกเบซเบผเบทเบเปเป,
radio.read(&data, sizeof(data));
//////// เบเปเบฒเบเบตเปเบขเบนเปเปเบเบทเปเบญเบเบชเบปเปเบเบเบตเปเบเปเบญเบเบเบฒเบเปเบกเปเบเบกเบตเบขเบนเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ
เบเปเบฒ (เบเปเป == 1) {
//////// เบฅเปเบเปเบฒเบเบฒเบ synchronizing เบฅเปเบฒเบเบฑเบเบเบญเบเบชเบนเบเปเบเบทเปเบญเบเปเบฒเบเบปเบ
// เบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฑเบเบเปเปเบกเบนเบ
เบเปเบฒ (เบเปเปเบกเบนเบ == 0000) {
rc = 0;
} else {
rc++;
}
//////// เบเบฒเบโเบเบฑเบโเบเบถเบโเบเบฒเบโเบเบฑเบโเบเปเบฒโเปเบฅเบฐโเบเบฒเบโเบเบดเบโเปเบฅเปโเบเบงเบโเปเบเบปเบฒโเปเบ 10th เปเบฅเบฐ 100ths เบเบญเบโเบเบปเปเบงโเปเบกเบ
เบเปเบฒ (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++; // เบเบฝเบเปเบเป counter
//////// เบเบฒเบเบเบฑเบเบเบธเบเบเปเปเบกเบนเบเบเบตเปเบกเบตเปเบฅเบเบฐเปเบงเบฅเบฒเบเบตเปเปเบเปเบเบญเบ
เบเปเบฒ (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;
}
//////// เบเบฝเบเบเปเปเบกเบนเบเปเบชเปเบเบฑเบเบเบถเบเปเบ SD เบเบธเบเป 10 เบเบฒเบเบต.
เบเปเบฒ ((t.min %10 == 0) && ( t.sec == 0)) {
tft.setTextSize(1);
tft.setCursor(200, 10);
tft.setTextColor(เบชเบตเบเบณ);
///////// เบเบฒเบเบชเปเบฒเบเบชเบฐเบเบฃเบดเบเปเบเบฎเบนเบเปเบเบ .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, เบชเบตเบเบฝเบง);
tft.println("SD OK");
Serial.println("SD OK");
เบเบฑเบเบเปเบฒ(900); // เบเบฒเบเบเบฑเบเบเปเบฒ, เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบเบฑเบเบเบถเบ 13 เบเบฒเบเบญเปเบฒเบเบเบฝเบงเบเบฑเบเบเบปเบเบเปเบงเบฒเบงเบดเบเบฒเบเบตเปเบเปเบเปเบฒเบเปเบ
} else {
tft.fillRect(198, 8, 42, 10, RED);
tft.println("SD ERR");
Serial.println("SD ERR");
}
}
}เปเบเบเบเบฒเบเบเปเบฝเบเบเบปเบงเบญเบฑเบเบชเบญเบ/* Recode เบเบปเบงเบญเบฑเบเบชเบญเบเบเบฒเบชเบฒเบฅเบฑเบเปเบเบเบเบฒเบ UTF-8 เปเบเบฑเบ Windows-1251 */
String utf8rus(เปเบซเบผเปเบเบชเบฐเบเบฃเบดเบ)
{
int i,k;
String เปเบเบปเปเบฒเบซเบกเบฒเบ;
unsigned char 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);
}
เปเบเบปเปเบฒเปเบฒเบเบเบฑเบเบเบทเบ;
เปเบเบฃเปเบเบกเบเบฒเบเบเปเบฝเบเบเบปเบงเบญเบฑเบเบชเบญเบเบชเบณเบฅเบฑเบเบเบปเบเบเบฐเบฅเบดเบ Cyrillic เปเบเบเปเบเปเบซเปเบญเบเบชเบฐเปเบธเบ Adafruit_GFX เปเบกเปเบเบเบทเบเบเบฑเบเปเบชเปเบขเบนเปเปเบเปเบเบเปเบเบตเบเบฝเบงเบเบฑเบเบเบฑเบเปเบเบฃเปเบเบฃเบกเบซเบผเบฑเบ. เบเบญเบเบเบฑเปเบเบเปเบฒเบเบเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเปเบฝเบเปเบเบฅเป glcdfont.c เปเบ Adafruit_GFX เบเปเบงเบเบเบปเบงเบญเบฑเบเบชเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ.
เปเบเบทเปเบญเบชเบฐเบซเบผเบธเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเปเบงเบปเปเบฒเบงเปเบฒเบฅเบฐเบเบปเบเบกเบตเบเบตเบงเบดเบเบขเบนเปเบเบฒเบกเบเบงเบฒเบกเบเบฒเบเบซเบงเบฑเบ, เบกเบฑเบเปเบเปเบเบฒเบเปเบเบฑเบเบเปเบฒเบเบเปเปเบเบฒเบเบเบดเบเบเบฒเบกเปเบงเบฅเบฒเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบญเบเบญเบธเบเบฐเบเบญเบ. เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบเปเบเบทเบเบเบฐเบเบญเบเบขเบนเปเปเบ breadboards, เบเปเปเบกเบตเบเบฒเบเบฎเปเบญเบเบเบธเบเบเบฑเบเบเบตเบเบฑเบเปเบเบเปเบฝเบงเบเบฑเบเบงเบฝเบเบเบฒเบ. เบญเบปเบเบเบฐเบเบญเบเบเปเบฒเบญเบดเบเปเบเปเปเบฎเบฑเบเบงเบฝเบเบซเบผเบฒเบเบเบงเปเบฒเบซเบปเบเปเบเบทเบญเบเปเบฅเบฐเปเบเปเบฅเบญเบเบเบตเบงเบดเบเบเบฒเบเบฅเบฐเบเบนเบซเบเบฒเบง.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com