Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include "ds3231.h" // Biblioteca pentru modulul RTC DS3231
- #include <Servo.h> // Biblioteca pentru servo motor
- const int cellVoltage = A0; // Portul la care e legat panoul solar (input between 0 - 1023)
- uint8_t time[8];
- unsigned long prev, interval = 15UL * 60UL * 1000UL; // UL = unsigned long - 15 minute * 60 secunde * 1000 milisecunde => interval [milis]
- // Functie de initializare a RTC-ului
- /*#define BUFF_MAX 128
- char recv[BUFF_MAX];
- unsigned int recv_size = 0;
- void parse_cmd(char *cmd, int cmdsize);
- void parse_cmd(char *cmd, int cmdsize)
- {
- uint8_t i;
- uint8_t reg_val;
- char buff[BUFF_MAX];
- struct ts t;
- //snprintf(buff, BUFF_MAX, "cmd was '%s' %d\n", cmd, cmdsize);
- //Serial.print(buff);
- // TssmmhhWDDMMYYYY aka set time
- if (cmd[0] == 84 && cmdsize == 16) {
- //T355720619112011
- t.sec = inp2toi(cmd, 1);
- t.min = inp2toi(cmd, 3);
- t.hour = inp2toi(cmd, 5);
- t.wday = cmd[7] - 48;
- t.mday = inp2toi(cmd, 8);
- t.mon = inp2toi(cmd, 10);
- t.year = inp2toi(cmd, 12) * 100 + inp2toi(cmd, 14);
- DS3231_set(t);
- Serial.println("OK");
- } else if (cmd[0] == 49 && cmdsize == 1) { // "1" get alarm 1
- DS3231_get_a1(&buff[0], 59);
- Serial.println(buff);
- } else if (cmd[0] == 50 && cmdsize == 1) { // "2" get alarm 1
- DS3231_get_a2(&buff[0], 59);
- Serial.println(buff);
- } else if (cmd[0] == 51 && cmdsize == 1) { // "3" get aging register
- Serial.print("aging reg is ");
- Serial.println(DS3231_get_aging(), DEC);
- } else if (cmd[0] == 65 && cmdsize == 9) { // "A" set alarm 1
- DS3231_set_creg(DS3231_CONTROL_INTCN | DS3231_CONTROL_A1IE);
- //ASSMMHHDD
- for (i = 0; i < 4; i++) {
- time[i] = (cmd[2 * i + 1] - 48) * 10 + cmd[2 * i + 2] - 48; // ss, mm, hh, dd
- }
- uint8_t flags[5] = { 0, 0, 0, 0, 0 };
- DS3231_set_a1(time[0], time[1], time[2], time[3], flags);
- DS3231_get_a1(&buff[0], 59);
- Serial.println(buff);
- } else if (cmd[0] == 66 && cmdsize == 7) { // "B" Set Alarm 2
- DS3231_set_creg(DS3231_CONTROL_INTCN | DS3231_CONTROL_A2IE);
- //BMMHHDD
- for (i = 0; i < 4; i++) {
- time[i] = (cmd[2 * i + 1] - 48) * 10 + cmd[2 * i + 2] - 48; // mm, hh, dd
- }
- uint8_t flags[5] = { 0, 0, 0, 0 };
- DS3231_set_a2(time[0], time[1], time[2], flags);
- DS3231_get_a2(&buff[0], 59);
- Serial.println(buff);
- } else if (cmd[0] == 67 && cmdsize == 1) { // "C" - get temperature register
- Serial.print("temperature reg is ");
- Serial.println(DS3231_get_treg(), DEC);
- } else if (cmd[0] == 68 && cmdsize == 1) { // "D" - reset status register alarm flags
- reg_val = DS3231_get_sreg();
- reg_val &= B11111100;
- DS3231_set_sreg(reg_val);
- } else if (cmd[0] == 70 && cmdsize == 1) { // "F" - custom fct
- reg_val = DS3231_get_addr(0x5);
- Serial.print("orig ");
- Serial.print(reg_val,DEC);
- Serial.print("month is ");
- Serial.println(bcdtodec(reg_val & 0x1F),DEC);
- } else if (cmd[0] == 71 && cmdsize == 1) { // "G" - set aging status register
- DS3231_set_aging(0);
- } else if (cmd[0] == 83 && cmdsize == 1) { // "S" - get status register
- Serial.print("status reg is ");
- Serial.println(DS3231_get_sreg(), DEC);
- } else {
- Serial.print("unknown command prefix ");
- Serial.println(cmd[0]);
- Serial.println(cmd[0], DEC);
- }
- }*/
- // Servo
- Servo myServo;
- const int portServo = 9;
- int angle = 0;
- struct daytime{
- int rasarit;
- int apus;
- };
- daytime vectorDayTime[180]; // Folosim doar 180/366 de zile, din motive de memorie
- int luna, zi, ora, minut;
- int ora_curenta_minute, ziua_curenta;
- int zi_curenta() { // input luna + zi, output: a n-a zi din an
- switch(luna){
- case 1: return zi; break;
- case 2: return zi + 31; break;
- case 3: return zi + 31 + 29; break;
- case 4: return zi + 31 + 29 + 31; break;
- case 5: return zi + 31 + 29 + 31 + 30; break;
- case 6: return zi + 31 + 29 + 31 + 30 + 31; break;
- case 7: return zi + 31 + 29 + 31 + 30 + 31 + 30; break;
- case 8: return zi + 31 + 29 + 31 + 30 + 31 + 30 + 31; break;
- case 9: return zi + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31; break;
- case 10: return zi + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30; break;
- case 11: return zi + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31; break;
- case 12: return zi + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30; break;
- default: return 0; break;
- }
- }
- int minut_curent() { // al n-lea minut din zi
- return ora*60 + minut;
- }
- int map_angle() { // functia care ne mapeaza ora curenta in minute la unghi
- if(ora_curenta_minute < vectorDayTime[ziua_curenta].rasarit){
- return 10;
- Serial.println("Mod rasarit activat - unghi: 10 grade");
- }
- if(ora_curenta_minute > vectorDayTime[ziua_curenta].apus){
- return 170;
- Serial.println("Mod apus activat - unghi: 170 grade");
- }
- double procent = map(ora_curenta_minute, vectorDayTime[ziua_curenta].rasarit, vectorDayTime[ziua_curenta].apus, 0, 1000);
- double unghi = 10 + procent * 160 / 1000.0;
- Serial.print("A n-a zi din an : ");Serial.println(ziua_curenta);
- Serial.print("Ora curenta [minute] : ");Serial.println(ora_curenta_minute);
- Serial.print("Ora rasarit [minute] : ");Serial.println(vectorDayTime[ziua_curenta].rasarit);
- Serial.print("Ora apus [minute] : ");Serial.println(vectorDayTime[ziua_curenta].apus);
- Serial.print("Procentul trecut din zi: ");Serial.println(procent/1000.0);
- Serial.print("Unghiul [float] : ");Serial.println(unghi);
- return (int)unghi;
- }
- void setup(){
- Serial.begin(9600);
- Wire.begin();
- DS3231_init(DS3231_CONTROL_INTCN);
- Serial.println("Normal functioning");
- //Doar pentru initializarea timpului pe RTC (deoarece nu avem acumulator (LIR...) introdus in modul)
- //Serial.println("Initialization");
- //parse_cmd("T000718630052020",16);
- //TssmmhhWDDMMYYYY
- // Initializare rasarit si apus
- vectorDayTime[1].rasarit = 496; vectorDayTime[1].apus = 1020;
- vectorDayTime[2].rasarit = 496; vectorDayTime[2].apus = 1021;
- vectorDayTime[3].rasarit = 496; vectorDayTime[3].apus = 1022;
- vectorDayTime[4].rasarit = 496; vectorDayTime[4].apus = 1023;
- vectorDayTime[5].rasarit = 495; vectorDayTime[5].apus = 1024;
- vectorDayTime[6].rasarit = 495; vectorDayTime[6].apus = 1025;
- vectorDayTime[7].rasarit = 495; vectorDayTime[7].apus = 1026;
- vectorDayTime[8].rasarit = 495; vectorDayTime[8].apus = 1027;
- vectorDayTime[9].rasarit = 495; vectorDayTime[9].apus = 1029;
- vectorDayTime[10].rasarit = 494; vectorDayTime[10].apus = 1030;
- vectorDayTime[11].rasarit = 494; vectorDayTime[11].apus = 1031;
- vectorDayTime[12].rasarit = 494; vectorDayTime[12].apus = 1032;
- vectorDayTime[13].rasarit = 493; vectorDayTime[13].apus = 1033;
- vectorDayTime[14].rasarit = 493; vectorDayTime[14].apus = 1035;
- vectorDayTime[15].rasarit = 492; vectorDayTime[15].apus = 1036;
- vectorDayTime[16].rasarit = 492; vectorDayTime[16].apus = 1037;
- vectorDayTime[17].rasarit = 491; vectorDayTime[17].apus = 1038;
- vectorDayTime[18].rasarit = 490; vectorDayTime[18].apus = 1040;
- vectorDayTime[19].rasarit = 490; vectorDayTime[19].apus = 1041;
- vectorDayTime[20].rasarit = 488; vectorDayTime[20].apus = 1042;
- vectorDayTime[21].rasarit = 488; vectorDayTime[21].apus = 1044;
- vectorDayTime[22].rasarit = 487; vectorDayTime[22].apus = 1045;
- vectorDayTime[23].rasarit = 486; vectorDayTime[23].apus = 1047;
- vectorDayTime[24].rasarit = 485; vectorDayTime[24].apus = 1048;
- vectorDayTime[25].rasarit = 485; vectorDayTime[25].apus = 1049;
- vectorDayTime[26].rasarit = 484; vectorDayTime[26].apus = 1051;
- vectorDayTime[27].rasarit = 483; vectorDayTime[27].apus = 1052;
- vectorDayTime[28].rasarit = 482; vectorDayTime[28].apus = 1054;
- vectorDayTime[29].rasarit = 481; vectorDayTime[29].apus = 1055;
- vectorDayTime[30].rasarit = 479; vectorDayTime[30].apus = 1057;
- vectorDayTime[31].rasarit = 478; vectorDayTime[31].apus = 1058;
- vectorDayTime[32].rasarit = 477; vectorDayTime[32].apus = 1060;
- vectorDayTime[33].rasarit = 476; vectorDayTime[33].apus = 1061;
- vectorDayTime[34].rasarit = 475; vectorDayTime[34].apus = 1063;
- vectorDayTime[35].rasarit = 473; vectorDayTime[35].apus = 1064;
- vectorDayTime[36].rasarit = 472; vectorDayTime[36].apus = 1065;
- vectorDayTime[37].rasarit = 471; vectorDayTime[37].apus = 1067;
- vectorDayTime[38].rasarit = 470; vectorDayTime[38].apus = 1068;
- vectorDayTime[39].rasarit = 468; vectorDayTime[39].apus = 1070;
- vectorDayTime[40].rasarit = 467; vectorDayTime[40].apus = 1071;
- vectorDayTime[41].rasarit = 465; vectorDayTime[41].apus = 1073;
- vectorDayTime[42].rasarit = 464; vectorDayTime[42].apus = 1074;
- vectorDayTime[43].rasarit = 462; vectorDayTime[43].apus = 1076;
- vectorDayTime[44].rasarit = 461; vectorDayTime[44].apus = 1077;
- vectorDayTime[45].rasarit = 459; vectorDayTime[45].apus = 1079;
- vectorDayTime[46].rasarit = 458; vectorDayTime[46].apus = 1080;
- vectorDayTime[47].rasarit = 456; vectorDayTime[47].apus = 1082;
- vectorDayTime[48].rasarit = 455; vectorDayTime[48].apus = 1083;
- vectorDayTime[49].rasarit = 453; vectorDayTime[49].apus = 1085;
- vectorDayTime[50].rasarit = 452; vectorDayTime[50].apus = 1086;
- vectorDayTime[51].rasarit = 450; vectorDayTime[51].apus = 1087;
- vectorDayTime[52].rasarit = 448; vectorDayTime[52].apus = 1089;
- vectorDayTime[53].rasarit = 447; vectorDayTime[53].apus = 1090;
- vectorDayTime[54].rasarit = 445; vectorDayTime[54].apus = 1092;
- vectorDayTime[55].rasarit = 443; vectorDayTime[55].apus = 1093;
- vectorDayTime[56].rasarit = 442; vectorDayTime[56].apus = 1095;
- vectorDayTime[57].rasarit = 440; vectorDayTime[57].apus = 1096;
- vectorDayTime[58].rasarit = 438; vectorDayTime[58].apus = 1097;
- vectorDayTime[59].rasarit = 436; vectorDayTime[59].apus = 1100;
- vectorDayTime[60].rasarit = 435; vectorDayTime[60].apus = 1100;
- vectorDayTime[61].rasarit = 433; vectorDayTime[61].apus = 1102;
- vectorDayTime[62].rasarit = 431; vectorDayTime[62].apus = 1103;
- vectorDayTime[63].rasarit = 429; vectorDayTime[63].apus = 1104;
- vectorDayTime[64].rasarit = 427; vectorDayTime[64].apus = 1106;
- vectorDayTime[65].rasarit = 425; vectorDayTime[65].apus = 1107;
- vectorDayTime[66].rasarit = 424; vectorDayTime[66].apus = 1109;
- vectorDayTime[67].rasarit = 422; vectorDayTime[67].apus = 1110;
- vectorDayTime[68].rasarit = 420; vectorDayTime[68].apus = 1111;
- vectorDayTime[69].rasarit = 418; vectorDayTime[69].apus = 1113;
- vectorDayTime[70].rasarit = 416; vectorDayTime[70].apus = 1114;
- vectorDayTime[71].rasarit = 414; vectorDayTime[71].apus = 1115;
- vectorDayTime[72].rasarit = 412; vectorDayTime[72].apus = 1117;
- vectorDayTime[73].rasarit = 411; vectorDayTime[73].apus = 1118;
- vectorDayTime[74].rasarit = 409; vectorDayTime[74].apus = 1119;
- vectorDayTime[75].rasarit = 407; vectorDayTime[75].apus = 1121;
- vectorDayTime[76].rasarit = 405; vectorDayTime[76].apus = 1122;
- vectorDayTime[77].rasarit = 403; vectorDayTime[77].apus = 1124;
- vectorDayTime[78].rasarit = 401; vectorDayTime[78].apus = 1125;
- vectorDayTime[79].rasarit = 399; vectorDayTime[79].apus = 1126;
- vectorDayTime[80].rasarit = 397; vectorDayTime[80].apus = 1128;
- vectorDayTime[81].rasarit = 395; vectorDayTime[81].apus = 1129;
- vectorDayTime[82].rasarit = 393; vectorDayTime[82].apus = 1130;
- vectorDayTime[83].rasarit = 391; vectorDayTime[83].apus = 1131;
- vectorDayTime[84].rasarit = 390; vectorDayTime[84].apus = 1133;
- vectorDayTime[85].rasarit = 388; vectorDayTime[85].apus = 1134;
- vectorDayTime[86].rasarit = 386; vectorDayTime[86].apus = 1135;
- vectorDayTime[87].rasarit = 384; vectorDayTime[87].apus = 1137;
- vectorDayTime[88].rasarit = 382; vectorDayTime[88].apus = 1138;
- vectorDayTime[89].rasarit = 440; vectorDayTime[89].apus = 1199;
- vectorDayTime[90].rasarit = 438; vectorDayTime[90].apus = 1201;
- vectorDayTime[91].rasarit = 436; vectorDayTime[91].apus = 1202;
- vectorDayTime[92].rasarit = 434; vectorDayTime[92].apus = 1203;
- vectorDayTime[93].rasarit = 432; vectorDayTime[93].apus = 1205;
- vectorDayTime[94].rasarit = 430; vectorDayTime[94].apus = 1206;
- vectorDayTime[95].rasarit = 429; vectorDayTime[95].apus = 1207;
- vectorDayTime[96].rasarit = 427; vectorDayTime[96].apus = 1209;
- vectorDayTime[97].rasarit = 425; vectorDayTime[97].apus = 1210;
- vectorDayTime[98].rasarit = 423; vectorDayTime[98].apus = 1211;
- vectorDayTime[99].rasarit = 421; vectorDayTime[99].apus = 1212;
- vectorDayTime[100].rasarit = 419; vectorDayTime[100].apus = 1214;
- vectorDayTime[101].rasarit = 417; vectorDayTime[101].apus = 1215;
- vectorDayTime[102].rasarit = 416; vectorDayTime[102].apus = 1216;
- vectorDayTime[103].rasarit = 414; vectorDayTime[103].apus = 1218;
- vectorDayTime[104].rasarit = 412; vectorDayTime[104].apus = 1219;
- vectorDayTime[105].rasarit = 410; vectorDayTime[105].apus = 1220;
- vectorDayTime[106].rasarit = 408; vectorDayTime[106].apus = 1222;
- vectorDayTime[107].rasarit = 407; vectorDayTime[107].apus = 1223;
- vectorDayTime[108].rasarit = 405; vectorDayTime[108].apus = 1224;
- vectorDayTime[109].rasarit = 403; vectorDayTime[109].apus = 1226;
- vectorDayTime[110].rasarit = 401; vectorDayTime[110].apus = 1227;
- vectorDayTime[111].rasarit = 400; vectorDayTime[111].apus = 1228;
- vectorDayTime[112].rasarit = 398; vectorDayTime[112].apus = 1229;
- vectorDayTime[113].rasarit = 396; vectorDayTime[113].apus = 1231;
- vectorDayTime[114].rasarit = 395; vectorDayTime[114].apus = 1232;
- vectorDayTime[115].rasarit = 393; vectorDayTime[115].apus = 1233;
- vectorDayTime[116].rasarit = 391; vectorDayTime[116].apus = 1235;
- vectorDayTime[117].rasarit = 390; vectorDayTime[117].apus = 1236;
- vectorDayTime[118].rasarit = 388; vectorDayTime[118].apus = 1237;
- vectorDayTime[119].rasarit = 386; vectorDayTime[119].apus = 1239;
- vectorDayTime[120].rasarit = 385; vectorDayTime[120].apus = 1240;
- vectorDayTime[121].rasarit = 383; vectorDayTime[121].apus = 1241;
- vectorDayTime[122].rasarit = 382; vectorDayTime[122].apus = 1242;
- vectorDayTime[123].rasarit = 380; vectorDayTime[123].apus = 1244;
- vectorDayTime[124].rasarit = 379; vectorDayTime[124].apus = 1245;
- vectorDayTime[125].rasarit = 377; vectorDayTime[125].apus = 1246;
- vectorDayTime[126].rasarit = 376; vectorDayTime[126].apus = 1247;
- vectorDayTime[127].rasarit = 374; vectorDayTime[127].apus = 1249;
- vectorDayTime[128].rasarit = 373; vectorDayTime[128].apus = 1250;
- vectorDayTime[129].rasarit = 372; vectorDayTime[129].apus = 1251;
- vectorDayTime[130].rasarit = 370; vectorDayTime[130].apus = 1252;
- vectorDayTime[131].rasarit = 369; vectorDayTime[131].apus = 1254;
- vectorDayTime[132].rasarit = 368; vectorDayTime[132].apus = 1255;
- vectorDayTime[133].rasarit = 367; vectorDayTime[133].apus = 1256;
- vectorDayTime[134].rasarit = 365; vectorDayTime[134].apus = 1257;
- vectorDayTime[135].rasarit = 364; vectorDayTime[135].apus = 1258;
- vectorDayTime[136].rasarit = 363; vectorDayTime[136].apus = 1260;
- vectorDayTime[137].rasarit = 362; vectorDayTime[137].apus = 1261;
- vectorDayTime[138].rasarit = 361; vectorDayTime[138].apus = 1262;
- vectorDayTime[139].rasarit = 360; vectorDayTime[139].apus = 1263;
- vectorDayTime[140].rasarit = 359; vectorDayTime[140].apus = 1264;
- vectorDayTime[141].rasarit = 358; vectorDayTime[141].apus = 1265;
- vectorDayTime[142].rasarit = 357; vectorDayTime[142].apus = 1266;
- vectorDayTime[143].rasarit = 356; vectorDayTime[143].apus = 1268;
- vectorDayTime[144].rasarit = 355; vectorDayTime[144].apus = 1269;
- vectorDayTime[145].rasarit = 354; vectorDayTime[145].apus = 1270;
- vectorDayTime[146].rasarit = 353; vectorDayTime[146].apus = 1271;
- vectorDayTime[147].rasarit = 352; vectorDayTime[147].apus = 1272;
- vectorDayTime[148].rasarit = 352; vectorDayTime[148].apus = 1273;
- vectorDayTime[149].rasarit = 351; vectorDayTime[149].apus = 1274;
- vectorDayTime[150].rasarit = 350; vectorDayTime[150].apus = 1275;
- vectorDayTime[151].rasarit = 349; vectorDayTime[151].apus = 1275;
- vectorDayTime[152].rasarit = 349; vectorDayTime[152].apus = 1276;
- vectorDayTime[153].rasarit = 348; vectorDayTime[153].apus = 1277;
- vectorDayTime[154].rasarit = 348; vectorDayTime[154].apus = 1278;
- vectorDayTime[155].rasarit = 347; vectorDayTime[155].apus = 1279;
- vectorDayTime[156].rasarit = 347; vectorDayTime[156].apus = 1280;
- vectorDayTime[157].rasarit = 346; vectorDayTime[157].apus = 1280;
- vectorDayTime[158].rasarit = 346; vectorDayTime[158].apus = 1281;
- vectorDayTime[159].rasarit = 346; vectorDayTime[159].apus = 1282;
- vectorDayTime[160].rasarit = 345; vectorDayTime[160].apus = 1283;
- vectorDayTime[161].rasarit = 345; vectorDayTime[161].apus = 1283;
- vectorDayTime[162].rasarit = 345; vectorDayTime[162].apus = 1284;
- vectorDayTime[163].rasarit = 345; vectorDayTime[163].apus = 1284;
- vectorDayTime[164].rasarit = 344; vectorDayTime[164].apus = 1285;
- vectorDayTime[165].rasarit = 344; vectorDayTime[165].apus = 1285;
- vectorDayTime[166].rasarit = 344; vectorDayTime[166].apus = 1286;
- vectorDayTime[167].rasarit = 344; vectorDayTime[167].apus = 1286;
- vectorDayTime[168].rasarit = 344; vectorDayTime[168].apus = 1287;
- vectorDayTime[169].rasarit = 344; vectorDayTime[169].apus = 1287;
- vectorDayTime[170].rasarit = 344; vectorDayTime[170].apus = 1287;
- vectorDayTime[171].rasarit = 345; vectorDayTime[171].apus = 1288;
- /*vectorDayTime[172].rasarit = 345; vectorDayTime[172].apus = 1288;
- vectorDayTime[173].rasarit = 345; vectorDayTime[173].apus = 1288;
- vectorDayTime[174].rasarit = 345; vectorDayTime[174].apus = 1288;
- vectorDayTime[175].rasarit = 345; vectorDayTime[175].apus = 1288;
- vectorDayTime[176].rasarit = 346; vectorDayTime[176].apus = 1288;
- vectorDayTime[177].rasarit = 346; vectorDayTime[177].apus = 1288;
- vectorDayTime[178].rasarit = 347; vectorDayTime[178].apus = 1289;
- vectorDayTime[179].rasarit = 347; vectorDayTime[179].apus = 1288;
- vectorDayTime[180].rasarit = 347; vectorDayTime[180].apus = 1288;
- vectorDayTime[181].rasarit = 348; vectorDayTime[181].apus = 1288;
- vectorDayTime[182].rasarit = 348; vectorDayTime[182].apus = 1288;
- vectorDayTime[183].rasarit = 349; vectorDayTime[183].apus = 1288;
- vectorDayTime[184].rasarit = 350; vectorDayTime[184].apus = 1288;
- vectorDayTime[185].rasarit = 350; vectorDayTime[185].apus = 1287;
- vectorDayTime[186].rasarit = 351; vectorDayTime[186].apus = 1287;
- vectorDayTime[187].rasarit = 352; vectorDayTime[187].apus = 1287;
- vectorDayTime[188].rasarit = 352; vectorDayTime[188].apus = 1286;
- vectorDayTime[189].rasarit = 353; vectorDayTime[189].apus = 1286;
- vectorDayTime[190].rasarit = 354; vectorDayTime[190].apus = 1285;
- vectorDayTime[191].rasarit = 355; vectorDayTime[191].apus = 1285;
- vectorDayTime[192].rasarit = 356; vectorDayTime[192].apus = 1284;
- vectorDayTime[193].rasarit = 357; vectorDayTime[193].apus = 1284;
- vectorDayTime[194].rasarit = 358; vectorDayTime[194].apus = 1283;
- vectorDayTime[195].rasarit = 359; vectorDayTime[195].apus = 1282;
- vectorDayTime[196].rasarit = 359; vectorDayTime[196].apus = 1282;
- vectorDayTime[197].rasarit = 360; vectorDayTime[197].apus = 1281;
- vectorDayTime[198].rasarit = 361; vectorDayTime[198].apus = 1270;
- vectorDayTime[199].rasarit = 362; vectorDayTime[199].apus = 1279;
- vectorDayTime[200].rasarit = 363; vectorDayTime[200].apus = 1278;
- vectorDayTime[201].rasarit = 364; vectorDayTime[201].apus = 1278;
- vectorDayTime[202].rasarit = 365; vectorDayTime[202].apus = 1277;
- vectorDayTime[203].rasarit = 366; vectorDayTime[203].apus = 1276;
- vectorDayTime[204].rasarit = 367; vectorDayTime[204].apus = 1275;
- vectorDayTime[205].rasarit = 368; vectorDayTime[205].apus = 1274;
- vectorDayTime[206].rasarit = 369; vectorDayTime[206].apus = 1273;
- vectorDayTime[207].rasarit = 370; vectorDayTime[207].apus = 1271;
- vectorDayTime[208].rasarit = 371; vectorDayTime[208].apus = 1270;
- vectorDayTime[209].rasarit = 372; vectorDayTime[209].apus = 1269;
- vectorDayTime[210].rasarit = 373; vectorDayTime[210].apus = 1268;
- vectorDayTime[211].rasarit = 375; vectorDayTime[211].apus = 1267;
- vectorDayTime[212].rasarit = 376; vectorDayTime[212].apus = 1266;
- vectorDayTime[213].rasarit = 377; vectorDayTime[213].apus = 1264;
- vectorDayTime[214].rasarit = 378; vectorDayTime[214].apus = 1263;
- vectorDayTime[215].rasarit = 379; vectorDayTime[215].apus = 1262;
- vectorDayTime[216].rasarit = 380; vectorDayTime[216].apus = 1260;
- vectorDayTime[217].rasarit = 382; vectorDayTime[217].apus = 1259;
- vectorDayTime[218].rasarit = 383; vectorDayTime[218].apus = 1257;
- vectorDayTime[219].rasarit = 384; vectorDayTime[219].apus = 1256;
- vectorDayTime[220].rasarit = 385; vectorDayTime[220].apus = 1255;
- vectorDayTime[221].rasarit = 386; vectorDayTime[221].apus = 1253;
- vectorDayTime[222].rasarit = 388; vectorDayTime[222].apus = 1252;
- vectorDayTime[223].rasarit = 389; vectorDayTime[223].apus = 1250;
- vectorDayTime[224].rasarit = 390; vectorDayTime[224].apus = 1249;
- vectorDayTime[225].rasarit = 391; vectorDayTime[225].apus = 1247;
- vectorDayTime[226].rasarit = 393; vectorDayTime[226].apus = 1245;
- vectorDayTime[227].rasarit = 394; vectorDayTime[227].apus = 1244;
- vectorDayTime[228].rasarit = 395; vectorDayTime[228].apus = 1242;
- vectorDayTime[229].rasarit = 396; vectorDayTime[229].apus = 1240;
- vectorDayTime[230].rasarit = 397; vectorDayTime[230].apus = 1239;
- vectorDayTime[231].rasarit = 399; vectorDayTime[231].apus = 1237;
- vectorDayTime[232].rasarit = 400; vectorDayTime[232].apus = 1235;
- vectorDayTime[233].rasarit = 401; vectorDayTime[233].apus = 1234;
- vectorDayTime[234].rasarit = 402; vectorDayTime[234].apus = 1232;
- vectorDayTime[235].rasarit = 404; vectorDayTime[235].apus = 1230;
- vectorDayTime[236].rasarit = 405; vectorDayTime[236].apus = 1228;
- vectorDayTime[237].rasarit = 406; vectorDayTime[237].apus = 1227;
- vectorDayTime[238].rasarit = 407; vectorDayTime[238].apus = 1225;
- vectorDayTime[239].rasarit = 409; vectorDayTime[239].apus = 1223;
- vectorDayTime[240].rasarit = 410; vectorDayTime[240].apus = 1221;
- vectorDayTime[241].rasarit = 411; vectorDayTime[241].apus = 1219;
- vectorDayTime[242].rasarit = 412; vectorDayTime[242].apus = 1218;
- vectorDayTime[243].rasarit = 414; vectorDayTime[243].apus = 1216;
- vectorDayTime[244].rasarit = 415; vectorDayTime[244].apus = 1214;
- vectorDayTime[245].rasarit = 416; vectorDayTime[245].apus = 1212;
- vectorDayTime[246].rasarit = 417; vectorDayTime[246].apus = 1210;
- vectorDayTime[247].rasarit = 418; vectorDayTime[247].apus = 1208;
- vectorDayTime[248].rasarit = 420; vectorDayTime[248].apus = 1206;
- vectorDayTime[249].rasarit = 421; vectorDayTime[249].apus = 1205;
- vectorDayTime[250].rasarit = 422; vectorDayTime[250].apus = 1203;
- vectorDayTime[251].rasarit = 423; vectorDayTime[251].apus = 1201;
- vectorDayTime[252].rasarit = 425; vectorDayTime[252].apus = 1199;
- vectorDayTime[253].rasarit = 426; vectorDayTime[253].apus = 1197;
- vectorDayTime[254].rasarit = 427; vectorDayTime[254].apus = 1195;
- vectorDayTime[255].rasarit = 428; vectorDayTime[255].apus = 1193;
- vectorDayTime[256].rasarit = 429; vectorDayTime[256].apus = 1191;
- vectorDayTime[257].rasarit = 431; vectorDayTime[257].apus = 1189;
- vectorDayTime[258].rasarit = 432; vectorDayTime[258].apus = 1187;
- vectorDayTime[259].rasarit = 433; vectorDayTime[259].apus = 1185;
- vectorDayTime[260].rasarit = 434; vectorDayTime[260].apus = 1183;
- vectorDayTime[261].rasarit = 436; vectorDayTime[261].apus = 1181;
- vectorDayTime[262].rasarit = 437; vectorDayTime[262].apus = 1179;
- vectorDayTime[263].rasarit = 438; vectorDayTime[263].apus = 1177;
- vectorDayTime[264].rasarit = 439; vectorDayTime[264].apus = 1176;
- vectorDayTime[265].rasarit = 441; vectorDayTime[265].apus = 1174;
- vectorDayTime[266].rasarit = 442; vectorDayTime[266].apus = 1172;
- vectorDayTime[267].rasarit = 443; vectorDayTime[267].apus = 1170;
- vectorDayTime[268].rasarit = 444; vectorDayTime[268].apus = 1168;
- vectorDayTime[269].rasarit = 446; vectorDayTime[269].apus = 1166;
- vectorDayTime[270].rasarit = 447; vectorDayTime[270].apus = 1164;
- vectorDayTime[271].rasarit = 448; vectorDayTime[271].apus = 1162;
- vectorDayTime[272].rasarit = 449; vectorDayTime[272].apus = 1160;
- vectorDayTime[273].rasarit = 451; vectorDayTime[273].apus = 1158;
- vectorDayTime[274].rasarit = 452; vectorDayTime[274].apus = 1156;
- vectorDayTime[275].rasarit = 453; vectorDayTime[275].apus = 1154;
- vectorDayTime[276].rasarit = 454; vectorDayTime[276].apus = 1152;
- vectorDayTime[277].rasarit = 456; vectorDayTime[277].apus = 1150;
- vectorDayTime[278].rasarit = 457; vectorDayTime[278].apus = 1149;
- vectorDayTime[279].rasarit = 458; vectorDayTime[279].apus = 1147;
- vectorDayTime[280].rasarit = 460; vectorDayTime[280].apus = 1145;
- vectorDayTime[281].rasarit = 461; vectorDayTime[281].apus = 1143;
- vectorDayTime[282].rasarit = 462; vectorDayTime[282].apus = 1141;
- vectorDayTime[283].rasarit = 464; vectorDayTime[283].apus = 1139;
- vectorDayTime[284].rasarit = 465; vectorDayTime[284].apus = 1137;
- vectorDayTime[285].rasarit = 466; vectorDayTime[285].apus = 1135;
- vectorDayTime[286].rasarit = 468; vectorDayTime[286].apus = 1134;
- vectorDayTime[287].rasarit = 469; vectorDayTime[287].apus = 1132;
- vectorDayTime[288].rasarit = 470; vectorDayTime[288].apus = 1130;
- vectorDayTime[289].rasarit = 472; vectorDayTime[289].apus = 1128;
- vectorDayTime[290].rasarit = 473; vectorDayTime[290].apus = 1127;
- vectorDayTime[291].rasarit = 474; vectorDayTime[291].apus = 1125;
- vectorDayTime[292].rasarit = 476; vectorDayTime[292].apus = 1123;
- vectorDayTime[293].rasarit = 477; vectorDayTime[293].apus = 1121;
- vectorDayTime[294].rasarit = 478; vectorDayTime[294].apus = 1120;
- vectorDayTime[295].rasarit = 480; vectorDayTime[295].apus = 1118;
- vectorDayTime[296].rasarit = 481; vectorDayTime[296].apus = 1116;
- vectorDayTime[297].rasarit = 482; vectorDayTime[297].apus = 1115;
- vectorDayTime[298].rasarit = 484; vectorDayTime[298].apus = 1113;
- vectorDayTime[299].rasarit = 425; vectorDayTime[299].apus = 1051;
- vectorDayTime[300].rasarit = 427; vectorDayTime[300].apus = 1050;
- vectorDayTime[301].rasarit = 428; vectorDayTime[301].apus = 1048;
- vectorDayTime[302].rasarit = 429; vectorDayTime[302].apus = 1047;
- vectorDayTime[303].rasarit = 431; vectorDayTime[303].apus = 1045;
- vectorDayTime[304].rasarit = 432; vectorDayTime[304].apus = 1044;
- vectorDayTime[305].rasarit = 434; vectorDayTime[305].apus = 1042;
- vectorDayTime[306].rasarit = 435; vectorDayTime[306].apus = 1041;
- vectorDayTime[307].rasarit = 436; vectorDayTime[307].apus = 1039;
- vectorDayTime[308].rasarit = 438; vectorDayTime[308].apus = 1038;
- vectorDayTime[309].rasarit = 439; vectorDayTime[309].apus = 1037;
- vectorDayTime[310].rasarit = 441; vectorDayTime[310].apus = 1035;
- vectorDayTime[311].rasarit = 442; vectorDayTime[311].apus = 1034;
- vectorDayTime[312].rasarit = 443; vectorDayTime[312].apus = 1033;
- vectorDayTime[313].rasarit = 445; vectorDayTime[313].apus = 1031;
- vectorDayTime[314].rasarit = 446; vectorDayTime[314].apus = 1030;
- vectorDayTime[315].rasarit = 448; vectorDayTime[315].apus = 1029;
- vectorDayTime[316].rasarit = 449; vectorDayTime[316].apus = 1028;
- vectorDayTime[317].rasarit = 451; vectorDayTime[317].apus = 1027;
- vectorDayTime[318].rasarit = 452; vectorDayTime[318].apus = 1025;
- vectorDayTime[319].rasarit = 453; vectorDayTime[319].apus = 1024;
- vectorDayTime[320].rasarit = 455; vectorDayTime[320].apus = 1023;
- vectorDayTime[321].rasarit = 456; vectorDayTime[321].apus = 1022;
- vectorDayTime[322].rasarit = 457; vectorDayTime[322].apus = 1021;
- vectorDayTime[323].rasarit = 459; vectorDayTime[323].apus = 1020;
- vectorDayTime[324].rasarit = 460; vectorDayTime[324].apus = 1019;
- vectorDayTime[325].rasarit = 462; vectorDayTime[325].apus = 1019;
- vectorDayTime[326].rasarit = 463; vectorDayTime[326].apus = 1018;
- vectorDayTime[327].rasarit = 464; vectorDayTime[327].apus = 1017;
- vectorDayTime[328].rasarit = 466; vectorDayTime[328].apus = 1016;
- vectorDayTime[329].rasarit = 467; vectorDayTime[329].apus = 1016;
- vectorDayTime[330].rasarit = 468; vectorDayTime[330].apus = 1015;
- vectorDayTime[331].rasarit = 469; vectorDayTime[331].apus = 1014;
- vectorDayTime[332].rasarit = 471; vectorDayTime[332].apus = 1014;
- vectorDayTime[333].rasarit = 472; vectorDayTime[333].apus = 1013;
- vectorDayTime[334].rasarit = 473; vectorDayTime[334].apus = 1013;
- vectorDayTime[335].rasarit = 474; vectorDayTime[335].apus = 1013;
- vectorDayTime[336].rasarit = 475; vectorDayTime[336].apus = 1012;
- vectorDayTime[337].rasarit = 477; vectorDayTime[337].apus = 1012;
- vectorDayTime[338].rasarit = 478; vectorDayTime[338].apus = 1011;
- vectorDayTime[339].rasarit = 479; vectorDayTime[339].apus = 1011;
- vectorDayTime[340].rasarit = 480; vectorDayTime[340].apus = 1011;
- vectorDayTime[341].rasarit = 481; vectorDayTime[341].apus = 1011;
- vectorDayTime[342].rasarit = 482; vectorDayTime[342].apus = 1010;
- vectorDayTime[343].rasarit = 483; vectorDayTime[343].apus = 1010;
- vectorDayTime[344].rasarit = 484; vectorDayTime[344].apus = 1010;
- vectorDayTime[345].rasarit = 485; vectorDayTime[345].apus = 1010;
- vectorDayTime[346].rasarit = 486; vectorDayTime[346].apus = 1010;
- vectorDayTime[347].rasarit = 487; vectorDayTime[347].apus = 1010;
- vectorDayTime[348].rasarit = 487; vectorDayTime[348].apus = 1010;
- vectorDayTime[349].rasarit = 488; vectorDayTime[349].apus = 1011;
- vectorDayTime[350].rasarit = 489; vectorDayTime[350].apus = 1011;
- vectorDayTime[351].rasarit = 490; vectorDayTime[351].apus = 1011;
- vectorDayTime[352].rasarit = 490; vectorDayTime[352].apus = 1011;
- vectorDayTime[353].rasarit = 491; vectorDayTime[353].apus = 1012;
- vectorDayTime[354].rasarit = 492; vectorDayTime[354].apus = 1012;
- vectorDayTime[355].rasarit = 492; vectorDayTime[355].apus = 1013;
- vectorDayTime[356].rasarit = 493; vectorDayTime[356].apus = 1013;
- vectorDayTime[357].rasarit = 493; vectorDayTime[357].apus = 1014;
- vectorDayTime[358].rasarit = 494; vectorDayTime[358].apus = 1014;
- vectorDayTime[359].rasarit = 494; vectorDayTime[359].apus = 1015;
- vectorDayTime[360].rasarit = 494; vectorDayTime[360].apus = 1015;
- vectorDayTime[361].rasarit = 495; vectorDayTime[361].apus = 1016;
- vectorDayTime[362].rasarit = 495; vectorDayTime[362].apus = 1017;
- vectorDayTime[363].rasarit = 495; vectorDayTime[363].apus = 1018;
- vectorDayTime[364].rasarit = 495; vectorDayTime[364].apus = 1018;
- vectorDayTime[365].rasarit = 496; vectorDayTime[365].apus = 1019;
- vectorDayTime[366].rasarit = 496; vectorDayTime[366].apus = 1020;*/
- //Initializare servo
- myServo.attach(portServo); // Servo atasat portului 9 capabil de PWM
- delay(500);
- myServo.write(angle); // Initializare pozitie servo
- delay(200);
- myServo.detach();
- }
- void loop(){
- unsigned long now = millis(); // timpul de cand a pornit placuta Arduino
- struct ts t;
- // secventa repetitiva a functionalitatii autonome
- if ((now - prev > interval) && (Serial.available() <= 0)) {
- DS3231_get(&t); // Extragem timpul din RTC
- luna = t.mon;
- zi = t.mday;
- ora = t.hour;
- minut = t.min;
- int sec = t.sec;
- Serial.print("Ora curenta: ");
- Serial.print(zi);Serial.print(".");Serial.print(luna);Serial.print(".");
- Serial.print("2020 -> ");Serial.print(ora);Serial.print(":");
- Serial.print(minut);Serial.print(":");Serial.println(sec);
- ziua_curenta = zi_curenta();
- ora_curenta_minute = minut_curent();
- angle = map_angle();
- myServo.attach(portServo); // Servo atasat portului 9 capabil de PWM
- delay(500);
- myServo.write(180-angle); // Setare unghi servo (180 - angle, deoarece unghiul 0 era pozitionat catre vest, in loc de est)
- delay(200);
- myServo.detach();
- delay(1000);
- int voltage = analogRead(A0); // Citim voltajul de pe panoul fotovoltaic
- float realVoltage = (float)((voltage * 6) / 1023.0); // Mapam input 0 - 1023 la 0 - 6V
- Serial.print("Voltajul panoului: ");Serial.println(realVoltage);
- Serial.println("------------------------");
- prev = now;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement