Fa'alotoifale Tutoatasi Fa'amaumauga Fa'amaumauga (fa'aauau)

Amata i luga o lenei saite fesoʻotaʻiga.
O le filifiliga pito sili ona faigofie mo le toe maua mai o faʻamatalaga e uiga i le kiina o le amataga na avea ma filifiliga i le PC817 optocoupler. Faailoga o ataFa'alotoifale Tutoatasi Fa'amaumauga Fa'amaumauga (fa'aauau)O laupapa e aofia ai taʻaloga tutusa e tolu, o mea uma e tuʻuina i pusa palasitika ABS, lapoa 100x100 mm. Ata o optocouplersFa'alotoifale Tutoatasi Fa'amaumauga Fa'amaumauga (fa'aauau) Pe a faʻafesoʻotaʻi i masini amata ma vaʻa semiconductor, o loʻo lava le taimi e tatala ai le PC817 ma o le a faʻaosoina sese le fata. Ia tuuese se tulaga faapea e tasi le isi faʻaopoopoina i le faasologa i le taamilosaga o le optocoupler LED ma le faʻaalia o le taʻavale. Ina ia faia lenei mea, tatala le jumper J1 ma faʻapipiʻi le LED1 LED faaopoopo i totonu.
O le vaega e mauaina e faia i luga itu 1Fa'alotoifale Tutoatasi Fa'amaumauga Fa'amaumauga (fa'aauau)itu 2Fa'alotoifale Tutoatasi Fa'amaumauga Fa'amaumauga (fa'aauau)laupapa atinaʻe e fesoʻotaʻi atu i le ARDUINO MEGA 2560. Mo lenei mea, o loʻo faʻaogaina se laina faʻalua i le pito. O se mata e iai se iugafono o le 240x400, o loʻo i ai se faʻamaufaʻailoga paʻi ma se masini vevela, e faʻaaogaina e fai ma faʻamatalaga faʻamatalaga. HX8352B.Fa'alotoifale Tutoatasi Fa'amaumauga Fa'amaumauga (fa'aauau) E le gata i lea, o le fesoʻotaʻiga i le ICSP i luga o le laupapa laupapa e aveese ma e le faʻaaogaina le micro SD slot. O le mea moni o le "native" SD socket e le mafai ona faʻaaogaina ona o se feeseeseaiga i luga o le pasi SPI. Mo le flash card, sa fa'aogaina se isi card reader, lea e aofia ai se 3,3V stabilizer ma se pu fa'apipi'i fa'atasi ai ma setete e tolu 74LVS125A. O le mea lea sa faatalitali mai ai le salu mo a'u. E tolu-setete pa puipui, ae o le E01-ML01DP5 poʻo le kata faitau sa galue. I le faletusi faʻamatalaga, SdFat vaʻaia se lapataiga e uiga i le le fetaui ma isi masini. O le suiga maualuga i luga o le TXS0108E na aveese ma suia i tagata osooso, aua E01-ML01DP5 e fa'apalepale i faailoilo 5V - e le'i fesoasoani. I le faʻaaogaina o se oscilloscope, na iloa ai se gau faʻailoga i luga o le laina MISO pe a fesoʻotaʻi se tagata faitau kata. I le suʻesuʻeina ma le totoʻa, na maua ai o mea faʻaoga o faailoilo faʻamalosi o le OE 4 alalaupapa o le 74LVS125A na faʻapipiʻiina i se uaea masani ma e le mafai ona talanoa i soʻo se setete lona tolu. Na fa'aaogaina le pusi pu'upu'u e fai ma fa'aliliuga tulaga muamua mai le 5V i le 3.3V fa'aoga 3,3 KΩ fa'asagatau feso'ota'i fa'atasi ma laina fa'ailoga. Se'i vagana le laina MISO. O lona ki fa'aulu pito i lalo masalo na tosina mai ai fa'ailo i le eleele. I le faʻamoemoeina o le faʻailoga faʻatagaina o le laina MISO o le pine 13, na vavae ese mai le ala masolderedFa'alotoifale Tutoatasi Fa'amaumauga Fa'amaumauga (fa'aauau)i le va o le 9LVS74A CS masini filifili fa'aoga pine (125) ma le fa'amuta tete'e. I le taimi nei, afai e leai se avanoa i le kata manatua, o le MISO buffer ua le atoatoa ma e le faʻalavelave i le faʻaogaina o se isi masini.Ata o le laupapa atinaeFa'alotoifale Tutoatasi Fa'amaumauga Fa'amaumauga (fa'aauau)Receiver o loʻo faʻaogainaFa'alotoifale Tutoatasi Fa'amaumauga Fa'amaumauga (fa'aauau)O le DS3231 o lo'o fa'aogaina se polokalame I2C pasi (TWI) e fa'afeso'ota'i le uati.
Polokalame IDE Arduino// TĀUA: E TATAU FAAMATALAGA FAʻAALIGA A Adafruit_TFTLCD
// FA'ATAUINA MO LE TFT TFT PO'O LE BREAKOUT BOARD.
// VAAI FAAMATALAGA TOTONU I LE Adafruit_TFTLCD.h MO SETUP.
//e Open-Smart Team ma Catalex Team
//[imeli puipuia]
//Fa'atau: dx.com
// open-smart.aliexpress.com/store/1199788
// Galuega Fa'atino: Fa'aali ata, mata'itusi
//Arduino IDE: 1.6.5
// Fono: Arduino UNO R3, Arduino Mega2560, Arduino Leonardo

// Komiti: OPEN-SMART UNO R3 5V / 3.3V, Arduino UNO R3, Arduino Mega2560
//3.2INISI 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

#fa'aofia // Faletusi ata ata
//#aofia // Faletusi fa'apitoa mo meafaigaluega
#fa'aofia
MCUFRIEND_kbv tft;
#include "SdFat.h" // Fa'aoga le faletusi SdFat
SdFat SD;
SdFile faila;
Fa'aulu myFile;
#fa'amatala SD_CS_PIN SS

#fa'aofia // Faʻafesoʻotaʻi le faletusi e galulue ai ma le pasi SPI
#fa'aofia // Faʻafesoʻotaʻi le faila faila mai le faletusi RF24
#fa'aofia // Faʻafesoʻotaʻi le faletusi e galue ma nRF24L24+
Leitio RF24(47, 49);

#fa'aofia

DS3231 rtc(27, 25);
Taimi t;

uint16_t r = 6000;
uint32_t k = 0;

fa'amatalaga umi e le'i sainia;
fa'afefe leb_1;
fa'afefe leb_2;
fa'afefe leb_3;
fa'afefe leb_4;

uint8_t paipa;
int rc = 0;

uint8_t time_sec_prev;
uint8_t time_day_prev;

//************************************************ *****************/ /
// Afai e te faʻaogaina le OPEN-SMART TFT breakout board //
// Fautuaina oe e faʻaopoopo le 5V-3.3V tulaga faʻaliliuina matagaluega.
// Ioe e mafai ona e faʻaogaina le OPEN-SMART UNO Black version ma le 5V / 3.3V eletise eletise,
// na'o lou mana'omia e sui ile 3.3V.
// O pine faʻatonutonu mo le LCD e mafai ona tuʻuina atu i soʻo se numera poʻo
// pine analog...ae o le a matou faʻaogaina pine analog e mafai ai ona matou faia
//——————————————-|
// TFT Breakout - Arduino UNO / Mega2560 / OPEN-SMART UNO Black
// GND - GND
// 3V3 - 3.3V
//CS - A3
// RS - A2
// WR - A1
// RD - A0
// RST - FA'ATU
// LED - GND
//DB0 - 8
//DB1 - 9
//DB2 - 10
//DB3 - 11
//DB4 - 4
//DB5 - 13
//DB6 - 6
//DB7 - 7

// Tofia igoa e mafai ona faitau e tagata i nisi o tulaga masani lanu 16-bit:
#fa'amatala BLACK 0x0000
#fa'amatala MINANI 0x001F
#fa'amatala MULA 0xF800
#fa'amatala MATUA 0x07E0
#fa'amatala CYAN 0x07FF
#fa'amatala MAGENTA 0xF81F
#fa'amatala YELLOW 0xFFE0
#fa'amatala WHITE 0xFFFF
#fa'amatala ELEU 0x8C51
#define GRAYD 0x39E7

//Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
// Afai e faʻaaogaina le talita, e faʻamautu uma le pulea ma laina faʻamaumauga, ma
// se tautinoga faigofie e mafai ona faʻaaoga filifiliga:
// Adafruit_TFTLCD tft;
uint16_t g_identifier;

String dataString;
//String numfileMonth = "1.txt";
char perv [] = {"2.txt"};
//String *numfileMonth="1.txt" (sizeof (numfileMonth));
////////////////////////////////////////// /////////////

fa'aogaina fa'aleaogaina(valea) {

rtc.begin();

// Ina ia seti le taimi, faʻamalo laina manaʻomia
// rtc.setDOW(6); // Aso o le vaiaso
// rtc.setTime(22, 04, 0); // Taimi, i le faatulagaga 24 itula.
// rtc.setDate(4, 5, 2019); // Aso, Oketopa 29, 2018

Serial.begin (2000000);
/////// Faamatamata mata
tft.begin(0x65);
tft.reset();
tft.setRotation(0);
tft.cp437(moni);
/////////////////Atu o igoa, mea faigaluega, igoa o le faalapotopotoga
tft.fillScreen(BLACK);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.setCursor(8, 0);
tft.println("AITAINA & FAIA");
tft.setCursor(30, 20);
tft.print (utf8rus("Fausia V.V." ));
tft.setCursor(40, 40);
tft.print (utf8rus("Turner I.I." ));
tuai(2000);

radio.begin(); // Amata galuega nRF24L01+
radio.setChannel(120); // Fa'ailoa le auala e maua ai fa'amatalaga (mai le 0 i le 127)
leitio.setDataRate(RF24_250KBPS); // Fa'ailoa le fua faatatau o fa'amatalaga (RF24_250KBPS, RF24_1MBPS, RF24_2MBPS), RF24_1MBPS - 1Mbit/s
leitio.setPALevel(RF24_PA_MAX); // Faʻailoa le mana transmitter (RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_HIGH=-6dBm, RF24_PA_MAX=0dBm)
radio.openReadingPipe(1, 0xAABBCCDD11LL); // Tatala 1 paipa ma le faʻamatalaga o le 1 transmitter 0xAABBCCDD11, e maua ai faʻamatalaga
// Tatala paipa 2 ma le transmitter ID 2xAABBCCDD0 e maua ai faʻamatalaga
radio.startListening(); // Liliu le tali, amata faʻalogo i paipa tatala
// radio.stopListening();
///////Auina o faamatalaga o auaunaga
tft.fillScreen(BLACK);
tft.setCursor(8, 0);
tft.setTextSize(1);
///////Amata amata le SD card
Serial.println("Initial SD card");
tft.println("Kati SD muamua");
tft.setCursor(8, 10);
///////Amataina le kata
afai (!SD.begin(SD_CS_PIN)) {
Serial.println("ua le manuia le amataga!");
tft.fillRect(8, 10, 85, 7, MULA);
tft.setTextColor(BLACK);
tft.println("Ua le manuia le amataga!");
toe foʻi mai;
}
tft.setTextColor(WHITE);
Serial.println("fa'ataunu'uina le amataga");
tft.println("Ua faia le amataga");
tuai(2000);
///////Taimi faitau ma le aso ma tofia i latou i fesuiaiga
t = rtc.getTime();
taimi_sec_prev = t.sec;
time_day_prev = t.aso;
///////Tuuina atu faamalosi le aso ina ia aua nei faatali mo le suiga o le aso mo le faaaliga
tft.setCursor(180, 0); // fa'atulagaina le tulaga fa'ailo
tft.fillRect(178, 0, 65, 7, GRAY); // fa'amama le taimi e fa'atino ai vaega
tft.setTextSize(1);
tft.print(rtc.getDateStr());
///////Auina le igoa o mea e pulea
tft.setTextSize(2);
tft.setCursor(60, 25);
tft.println (utf8rus("Winches I"));
/////// Fausiaina o se faila ogalaau ma faʻauluina le iʻuga o le taumafaiga o le foafoaga
tft.setTextSize(1);
tft.setCursor(130, 10); // pe a fai o le log file 2.txt ua faia, ona fa'aauauina lea o le tusitusi i le faila
afai (SD.exists(perv)) {
//tft.setCursor(0, 90);
tft.println(perv);
Serial.println(perv);
} aisi {
myFile = SD.open(perv, FILE_WRITE); // pe afai e le o iai le faila 2.txt, o le a faia
myFile.close();
tft.println(perv);
Serial.println(perv);
}
}

gaogao mata'utia(vale) {
///////Siaki le i ai o se talosaga e tuʻuina atu se ogalaau i le COM port monitor
afai (Serial.available() > 0) {
afai (1 == Serial.read());
///////Ma afai e talia le “1”, ona maua lea o le galuega faatino
File myFile = SD.open(perv);
// pe a maua le faila, tusi i ai:
afai (la'u faila) {
a'o (myFile.available()) {
Serial.write(myFile.read());
}
myFile.close();
}
isi {
Serial.println("tatala sese .txt");
}
}
///////Taimi faitau
t = rtc.getTime();
tft.setTextColor(WHITE);
///////Afai ua sui le taimi, ona faaali atu lea o faitauga fou o le uati
afai ( taimi_sec_prev != t.sec) {
tft.setCursor(120, 0); // fa'atulagaina le tulaga fa'ailo
tft.fillRect(118, 0, 50, 7, GRAY); // fa'amama le taimi e fa'atino ai vaega
tft.setTextSize(1);
tft.print(rtc.getTimeStr()); // faitau tusi uati
taimi_sec_prev = t.sec;
}
///////Afai ua suia le aso, ona faʻaalia lea o le aso fou
afai (taimi_aso_muamua != t.aso) {
tft.setCursor(180, 0); // fa'atulagaina le tulaga fa'ailo
tft.fillRect(178, 0, 65, 7, GRAY); // fa'aaliga manino aso
tft.setTextSize(1);
tft.print(rtc.getDateStr()); // fa'aali aso faitau
time_day_prev = t.aso;
}
///////Afai e maua le leitio, ona
afai (leitio.avanoa(&paipa)) {
////////siaki pe ua tumu le fa'amalo,
radio.read(&faamatalaga, lapopoa(faamatalaga));
///////afai o lo'o maua le tuatusi fa'asalalau mana'omia, ona
afai (paipa == 1) {
///////faatalitali mo se fa'asologa fa'atasi o zeros e iloa ai
//amataga ole poloka fa'amaumauga
afai (fa'amatalaga == 0000) {
rc = 0;
} aisi {
rc++;
}
////////Pu'eina o tau fa'atatau ma fa'atatauina i le 10 ma le 100 o le itula
afai (rc == 1) {
leb_1 = faʻamaumauga / 3600.0;
}

afai (rc == 2) {
leb_2 = faʻamaumauga / 3600.0;
}

afai (rc == 3) {
leb_3 = faʻamaumauga / 3600.0;
}

afai (rc == 4) {
leb_4 = faʻamaumauga / 3600.0;
}
}
}
r++;
k++; // na'o se fa'atau
/////// Fa'afou fa'amaumauga ma se taimi fa'apitoa
afai ( 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;
}
/////// Tusi fa'amaumauga i le ogalaau ile SD ile 10 minute uma.
afai ((t.min % 10 == 0) && ( t.sec == 0)) {
tft.setTextSize(1);
tft.setCursor(200, 10);
tft.setTextColor(BLACK);
/////// Fausia se manoa i le .csv faatulagaga
String dataString = String (rtc.getDateStr()) + ","+(rtc.getTimeStr()) + "," + (leb_1) + "," + (leb_2)
+ ", " + (leb_3) + ", " + (leb_4) + ", ";
/////// Tusi i se faila ma faʻaalia iʻuga o le faiga tusitusi
myFile = SD.open(perv, FILE_WRITE); // pe afai e leai se faila e igoa "2.txt", o le a faia.
afai (la'u faila) {
myFile.println(dataString);
myFile.close();
tft.fillRect(198, 8, 42, 10, NUNUU);
tft.println("SD OK");
Serial.println("SD OK");
tuai(900); // fa'atuai, a fa'apea e fa'amaumau 13 faitauga tutusa se'ia te'a le lua
} aisi {
tft.fillRect(198, 8, 42, 10, MULA);
tft.println("SD ERR");
Serial.println("SD ERR");
}
}
}Polokalama faaliliu tagata/* Toe fa'ailoga fonuka Rusia mai UTF-8 i le Windows-1251 */

String utf8rus(Fa'apogai fa'asologa)
{
int i,k;
Manoa sini;
char n;
char m[2] = { '0', ' '};

k = puna.umi(); i = 0;

a'o (i < k) {
n = puna[i]; i++;

afai (n >= 0xC0) {
sui (n) {
mataupu 0xD0: {
n = puna[i]; i++;
afai (n == 0x81) {n = 0xA8; malepe; }
afai (n >= 0x90 && n <= 0xBF) n = n + 0x30;//0x2F
gagau;
}
mataupu 0xD1: {
n = puna[i]; i++;
afai (n == 0x91) {n = 0xB8; malepe; }
afai (n >= 0x80 && n <= 0x8F) n = n + 0x70;//0x6F
gagau;
}
}
}
m[0] = n; taula'i = sini + Fa'asolo(m);
}
toe fo'i fa'amoemoe;
}O le polokalame transcoding amio mo le galuega a Cyrillic e faʻaaoga ai le faletusi Adafruit_GFX o loʻo tuʻuina i totonu o le pusa tutusa ma le polokalama autu. E mana'omia fo'i ona e sui le faila glcdfont.c i le Adafruit_GFX i se vai papatisoga ese. o faletusi ma le mea e manaʻomia e sui. O nisi fa'amatalaga e uiga i le Russification e faigofie ona maua ile Initaneti.
I le aotelega, o le a ou fai atu o le faiga na ola e tusa ai ma faʻamoemoega, ua sili atu ona faigofie le mataʻituina o le taimi faʻaogaina o meafaigaluega. E ui lava ina faʻapipiʻi mea uma i luga o laupapa falaoa, e leai ni faʻasea vave e uiga i le galuega. O elemene muamua na galue mo le silia ma le ono masina ma sao mai le taumalulu. Fuafuaga fou O loʻo faʻatautaia mo le 9 iunite faʻatonutonu talu mai Mati 5th ma o le taimi faʻagaioia o loʻo resitalaina aloaia e faʻaaogaina.

puna: www.habr.com

Faaopoopo i ai se faamatalaga