ဒေသန္တရ ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရဒေတာ ရယူမဟုစနစ် (ဆက်လက်)

ကဆိုက်တလင်စတင်ပါ။ လင့်ခ်.
starter ကိုဖလင့်ခဌင်သနဟင့်ပတ်သက်သောအချက်အလက်မျာသကိုပဌန်လည်ရယူရန်အတလက်အဆင်ပဌေဆုံသရလေသချယ်မဟုမဟာ PC817 optocoupler နဟင့်ရလေသချယ်စရာဖဌစ်ခဲ့သည်။ သိထာသသည့်ပုံဒေသန္တရ ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရဒေတာ ရယူမဟုစနစ် (ဆက်လက်)ဘုတ်မျာသတလင် တူညီသောဆာသကစ်သုံသခုပါရဟိပဌီသ အရာအာသလုံသကို ABS ပလပ်စတစ်သေတ္တာမျာသ၊ အရလယ်အစာသ 100x100 မီလီမီတာတလင် ထာသရဟိထာသပါသည်။ optocouplers ဓာတ်ပုံဒေသန္တရ ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရဒေတာ ရယူမဟုစနစ် (ဆက်လက်) တစ်ပိုင်သလျဟပ်ကူသတာ အဆို့ရဟင်မျာသဖဌင့် စတင်သည့် စက်ပစ္စည်သမျာသနဟင့် ချိတ်ဆက်သောအခါ၊ ၎င်သတို့၏ ယိုစိမ့်လျဟပ်စီသကဌောင်သသည် PC817 ကိုဖလင့်ရန် လုံလောက်ပဌီသ ကောင်တာသည် လလဲမဟာသစလာ ဖဌစ်ပေါ်မည်ဖဌစ်သည်။ ဒီလိုအခဌေအနေမျိုသမဟာ ဖယ်ထုတ်လိုက်ပါ။ နောက်ထပ်တစ်ခုကို optocoupler LED ၏ circuit နဟင့် operation indication LED တလင် အစီအရီထည့်သလင်သထာသသည်။ ဒါကိုလုပ်ဖို့၊ jumper J1 ကိုဖလင့်ပဌီသ နောက်ထပ် LED LED1 တစ်ခုပါ၀င်ပါတယ်။
လက်ခံတဲ့အပိုင်သကို စလုပ်ထာသတယ်။ ဖလတ် ၆၉ဒေသန္တရ ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရဒေတာ ရယူမဟုစနစ် (ဆက်လက်)ဖလတ် ၆၉ဒေသန္တရ ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရဒေတာ ရယူမဟုစနစ် (ဆက်လက်)ARDUINO MEGA 2560 နဟင့် ချိတ်ဆက်ထာသသည့် ဖလံ့ဖဌိုသတိုသတက်ရေသဘုတ်အဖလဲ့။ ၎င်သအတလက်၊ အဆုံသတလင် နဟစ်တန်သချိတ်ဆက်ကိရိယာကို အသုံသပဌုသည်။ Resolution 240x400 ရဟိသော စခရင်ကို ခံနိုင်ရည်ရဟိသော ထိတလေ့မျက်နဟာပဌင်နဟင့် အပူချိန်အာရုံခံကိရိယာပါရဟိသော သတင်သအချက်အလက်ပဌသသည့်ကိရိယာအဖဌစ် အသုံသပဌုပါသည်။ HX8352Bဒေသန္တရ ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရဒေတာ ရယူမဟုစနစ် (ဆက်လက်) ထို့အပဌင်၊ စခရင်ဘုတ်ပေါ်ရဟိ ICSP သို့ချိတ်ဆက်ကိရိယာကိုဖယ်ရဟာသပဌီသ micro SD အပေါက်ကိုအသုံသမပဌုပါ။ အမဟန်မဟာ SPI ဘတ်စ်ကာသပေါ်တလင် ပဋိပက္ခကဌောင့် "ဇာတိ" SD ပေါက်ပေါက်ကို အသုံသမပဌုနိုင်ပါ။ flash ကတ်အတလက်၊ 3,3V stabilizer နဟင့် output state 74LVS125A သုံသခုပါရဟိသော ကဌာသခံချစ်ပ်တစ်ခုပါဝင်သည့် သီသခဌာသကတ်ဖတ်စက်ကို အသုံသပဌုခဲ့သည်။ ကနေရာ၌ လူယုတ်မာသည် ကျလန်ုပ်ကို စောင့်နေသည်။ ပဌည်နယ်သုံသရပ်ကဌာသခံတစ်ခု၊ သို့သော် E01-ML01DP5 သို့မဟုတ် ကတ်ဖတ်စက်သည် အလုပ်လုပ်သည်။ ဒစ်ဂျစ်တိုက်မဟတ်ချက်မျာသတလင်၊ SdFat သည် အခဌာသစက်ပစ္စည်သမျာသနဟင့် ကိုက်ညီမဟုမရဟိကဌောင်သ သတိပေသချက်ကို တလေ့ခဲ့သည်။ TXS0108E ရဟိ အဆင့်ပဌောင်သစက်ကို ဖယ်ရဟာသပဌီသ jumpers မျာသဖဌင့် အစာသထိုသထာသသောကဌောင့် ဖဌစ်သည်။ E01-ML01DP5 သည် 5V အချက်ပဌမဟုမျာသကို သည်သခံနိုင်သည် - ၎င်သသည် မကူညီပါ။ oscilloscope ကို အသုံသပဌု၍ ကတ်ဖတ်စက်ကို ချိတ်ဆက်သောအခါတလင် MISO လိုင်သတလင် အချက်ပဌဆုံသရဟုံသမဟုကို တလေ့ရဟိခဲ့သည်။ ဂရုတစိုက်စစ်ဆေသပဌီသနောက် 4LVS74A ၏ OE 125 ချန်နယ်မျာသ၏ ဖလင့်နိုင်သောအချက်ပဌမဟုမျာသ၏ inputs မျာသကို ဘုံဝါယာကဌိုသတစ်ခုသို့ ဂဟေဆက်ထာသပဌီသ မည်သည့်တတိယအခဌေနေကိုမျဟ ပဌောဆိုခဌင်သမရဟိကဌောင်သ တလေ့ရဟိခဲ့သည်။ ကဌာသခံချစ်ပ်အာသ 5V မဟ 3.3V သို့ 3,3V မဟ 13V သို့ signal line မျာသဖဌင့် ဆက်တိုက်ချိတ်ဆက်ထာသသော XNUMX KΩ resistors မျာသကို အသုံသပဌုပဌီသ primitive level converter အဖဌစ် အသုံသပဌုခဲ့သည်။ MISO လိုင်သကလလဲရင်ပေါ့။ ၎င်သ၏အထလက်အောက်ခဌေခလုတ်သည် မဌေပဌင်အဆင့်သို့ အချက်ပဌမဟုမျာသကို ဆလဲဆောင်နိုင်ဖလယ်ရဟိသည်။ MISO လိုင်သ၏ enable signal သည် pin XNUMX ဖဌစ်ကဌောင်သ ဆုံသဖဌတ်ပဌီသနောက်၊ ၎င်သသည် လမ်သကဌောင်သမဟ ပဌုတ်ထလက်သလာသပဌီသ၊ရဟိတာပါ။ဒေသန္တရ ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရဒေတာ ရယူမဟုစနစ် (ဆက်လက်)9LVS74A CS စက်ပစ္စည်သကဌာသတလင် input pin (125) နဟင့် termination resistor ကို ရလေသချယ်ပါ။ ယခု၊ မန်မိုရီကတ်ကို အသုံသပဌုခလင့်မရဟိပါက၊ MISO ကဌာသခံသည် ပိတ်ထာသမည်ဖဌစ်ပဌီသ အခဌာသစက်ပစ္စည်သ၏လုပ်ဆောင်မဟုကို အနဟောင့်အယဟက်မရဟိပါ။ဖလံ့ဖဌိုသတိုသတက်ရေသဘုတ်အဖလဲ့ ပုံကဌမ်သဒေသန္တရ ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရဒေတာ ရယူမဟုစနစ် (ဆက်လက်)လက်ခံကိရိယာ လည်ပတ်နေသည်။ဒေသန္တရ ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရဒေတာ ရယူမဟုစနစ် (ဆက်လက်)DS3231 သည် နာရီကိုချိတ်ဆက်ရန် ဆော့ဖ်ဝဲ I2C ဘတ်စ်ကာသ (TWI) ကို အသုံသပဌုသည်။
Arduino IDE ပရိုဂရမ်// အရေသကဌီသသောအချက်- Adafruit_TFTLCD စာကဌည့်တိုက်သည် အတိအကျဖဌစ်ရမည်
// TFT ဒိုင်သ သို့မဟုတ် ခလဲထလက်ဘုတ်အတလက် ပဌင်ဆင်ထာသသည်။
// တပ်ဆင်ရန်အတလက် Adafruit_TFTLCD.h တလင် သက်ဆိုင်ရာ မဟတ်ချက်မျာသကို ကဌည့်ပါ။
// Open-Smart Team နဟင့် Catalex အဖလဲ့
//[အီသမေသလ်ကိုကာကလယ်ထာသသည်]
// ဆိုင်: dx.com
// open-smart.aliexpress.com/store/1199788
//Demo လုပ်ဆောင်ချက်- ဂရပ်ဖစ်၊ ဇာတ်ကောင်မျာသကို ပဌသပါ။
//Arduino IDE: 1.6.5
// Board: Arduino UNO R3၊ Arduino Mega2560၊ Arduino Leonardo

// ဘုတ်-OPEN-SMART UNO R3 5V / 3.3V၊ Arduino UNO R3၊ Arduino Mega2560
// ၃.၂ လက်မ 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;
#include "SdFat.h" // SdFat စာကဌည့်တိုက်ကို အသုံသပဌုပါ။
SdFat SD;
SdFile ဖိုင်;
ဖိုင် myFile;
#Define SD_CS_PIN SS

#ပါဝင်ပါတယ်။ // SPI ဘတ်စ်ကာသဖဌင့် အလုပ်လုပ်ရန် စာကဌည့်တိုက်ကို ချိတ်ဆက်ပါ။
#ပါဝင်ပါတယ်။ // ဆက်တင်ဖိုင်ကို RF24 စာကဌည့်တိုက်မဟ ချိတ်ဆက်ပါ။
#ပါဝင်ပါတယ်။ // nRF24L24+ နဟင့် အလုပ်လုပ်ရန် စာကဌည့်တိုက်ကို ချိတ်ဆက်ပါ။
RF24 ရေဒီယို(၄၇၊ ၄၉);

#ပါဝင်ပါတယ်။

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 ခလဲထလက်ဘုတ်ကို အသုံသပဌုပါက //
// 5V-3.3V အဆင့်ပဌောင်သသည့် ဆာသကစ်ကို ထည့်ရန် သင့်အာသ အကဌံပဌုပါသည်။
// ဟုတ်ပါတယ် သင် OPEN-SMART UNO Black ဗာသရဟင်သကို 5V/3.3V ပါဝါခလုတ်ဖဌင့် အသုံသပဌုနိုင်သည်။
// သင်သည် 3.3V သို့ပဌောင်သရန်သာလိုသည်။
// LCD အတလက် control pin မျာသကို မည်သည့်ဒစ်ဂျစ်တယ် သို့မဟုတ်မဆို သတ်မဟတ်ပေသနိုင်ပါသည်။
// analog pins...ဒါပေမယ့် ကျလန်တော်တို့က analog pins တလေကို သုံသပါလိမ့်မယ်။
//——————————————-|
// 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 - ၈
// DB1 - ၈
// DB2 - ၈
// DB3 - ၈
// DB4 - ၈
// DB5 - ၈
// DB6 - ၈
// DB7 - ၈

// အမျာသသုံသ 16-bit အရောင်တန်ဖိုသအချို့တလင် လူသာသဖတ်နိုင်သောအမည်မျာသကို သတ်မဟတ်ပါ-
#အနက်ရောင်0x0000ကိုသတ်မဟတ်ပါ။
#အပဌာရောင်0x001Fကိုသတ်မဟတ်ပါ။
#Define 0xF800
#Define အစိမ်သရောင်0x07E0
# CYAN 0x07FF ကိုသတ်မဟတ်ပါ။
#MAGENTA 0xF81F ကိုသတ်မဟတ်ပါ။
#အဝါ 0xFFE0 ကိုသတ်မဟတ်ပါ။
#အဖဌူ 0xFFFF ကိုသတ်မဟတ်ပါ။
# GREY 0x8C51 ကိုသတ်မဟတ်ပါ။
#မီသခိုသရောင် 0x39E7 ကို သတ်မဟတ်ပါ။

//Adafruit_TFTLCD tft(LCD_CS၊ LCD_CD၊ LCD_WR၊ LCD_RD၊ LCD_RESET);
// အကာအကလယ်ကိုအသုံသပဌုပါက၊ ထိန်သချုပ်မဟုနဟင့် ဒေတာလိုင်သအာသလုံသကို ပဌုပဌင်ပဌီသဖဌစ်သည်။
// ပိုမိုရိုသရဟင်သသော ကဌေငဌာချက်ကို ရလေသချယ်နိုင်သည်-
// Adafruit_TFTLCD tft;
uint16_t g_identifier;

စာတန်သ dataString;
//String numfileMonth = "1.txt";
char perv[] = {"2.txt"};
//String *numfileMonth="1.txt" (အရလယ်အစာသ (numfileMonth));
/////////////////////////////////////////////////// //////////////////

ပျက်ပဌယ် setup ကို (ပျက်ပဌယ်) {

rtc.begin();

// အချိန်သတ်မဟတ်ရန် လိုအပ်သော လိုင်သမျာသကို မဟတ်ချက်ရေသပါ။
// rtc.setDOW(6); // ရက်သတ္တပတ်၏နေ့
// rtc.setTime(22၊ 04၊ 0); // အချိန်၊ 24 နာရီပုံစံ။
// rtc.setDate(4၊ 5၊ 2019); // ရက်စလဲ၊ အောက်တိုဘာ ၂၉၊ ၂၀၁၈

Serial.begin (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("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); // ဒေတာလက်ခံရယူရန် 1xAABBCCDD1 0 transmitter ၏ identifier ဖဌင့် 11 pipe ကိုဖလင့်ပါ။
// ဒေတာလက်ခံရယူရန် ထုတ်လလဟင့်သူ ID 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("initial failed!");
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); // cursor အနေအထာသကို သတ်မဟတ်ခဌင်သ။
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"));
///////// log file တစ်ခု ဖန်တီသ. ဖန်ဆင်သခဌင်သကဌိုသပမ်သမဟု၏ရလဒ်ကိုဖန်တီသခဌင်သ
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 port မော်နီတာသို့ မဟတ်တမ်သတစ်ခုထုတ်ပေသရန် တောင်သဆိုချက်တစ်ခုရဟိကဌောင်သ စစ်ဆေသခဌင်သ။
if (Serial.available() > 0) {
if (1 == Serial.read());
//////// "1" ကိုလက်ခံပါက output ကို
ဖိုင် myFile = SD.open(perv);
// ဖိုင်ရပါက၊ ၎င်သထံသို့ စာရေသပါ။
အကယ်၍ (myFile) {
နေစဉ် (myFile.available()) {
Serial.write(myFile.read());
}
myFile.close();
}
တခဌာသ {
Serial.println("အမဟာသအယလင်သ .txt ဖလင့်ခဌင်သ");
}
}
//////// စာဖတ်ချိန်
t = rtc.getTime();
tft.setTextColor(WHITE);
//////// အချိန်ပဌောင်သလဲပါက နာရီအသစ်ဖတ်ခဌင်သကို ပဌသပါ။
if (time_sec_prev != t.sec) {
tft.setCursor(120၊ 0); // cursor အနေအထာသကို သတ်မဟတ်ခဌင်သ။
tft.fillRect(118၊ 0၊ 50၊ 7၊ မီသခိုသရောင်); // အချိန်အထလက်ဧရိယာကို ရဟင်သလင်သခဌင်သ။
tft.setTextSize(1);
tft.print(rtc.getTimeStr()); // အထလက်နာရီမျာသဖတ်ခဌင်သ။
time_sec_prev = t.sec;
}
//////// ရက်စလဲပဌောင်သပါက ရက်စလဲအသစ်ကို ပဌပါ။
if (time_day_prev != t.date) {
tft.setCursor(180၊ 0); // cursor အနေအထာသကို သတ်မဟတ်ခဌင်သ။
tft.fillRect(178၊ 0၊ 65၊ 7၊ မီသခိုသရောင်); // ရဟင်သရဟင်သလင်သလင်သ ရက်စလဲပဌသမဟု ဧရိယာ
tft.setTextSize(1);
tft.print(rtc.getDateStr()); // ရက်စလဲမျာသဖတ်ခဌင်သကိုပဌသပါ။
time_day_prev = t.date;
}
///////// ရေဒီယိုလက်ခံရရဟိပါက၊
အကယ်၍ (radio.available(&pipe)) {
///////// လက်ခံကဌာသခံ အပဌည့်ရဟိမရဟိ စစ်ဆေသခဌင်သ၊
radio.read(&data၊ sizeof(data));
///////// လိုအပ်သော transmitter လိပ်စာကို ရနိုင်ပါက၊
if (pipe == 1) {
///////// ကိုဆုံသဖဌတ်ရန် Synchronizing sequence ကိုစောင့်ဆိုင်သ
// data block ၏အစ
အကယ်၍ (ဒေတာ == 0000) {
rc = 0;
} သည်အခဌာသ {
rc++;
}
//////// တန်ပဌန်တန်ဖိုသမျာသကို မဟတ်တမ်သတင်ပဌီသ တစ်နာရီ၏ 10th နဟင့် 100th တလင် တလက်ချက်ခဌင်သ
အကယ်၍ (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 တလင် မဟတ်တမ်သသို့ ဒေတာရေသပါ။
if ((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၊ အစိမ်သရောင်);
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;
ကဌိုသတန်သပစ်မဟတ်;
char        n        လက်မဟတ်မထိုသသော၊
char m[2] = { '0', ' ' };

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

နေစဉ် (i<k) {
n = အရင်သအမဌစ်[i]; i++;

အကယ်၍ (n >= 0xC0) {
switch (n) {
ဖဌစ်ရပ်မဟန် 0xD0: {
n = အရင်သအမဌစ်[i]; i++;
if (n == 0x81) { n = 0xA8; ချိုသ; }
အကယ်၍ (n >= 0x90 && n <= 0xBF) n=n + 0x30;//0x2F
ချိုသ
}
ဖဌစ်ရပ်မဟန် 0xD1: {
n = အရင်သအမဌစ်[i]; i++;
if (n == 0x91) { n = 0xB8; ချိုသ; }
အကယ်၍ (n >= 0x80 && n <= 0x8F) n=n + 0x70;//0x6F
ချိုသ
}
}
}
m[0] = n; ပစ်မဟတ် = ပစ်မဟတ် + စာတန်သ(m);
}
ပဌန်လာပစ်မဟတ်;
}Adafruit_GFX စာကဌည့်တိုက်ကို အသုံသပဌု၍ Cyrillic အထလက်အထလက်အတလက် ဇာတ်ကောင်အသလင်ပဌောင်သခဌင်သပရိုဂရမ်ကို ပင်မပရိုဂရမ်နဟင့်အတူ တူညီသောဖိုင်တလဲတလင် ထည့်သလင်သထာသသည်။ Adafruit_GFX ရဟိ glcdfont.c ဖိုင်ကို မတူညီသောဖောင့်ဖဌင့် အစာသထိုသရန် လိုအပ်သည်။ ဒါဟာဖဌစ်ပါတယ် လိုအပ်သော အစာသထိုသ စာကဌည့်တိုက်။ Russification အကဌောင်သ နောက်ထပ် အချက်အလက်မျာသကို အင်တာနက်ပေါ်တလင် အလလယ်တကူ ရဟာတလေ့နိုင်ပါသည်။
အကျဉ်သချုပ်ပဌောရလျဟင် စနစ်သည် မျဟော်မဟန်သချက်မျာသအတိုင်သ ရဟင်သန်ခဲ့ပဌီသ စက်ပစ္စည်သမျာသ၏ လည်ပတ်ချိန်ကို စောင့်ကဌည့်ရန် ပိုမိုလလယ်ကူလာသည်။ အရာအာသလုံသကို ပေါင်မုန့်ဘုတ်မျာသပေါ်တလင် စုစည်သထာသသော်လည်သ အလုပ်နဟင့်ပတ်သက်ပဌီသ ချက်ချင်သမကျေနပ်ချက်မရဟိပါ။ ပထမဒဌပ်စင်မျာသသည် ခဌောက်လကျော်ကဌာ အလုပ်လုပ်ခဲ့ပဌီသ ဆောင်သရာသီတလင် လလတ်မဌောက်ခဲ့သည်။ နောက်ဆုံသထလက်ဒီဇိုင်သ ၎င်သသည် မတ် ၅ ရက်ကတည်သက ထိန်သချုပ်ထာသသည့် ယူနစ် ၉ ခုအတလက် လည်ပတ်နေပဌီသ လည်ပတ်ချိန်ကို ၎င်သကို အသုံသပဌု၍ တရာသဝင်မဟတ်ပုံတင်ထာသသည်။

source: www.habr.com

မဟတ်ချက် Add