• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Błąd kompilacji - platforma UNO328p
#1
Witam - mam hi problem z kompilacja programu:

Kod:
#include <math.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <EEPROM.h>

byte xxpg[8] = {0b11111, 0b11111, 0b11111, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000}; // panel gora
byte xxpd[8] = {0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b11111, 0b11111, 0b11111}; //panel dol
byte xxpo[8] = {0b11111, 0b11111, 0b11111, 0b00000, 0b00000, 0b11111, 0b11111, 0b11111}; //panele oba
byte xxstrzalka[8] = {0b00000, 0b01000, 0b11100, 0b11110, 0b11111, 0b11110, 0b11100, 0b01000}; //strzalka

LiquidCrystal_I2C lcd(0x38,16,2);

int encoderPin1 = 3;              //
int encoderPin2 = 2;              //
volatile int lastEncoded = 0;     // ENKODER
volatile long encoderValue = 1;   //
long lastencoderValue = 0;        //
int lastMSB = 0;                  //
int lastLSB = 0;                  //

int H1 = 7; //przekaznik panel gora
int H2 = 8; //przekaznik panel dol
int buzzer = 4; //buzzer

int button_e = 11; //przycisk - enkoder

int encl = 2; //przerwanie - enkoder nr 1
int encp = 3; //przerwanie - enkoder nr 2

byte ekspmin[5] = {0,0,0,0,0}; //minuty ekspozycji
byte ekspsek[5] = {0,0,0,0,0}; //sekundy ekspozycji
byte panel[5] = {0,0,0,0,0};//zaswiecany panel
byte ekspal[5] = {0,0,0,0,0}; //alarm po ekspozycji
byte ciemnia[5] = {0,0,0,0,0}; //ciemnia
byte ciemmin[5] = {0,0,0,0,0}; //minuty ciemnia
byte ciemsek[5] = {0,0,0,0,0}; //sekundy ciemnia
byte ciemal[5] = {0,0,0,0,0}; //alarm po ciemni

byte temp[8] = {0,0,0,0,0,0,0,0};

byte miejsce = 0;
byte z = 0; //Poczatek wszystkiego
byte enko = 1; //wybrany program
byte poz = 0;


unsigned long czas, czas2, czasall;//czas do porwnania - millis, czas wcisniecia przycisku                                                                    


void setup(){  
 pinMode(encoderPin1, INPUT);
 pinMode(encoderPin2, INPUT);
 digitalWrite(encoderPin1, HIGH);
 digitalWrite(encoderPin2, HIGH);
 attachInterrupt(0, updateEncoder, CHANGE);
 attachInterrupt(1, updateEncoder, CHANGE);
   
 pinMode(H1, OUTPUT);
 pinMode(H2, OUTPUT);
 pinMode(buzzer, OUTPUT);  
 pinMode(button_e, INPUT);
 
 lcd.init();            
 lcd.setCursor(0,0);          
 lcd.print("-BeGie------v1.1");
 lcd.setCursor(0,1);          
 lcd.print("UV LED EXP. BOX ");
 
 lcd.createChar(1, xxpg);
 lcd.createChar(2, xxpd);
 lcd.createChar(3, xxpo);
 lcd.createChar(4, xxstrzalka);

 for (int i=0; i < 5; i++){       //zaswiecany panel (EEPROM 0 - 4)
   panel[i] = EEPROM.read(i);
 }  
 for (int i=0; i < 5; i++){       //minuty ekspozycji (EEPROM 5 - 9)
   ekspmin[i] = EEPROM.read(i+5);
 }  
 for (int i=0; i < 5; i++){       //sekundy ekspozycji (EEPROM 10 - 14)
   ekspsek[i] = EEPROM.read(i+10);
 }  
 for (int i=0; i < 5; i++){       //alarm po ekspozycji (EEPROM 15 - 19)
   ekspal[i] = EEPROM.read(i+15);
 }
 for (int i=0; i < 5; i++){       //ciemnia (EEPROM 20 - 24)
   ciemnia[i] = EEPROM.read(i+20);
 }
 for (int i=0; i < 5; i++){       //minuty ciemnia(EEPROM 25 - 29)
   ciemmin[i] = EEPROM.read(i+25);
 }
 for (int i=0; i < 5; i++){       //minuty sekundy(EEPROM 30 - 34)
   ciemsek[i] = EEPROM.read(i+30);
 }
 for (int i=0; i < 5; i++){       //alarm po ciemni(EEPROM 35 - 39)
   ciemal[i] = EEPROM.read(i+35);
 }
 
 
 delay(2000);
 lcd.clear();
 menu();
}


void menu(){
 switch (miejsce){
   
   case 0:
     if(z == 0){
       encoderValue = enko;
       z = 1;
     }
     
     if(encoderValue < 1){ encoderValue = 5;}
     if(encoderValue > 5){ encoderValue = 1;}
     lcd.setCursor(0,0);
     lcd.print("Profil ");
     lcd.print(encoderValue);
     lcd.print("/5       ");
     lcd.setCursor(0,1);
     
     switch (panel[encoderValue - 1]){
       case 0: lcd.write(1); break;
       case 1: lcd.write(2); break;
       case 2: lcd.write(3); break;
     }
     
     lcd.setCursor(1,1);
     if(ekspmin[encoderValue - 1] < 10){
       lcd.print("0");
       lcd.print(ekspmin[encoderValue - 1]);
     } else {
         lcd.print(ekspmin[encoderValue - 1]);
       }
       
     lcd.setCursor(3,1);
     lcd.print(":");
     lcd.setCursor(4,1);
     
     if(ekspsek[encoderValue - 1] < 10){
       lcd.print("0");
       lcd.print(ekspsek[encoderValue - 1]);
     } else {
         lcd.print(ekspsek[encoderValue - 1]);
       }
     
     if(ekspal[encoderValue - 1] == 1){
       if(ciemnia[encoderValue - 1] == 1){
         lcd.write(4);
         lcd.print("A");
         lcd.write(4);
       } else{
           lcd.write(4);
           lcd.print("A ");
         }        
     } else{
         if(ciemnia[encoderValue - 1] == 1){
           lcd.print(" ");
           lcd.write(4);
           lcd.print(" ");
         } else{
             lcd.print("   ");
           }
       }
     
     if(ciemnia[encoderValue - 1] == 1){
       lcd.setCursor(9,1);                 //CIEMNIA
       if(ciemmin[encoderValue - 1] < 10){
         lcd.print("0");
         lcd.print(ciemmin[encoderValue - 1]);
       } else {
           lcd.print(ciemmin[encoderValue - 1]);
         }
       
       //lcd.setCursor(11,1);
       lcd.print(":");
       //lcd.setCursor(12,1);
     
       if(ciemsek[encoderValue - 1] < 10){
         lcd.print("0");
         lcd.print(ciemsek[encoderValue - 1]);
       } else {
           lcd.print(ciemsek[encoderValue - 1]);
         }
         
       //lcd.setCursor(14,1);
       if(ciemal[encoderValue - 1] == 1){
         lcd.write(4);
         lcd.print("A");
       } else {
           lcd.print("  ");
         }
     } else{
         lcd.setCursor(9,1);
         lcd.print("       ");
       }
     //
     
     if (digitalRead(button_e) == HIGH){
       do{
         delay(50);
       }while (digitalRead(button_e) == HIGH);
       lcd.clear();
       delay(200);
       miejsce = 1;
       z = 0;
       enko = encoderValue;
     }
   
     menu();    
     
   break;
 
   case 1:
     if(z == 0){
       encoderValue = 1;
       z = 1;
       
       lcd.setCursor(0,0);
       lcd.print("Profil ");
       lcd.print(enko);
       lcd.print("         ");      
     }
     
     if(encoderValue < 1){ encoderValue = 3;}
     if(encoderValue > 3){ encoderValue = 1;}
     lcd.setCursor(0,1);
     switch (encoderValue) {
       case 1: lcd.print("1.Start           "); break; //1.Start
       case 2: lcd.print("2.Modyfikuj       "); break; //2.Modyfikacja
       case 3: lcd.print("3.Cofnij          "); break; //3.Powrót
     }
       
     if (digitalRead(button_e) == HIGH){
       do{
         delay(50);
       } while(digitalRead(button_e) == HIGH);
       lcd.clear();
       z = 0;
       if(encoderValue == 1){start();}
       if(encoderValue == 2){miejsce = 2;}
       if(encoderValue == 3){miejsce = 0;}
     }  
     
     menu();
     
   break;
   
   case 2: //USTAWIANIE PANELI
     if(z == 0){
       encoderValue = panel[enko - 1];
       z = 1;
       
       //lcd.print("-BeGie----------");
       lcd.setCursor(0,0);
       lcd.print("Ktory panel wl.?");      
     }
     
     if(encoderValue < 0){ encoderValue = 2;}
     if(encoderValue > 2){ encoderValue = 0;}
     lcd.setCursor(0,1);
     switch (encoderValue) {
       case 0: lcd.write(1); lcd.print("1.Gorny         "); break;
       case 1: lcd.write(2); lcd.print("2.Dolny         "); break;
       case 2: lcd.write(3); lcd.print("3.Oba           "); break;
     }
     
     if (digitalRead(button_e) == HIGH){
       do{
         delay(50);
       } while(digitalRead(button_e) == HIGH);
       lcd.clear();
       temp[0] = encoderValue;
       z = 0;
       miejsce = 3;      
     }
   
     menu();
     
   break;  
   
   case 3: //USTAWIANIE MINUT EKSPOZYCJI
     if(z == 0){
       encoderValue = ekspmin[enko - 1];
       z = 1;        
       lcd.setCursor(0,0);
       lcd.print("Czas ekspozycji?");
       czas = millis();
     }
     
     if(encoderValue < 0){ encoderValue = 45;}
     if(encoderValue > 45){ encoderValue = 0;}
     lcd.setCursor(0,1);
     
     if (czas + 700 > millis()){
       if(encoderValue < 10){
         lcd.print("0");
         lcd.print(encoderValue);  
         } else {
             lcd.print(encoderValue);
           }
     } else {
         if (czas + 1000 > millis()){
           lcd.print("  ");
         } else {
             czas = millis();
           }
       }
     lcd.setCursor(2,1);
     lcd.print(":");
     if(ekspsek[enko - 1] < 10){
       lcd.print("0");
       lcd.print(ekspsek[enko - 1]);
     } else {
         lcd.print(ekspsek[enko - 1]);
       }
     
     if (digitalRead(button_e) == HIGH){
       do{
         delay(50);
       } while(digitalRead(button_e) == HIGH);
       lcd.clear();
       temp[1] = encoderValue;
       z = 0;
       miejsce = 4;      
     }
     
     menu();
     
   break;

   case 4: //USTAWIANIE SEKUND EKSPOZYCJI
     if(z == 0){
       encoderValue = ekspsek[enko - 1];
       z = 1;        
       lcd.setCursor(0,0);
       lcd.print("Czas ekspozycji?");
       czas = millis();
     }
     
     lcd.setCursor(5,1);
     lcd.print(" ");
     if (temp[1] == 0){
       if(encoderValue < 5){ encoderValue = 59;}
       if(encoderValue > 59){ encoderValue = 5;}
     } else {
         if(encoderValue < 0){ encoderValue = 59;}
         if(encoderValue > 59){ encoderValue = 0;}
       }
     //if(encoderValue < 0){ encoderValue = 59;}
     //if(encoderValue > 59){ encoderValue = 0;}
     lcd.setCursor(0,1);

     if(temp[1] < 10){
       lcd.print("0");
       lcd.print(temp[1]);
     } else {
         lcd.print(temp[1]);
       }
     lcd.print(":");      
     lcd.setCursor(3,1);
     if (czas + 700 > millis()){
       if(encoderValue < 10){
         lcd.print("0");
         lcd.print(encoderValue);  
       } else {
           lcd.print(encoderValue);
         }
     } else {
         if (czas + 1000 > millis()){
           lcd.print("  ");
         } else {
             czas = millis();
           }
       }
     
     if (digitalRead(button_e) == HIGH){
       do{
         delay(50);
       } while(digitalRead(button_e) == HIGH);
       lcd.clear();
       temp[2] = encoderValue;
       z = 0;
       miejsce = 5;      
     }
     
     menu();
     
   break;
 
   case 5: //USTAWIANIE ALARMU PO EKSPOZYCJI
     if(z == 0){
       encoderValue = ekspal[enko - 1];
       z = 1;
       
       lcd.setCursor(0,0);
     //lcd.print("-BeGie----------");
       lcd.print("Alarm po eksp.? ");      
     }
     
     if(encoderValue < 0){ encoderValue = 1;}
     if(encoderValue > 1){ encoderValue = 0;}
     lcd.setCursor(0,1);
     switch (encoderValue) {
       case 0: lcd.print("1.Brak alarmu   "); break;
       case 1: lcd.print("2.Alarm         "); break;
     }
     
     if (digitalRead(button_e) == HIGH){
       do{
         delay(50);
       } while(digitalRead(button_e) == HIGH);
       lcd.clear();
       temp[3] = encoderValue;
       z = 0;
       miejsce = 6;      
     }
   
     menu();
     
   break;
 
   case 6: //WL/WYL CIEMNI
     if(z == 0){
       encoderValue = ciemnia[enko - 1];
       z = 1;
       
       lcd.setCursor(0,0);
     //lcd.print("-BeGie----------");
       lcd.print("Wl/wyl ciemnia? ");      
     }
     
     if(encoderValue < 0){ encoderValue = 1;}
     if(encoderValue > 1){ encoderValue = 0;}
     lcd.setCursor(0,1);
     switch (encoderValue) {
       case 0: lcd.print("1.Wylacz ciemnie"); break;
       case 1: lcd.print("2.Wlacz ciemnie "); break;
     }
     
     if (digitalRead(button_e) == HIGH){
       do{
         delay(50);
       } while(digitalRead(button_e) == HIGH);
       lcd.clear();
       temp[4] = encoderValue;
       z = 0;
       if(encoderValue == 1){
         miejsce = 7;
       } else {
           miejsce = 10;
         }    
     }
   
     menu();
     
   break;
   
   case 7: //USTAWIANIE MINUT CIEMNI
     if(z == 0){
       encoderValue = ciemmin[enko - 1];
       z = 1;        
       lcd.setCursor(0,0);
     //lcd.print("-BeGie----------");
       lcd.print("Czas ciemni?    ");
       czas = millis();
     }
     
     if(encoderValue < 0){ encoderValue = 45;}
     if(encoderValue > 45){ encoderValue = 0;}
     lcd.setCursor(0,1);
     if (czas + 700 > millis()){
       if(encoderValue < 10){
         lcd.print("0");
         lcd.print(encoderValue);  
         } else {
             lcd.print(encoderValue);
           }
     } else {
         if (czas + 1000 > millis()){
           lcd.print("  ");
         } else {
             czas = millis();
           }
       }
     lcd.setCursor(2,1);
     lcd.print(":");
     if(ciemsek[enko - 1] < 10){
       lcd.print("0");
       lcd.print(ciemsek[enko - 1]);
     } else {
         lcd.print(ciemsek[enko - 1]);
       }
     
     if (digitalRead(button_e) == HIGH){
       do{
         delay(50);
       } while(digitalRead(button_e) == HIGH);
       lcd.clear();
       temp[5] = encoderValue;
       z = 0;
       miejsce = 8;      
     }
     
     menu();
     
   break;
   
   case 8: //USTAWIANIE SEKUND CIEMNI
     if(z == 0){
       encoderValue = ciemsek[enko - 1];
       z = 1;        
       lcd.setCursor(0,0);
     //lcd.print("-BeGie----------");
       lcd.print("Czas ciemni?    ");
       czas = millis();
     }
     lcd.setCursor(5,1);
     lcd.print(" ");
     if (temp[5] == 0){
       if(encoderValue < 5){ encoderValue = 59;}
       if(encoderValue > 59){ encoderValue = 5;}
     } else {
         if(encoderValue < 0){ encoderValue = 59;}
         if(encoderValue > 59){ encoderValue = 0;}
       }
     lcd.setCursor(0,1);
     if(temp[5] < 10){
       lcd.print("0");
       lcd.print(temp[5]);
     } else {
         lcd.print(temp[5]);
       }
     lcd.print(":");      
     lcd.setCursor(3,1);
     if (czas + 700 > millis()){
       if(encoderValue < 10){
         lcd.print("0");
         lcd.print(encoderValue);  
       } else {
           lcd.print(encoderValue);
         }
     } else {
         if (czas + 1000 > millis()){
           lcd.print("  ");
         } else {
             czas = millis();
           }
       }    
     
     if (digitalRead(button_e) == HIGH){
       do{
         delay(50);
       } while(digitalRead(button_e) == HIGH);
       lcd.clear();
       temp[6] = encoderValue;
       z = 0;
       miejsce = 9;      
     }
     
     menu();
     
   break;
   
   case 9: //USTAWIANIE ALARMU PO CIEMNI
     if(z == 0){
       encoderValue = ciemal[enko - 1];
       z = 1;
       
       lcd.setCursor(0,0);
     //lcd.print("-BeGie----------");
       lcd.print("Alarm po ciemni?");      
     }
     
     if(encoderValue < 0){ encoderValue = 1;}
     if(encoderValue > 1){ encoderValue = 0;}
     lcd.setCursor(0,1);
     switch (encoderValue) {
       case 0: lcd.print("1.Brak alarmu   "); break;
       case 1: lcd.print("2.Alarm         "); break;
     }
     
     if (digitalRead(button_e) == HIGH){
       do{
         delay(50);
       } while(digitalRead(button_e) == HIGH);
       lcd.clear();
       temp[7] = encoderValue;
       z = 0;
       miejsce = 10;      
     }
   
     menu();
     
   break;
 
 case 10: //POTWIERDZENIE
     if(z == 0){
       encoderValue = 0;
       z = 1;
       
       lcd.setCursor(0,0);
     //lcd.print("-BeGie----------");
       lcd.print("Zapisac zmiany  ");
       lcd.setCursor(0,1);
       lcd.print("profilu ");
       lcd.print(enko);
       lcd.print("?");
     }
     
     if(encoderValue < 0){ encoderValue = 1;}
     if(encoderValue > 1){ encoderValue = 0;}
     lcd.setCursor(11,1);
     switch (encoderValue) {
       case 0: lcd.print("-TAK-"); break;
       case 1: lcd.print("-NIE-"); break;
     }
     
     if (digitalRead(button_e) == HIGH){
       do{
         delay(50);
       } while(digitalRead(button_e) == HIGH);
       lcd.clear();
       
     //lcd.print("-BeGie----------");
       lcd.setCursor(0,0);
       lcd.print("ZAPISYWANIE...  ");
       if(encoderValue == 0){ //ZAPISZ
         byte y = 0;
         for (int i=0; i < 8; i++){
           EEPROM.write((enko - 1) + y, temp[i]);
           y = y + 5;
           delay(50);
         }
         y = 0;
         lcd.setCursor(0,0);
         lcd.print("ZAPISANO...     ");
       } else {
         lcd.setCursor(0,0);
         lcd.print("ANULOWANO...    ");
         }
       
       for (int i=0; i < 5; i++){       //zaswiecany panel (EEPROM 0 - 4)
         panel[i] = EEPROM.read(i);
       }  
       for (int i=0; i < 5; i++){       //minuty ekspozycji (EEPROM 5 - 9)
         ekspmin[i] = EEPROM.read(i+5);
       }  
       for (int i=0; i < 5; i++){       //sekundy ekspozycji (EEPROM 10 - 14)
         ekspsek[i] = EEPROM.read(i+10);
       }  
       for (int i=0; i < 5; i++){       //alarm po ekspozycji (EEPROM 15 - 19)
         ekspal[i] = EEPROM.read(i+15);
       }
       for (int i=0; i < 5; i++){       //ciemnia (EEPROM 20 - 24)
         ciemnia[i] = EEPROM.read(i+20);
       }
       for (int i=0; i < 5; i++){       //minuty ciemnia(EEPROM 25 - 29)
         ciemmin[i] = EEPROM.read(i+25);
       }
       for (int i=0; i < 5; i++){       //minuty sekundy(EEPROM 30 - 34)
         ciemsek[i] = EEPROM.read(i+30);
       }
       for (int i=0; i < 5; i++){       //alarm po ciemni(EEPROM 35 - 39)
         ciemal[i] = EEPROM.read(i+35);
       }
 
       delay(1000);
       
       z = 0;
       miejsce = 0;                        
     }
 
     menu();
     
   break;
     
       
 
   
 
   
 } //KONIEC GLOWNEGO SWITCH  
} //KONIEC MENU

void start(){
 
 switch(miejsce){
   
   case 0:
     lcd.clear();
     lcd.setCursor(0,0);
     lcd.print("START...        ");
     miejsce = 1;
     start();
   break;
   
   
   case 1:
     switch(panel[enko - 1]){
       case 0:
         digitalWrite(H1, HIGH);
         digitalWrite(H2, LOW);
       break;
     
       case 1:
         digitalWrite(H1, LOW);
         digitalWrite(H2, HIGH);
       break;
       
       case 2:
         digitalWrite(H1, HIGH);
         digitalWrite(H2, HIGH);
       break;
     }
     miejsce = 2;
     z = 0;
     start();
   break;
   
   case 2:
     if(z == 0){
       if(ciemnia[enko - 1] == 0){
         czas2 = ((ekspmin[enko - 1] * 60) + ekspsek[enko - 1]);          
       } else{
           czas2 = (((ekspmin[enko - 1] * 60) + ekspsek[enko - 1]) + (ciemmin[enko - 1] * 60) + ciemsek[enko - 1]);
           czas = ((ekspmin[enko - 1] * 60) + ekspsek[enko - 1]);  
         
         }
       czasall = czas2;
       czas = (czas * 1000) + millis();
       czas2 = (czas2 * 1000) + millis();
       z = 1;
     }
     
     if(poz == 0){
       lcd.setCursor(0,0);
       lcd.print("Ekspozycja UV  ");
       lcd.setCursor(15,0);
       switch (panel[enko - 1]) {
         case 0: lcd.write(1); break;
         case 1: lcd.write(2); break;
         case 2: lcd.write(3); break;
       }
     }
     
     if(poz == 2){
       lcd.setCursor(0,0);
       lcd.print("Ciemnia         ");
     }
     
     lcd.setCursor(0,1);
     lcd.print("Czas: ");
     lcd.setCursor(6,1);
     if ((((czas2 - millis()) / 1000) / 60) > 9){
       lcd.print(((czas2 - millis()) / 1000) / 60);
     } else{
         lcd.setCursor(6,1);
         lcd.print("0");
         lcd.setCursor(7,1);
         lcd.print(((czas2 - millis()) / 1000) / 60);
       }
     lcd.setCursor(8,1);
     lcd.print(":");
     if ((((czas2 - millis()) / 1000) % 60) > 9){
       lcd.setCursor(9,1);
       lcd.print(((czas2 - millis()) / 1000) % 60);
     } else{
         lcd.setCursor(9,1);
         lcd.print("0");
         lcd.setCursor(10,1);
         lcd.print(((czas2 - millis()) / 1000) % 60);
       }
     lcd.setCursor(11,1);
     lcd.print(" "); // czyscik
       
     if (((100 - ((czas2 - millis()) / czasall) / 10)) > 99){
       lcd.setCursor(12,1);
       lcd.print((100 - ((czas2 - millis()) / czasall) / 10));
     } else {
       if (((100 - ((czas2 - millis()) / czasall) / 10)) > 9){
         lcd.setCursor(12,1);
         lcd.print(" ");
         lcd.print((100 - ((czas2 - millis()) / czasall) / 10));
       } else {
           lcd.setCursor(12,1);
           lcd.print("  ");
           lcd.print((100 - ((czas2 - millis()) / czasall) / 10));
         }
     }
     lcd.setCursor(15,1);
     lcd.print("%");
     
     if ((((czas - millis()) / 1000) / 60) == 0 && (((czas - millis()) / 1000) % 60) == 0 && poz == 0){ //ALARM KONCA EKSPOZYCJI
       if (ciemnia[enko - 1] == 0){
         miejsce = 3;
         poz = 3;
       } else {
           miejsce = 3;
           poz = 1;
         }
     }
     
     if ((((czas2 - millis()) / 1000) / 60) == 0 && (((czas2 - millis()) / 1000) % 60) == 0){ //ALARM KONCA
       miejsce = 3;
       poz = 3;
     }
     
     if (digitalRead(button_e) == HIGH){
       do{
         delay(50);
       } while(digitalRead(button_e) == HIGH);            
         lcd.clear();
         lcd.setCursor(0,0);
         lcd.print("ANULOWANO...    ");
         digitalWrite(H1, LOW);
         digitalWrite(H2, LOW);
         delay(1000);
         lcd.clear();
         z = 0;
         poz = 0;
         miejsce = 0;
         menu();      
     }
     
     start();
   break;
   
   case 3:
     if(poz == 1){
       lcd.setCursor(0,0);
       lcd.print("     KONIEC     ");
       lcd.setCursor(0,1);
       lcd.print(" EKSPOZYCJI UV! ");
       if(ekspal[enko - 1] == 1){
         digitalWrite(buzzer, HIGH);
       }
       digitalWrite(H1, LOW);
       digitalWrite(H2, LOW);
       delay(2000);
       digitalWrite(buzzer, LOW);
       poz = 2;
       miejsce = 2;
       start();
     }
     
     if(poz == 3){
       lcd.setCursor(0,0);
       lcd.print("     KONIEC     ");
       lcd.setCursor(0,1);
       lcd.print("   PROGRAMU!!   ");
       digitalWrite(H1, LOW);
       digitalWrite(H2, LOW);
       if((ciemnia[enko - 1] == 0 && ekspal[enko - 1] == 1) || (ciemnia[enko - 1] == 1 && ciemal[enko - 1] == 1)){
         digitalWrite(buzzer, HIGH);
       }
       if (digitalRead(button_e) == HIGH){
         do{
           delay(50);
           digitalWrite(buzzer, LOW);
         } while(digitalRead(button_e) == HIGH);
           
         lcd.clear();
         z = 0;
         poz = 0;
         miejsce = 0;
         menu();      
       }        
     }
     start();

   break;
   
 
 } //KONIEC
} //KONIEC START




void loop(){
}

void updateEncoder(){
 int MSB = digitalRead(encoderPin1);
 int LSB = digitalRead(encoderPin2);

 int encoded = (MSB << 5) |LSB;
 int sum  = (lastEncoded << 1) | encoded;

 if(sum == 0b1101 || sum == 0b0100 || sum == 0b0010 || sum == 0b1011) encoderValue ++;
 if(sum == 0b1110 || sum == 0b0111 || sum == 0b0001 || sum == 0b1000) encoderValue --;

 lastEncoded = encoded;
 
}

komunikat który się pojawia:

Cytat: This report would have more information with
 "Show verbose output during compilation"
 enabled in File > Preferences.
Arduino: 1.0.6 (Windows 7), Board: "Arduino Uno"
sketch_jul31a:11: error: invalid conversion from 'int' to 't_backlighPol'
sketch_jul31a:11: error: initializing argument 3 of 'LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, t_backlighPol)'
C:\Users\Jacek\Documents\Arduino\libraries\NewliquidCrystal/LiquidCrystal_I2C.h: In function 'void setup()':
C:\Users\Jacek\Documents\Arduino\libraries\NewliquidCrystal/LiquidCrystal_I2C.h:154: error: 'int LiquidCrystal_I2C::init()' is private
sketch_jul31a:63: error: within this context

link do projektu:
http://majsterkowo.pl/naswietlarka-lamin...wietlanie/

na moje pytanie odnośnie błędu autor nie odpowiada - proszę o pomoc.
pozdrawiam Jacek.
 
#2
error: 'int LiquidCrystal_I2C::init()
Inne wywołanie masz w zainstalowanej u siebie bibliotece , skompilowałem to zmieniając lcd.begin(16,2);
z // lcd.init();
error: initializing argument 3 of 'LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, t_backlighPol)'
Trzeci argument dajesz int a twojej bibliotece zachciewa się t_backlighPol ,wiec albo wgraj taką jak używa autor albo dostosuj do swojej.
------------------------------------------------------------
Arduino: 1.0.6 (Windows 7), Board: "Arduino Uno"
Dodam iż moje arduino 1.6.10 (Manjaro 16.06.1 Daniella).
 
#3
Witam - dzięki za odpowiedź - zrobiłem aktualizacje bibliotek - lcd ruszył - ale podświetlenia nie ma - nie znam się aż tak aby modyfikować biblioteki arduino - może Kolega pomóc.
pozdrawiam Jacek.
 
#4
lcd.setBacklightPin(3,POSITIVE);
lcd.setBacklight(HIGH);// (HIGH|LOW)
umieszczasz w void setup()
Nie modyfikujesz bibliotek ,ja tam sprawdzam jakie dana funkcja ma argumenty metodą (zobacz kotku co mam w środku ) i tak ją wywołuje .
 
#5
Witam - Kolego dziękuje za pomoc - działa podświetlenie - jeszcze raz dziękuje i pozdrawiam Jacek.
 
#6
Zamykam. Smile
[Obrazek: Sygnatura1-w60.jpg]
 
  


Skocz do:


Przeglądający: 2 gości