Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //==========Definicja czasów============
- #define krotka 30000
- #define dluga 43000
- #define bKrotka 5000
- void setup() {
- delay (15000);
- for ( i = 0; i <=11; i++) {
- //...
- DeklarowanyCzasDzialaniaRolety[i] = krotka;
- //...
- } //for ( i = 0; i <=11; i++)
- //...
- DeklarowanyCzasDzialaniaRolety[3] = dluga;
- DeklarowanyCzasDzialaniaRolety[4] = dluga;
- DeklarowanyCzasDzialaniaRolety[7] = bKrotka;
- //...
- } //setup
- //Seryjne wywołanie opuszczania/podnoszenia na całym piętrze:
- //============CALE PIETRA===============
- //--------------Parter------------------
- if (OtwierajCalyDol == true) {
- for (i=0; i<=7; i++) {
- WlacznikGoraRoletaPrim[i] = true;
- }
- }
- if (ZamykajCalyDol == true) {
- for (i=0; i<=7; i++) {
- WlacznikDolRoletaPrim[i] = true;
- }
- }
- //--------------Pietro------------------
- if (OtwierajCalaGore == true) {
- for (i=8; i<=11; i++) {
- WlacznikGoraRoletaPrim[i] = true;
- }
- }
- if (ZamykajCalaGore == true) {
- for (i=8; i<=11; i++) {
- WlacznikDolRoletaPrim[i] = true;
- }
- }
- //======="procedury wykonawcze"=========
- //============OPUSZCZANIE===============
- //zacznij opuszczać roletę nr j
- if (WlacznikDolRoletaPrim[j] == true && WskaznikOpuszczaniaRolety[j] == 0 && WskaznikPodnoszeniaRolety[j] == 0){
- // Serial.println("Jestem w OPUSZCZANIE; PIERWSZY if A");
- Blynk.virtualWrite(VirtualnyPin[j],0); //zmiana stanu pushbuttona w telefonie n '-1' gdy ktoś wciśnie guzik na scianie
- WlacznikDolRoletaPrim[j] = false;
- if (WartoscNaLinijceSmartfona[j] > 0) {
- digitalWrite(PrzekaznikDolRoleta[j], LOW);
- StartOpuszczaniaRolety[j] = millis ();
- WskaznikOpuszczaniaRolety[j] = 1;
- WskaznikPodnoszeniaRolety[j] = 0;
- delay(50);
- }
- }
- //Jesli roleta j jest w trakcie opuszczania i zostanie wcisniety przycisk WlacznikDolRoleta[j] lub WlacznikGoraRoletaPrim [j] to przestan opuszczac
- if (WskaznikOpuszczaniaRolety[j] == 1 && ((WlacznikDolRoletaPrim[j] == true)|| (WlacznikGoraRoletaPrim[j] == true) || (WartoscNaLinijceSmartfona[j] <= 0))){
- digitalWrite(PrzekaznikDolRoleta[j], HIGH); //przestan opuszczac
- WskaznikOpuszczaniaRolety[j] = 0;
- WskaznikPodnoszeniaRolety[j] = 0;
- WlacznikDolRoletaPrim[j] = false;
- WlacznikGoraRoletaPrim[j] = false;
- Blynk.virtualWrite(VirtualnyPin[j],0); //zmiana stanu pushbuttona w telefonie n '0'
- delay(50);
- }
- //==============CHYBA GDZIEŚ TU JEST PROBLEM====================
- //Przesylanie aktualnego stopnia przysloniecia na suwak w telefonie //WartoscSuwakaZeSmartfona
- if (WskaznikOpuszczaniaRolety[j] == 1 && WartoscNaLinijceSmartfona[j] > 0){
- if (millis() - SuwakPrzyslonieciaPoprzedni[j] > procencik * DeklarowanyCzasDzialaniaRolety[j]/100){
- WartoscNaLinijceSmartfona[j] = WartoscNaLinijceSmartfona[j] - procencik;
- Blynk.virtualWrite(DoLinijekSwietlnych[j],WartoscNaLinijceSmartfona[j]);
- SuwakPrzyslonieciaPoprzedni[j] = millis();
- }
- }
- //============PODNOSZENIE===============
- //zacznij podnosić roletę nr j
- if (WlacznikGoraRoletaPrim[j] == true && WskaznikPodnoszeniaRolety[j] == 0 && WskaznikOpuszczaniaRolety [j] == 0){
- // Serial.println("Jestem w PODNOSZENIE; PIERWSZY if A");
- Blynk.virtualWrite(VirtualnyPin[j],0); //zmiana stanu pushbuttona w telefonie n '-1' gdy ktoś wciśnie guzik na scianie
- WlacznikGoraRoletaPrim[j] = false;
- if (WartoscNaLinijceSmartfona[j] < 100) {
- digitalWrite(PrzekaznikGoraRoleta [j], LOW); //zacznij podnosic roletę nr j
- StartPodnoszeniaRolety [j] = millis ();
- WskaznikPodnoszeniaRolety [j]= 1;
- WskaznikOpuszczaniaRolety [j] = 0;
- delay(50);
- }
- }
- //Jesli roleta j jest w trakcie podnoszenia i zostanie wcisniety przycisk WlacznikDolRoleta[j] lub WlacznikGoraRoletaPrim [j] lub na linijce pojawi się 100 to przestan opuszczac
- if (WskaznikPodnoszeniaRolety[j] == 1 && ((WlacznikDolRoletaPrim[j] == true) || (WlacznikGoraRoletaPrim[j] == true) || (WartoscNaLinijceSmartfona[j] >= 100))){
- digitalWrite(PrzekaznikGoraRoleta[j], HIGH); //przestan opuszczac
- WskaznikPodnoszeniaRolety[j] = 0;
- WskaznikOpuszczaniaRolety[j] = 0;
- WlacznikGoraRoletaPrim[j] = false;
- WlacznikDolRoletaPrim[j] = false;
- Blynk.virtualWrite(VirtualnyPin[j],0); //zmiana stanu pushbuttona w telefonie n '0'
- delay(50);
- }
- //==============CHYBA GDZIEŚ TU JEST PROBLEM====================
- //Przesylanie aktualnego stopnia przysloniecia na suwak w telefonie //WartoscSuwakaZeSmartfona
- if (WskaznikPodnoszeniaRolety[j] == 1 && WartoscNaLinijceSmartfona[j] < 100){
- if (millis() - SuwakPrzyslonieciaPoprzedni[j] > procencik * DeklarowanyCzasDzialaniaRolety[j]/100){
- WartoscNaLinijceSmartfona[j] = WartoscNaLinijceSmartfona[j] + procencik;
- Blynk.virtualWrite(DoLinijekSwietlnych[j],WartoscNaLinijceSmartfona[j]);
- SuwakPrzyslonieciaPoprzedni[j] = millis();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement