Marcel535 Napisano Czerwiec 16, 2021 Udostępnij Napisano Czerwiec 16, 2021 mam błąd w kodzie programu korzystałem z tego poradnika https://majsterkowo.pl/prosty-kalkulator-na-arduino/?fbclid=IwAR01EmbPY_SzcygVfx4Uwe8QZZNiLJHvLFsVP0oVFmFDvRy03DU4bZiRyMc jak wpisze ten kod to mam taki błąd kalkulator:8:50: error: 'POSITIVE' was not declared in this scope exit status 1 'POSITIVE' was not declared in this scope z góry dziękuje Cytuj Link do komentarza Share on other sites More sharing options...
Gieneq Czerwiec 17, 2021 Udostępnij Czerwiec 17, 2021 @Marcel535 witam na forum 🙂 14 godzin temu, Marcel535 napisał: kalkulator:8:50: error: 'POSITIVE' was not declared in this scope Ten błąd oznacza, że jest jakaś zmienna (najpewniej która jest stałą lub typem wyliczeniowym), która nie jest widoczna w lini gdzie chcesz się do niej odwołać. Więc pewnie nie zaincludowałeś jakiejś biblioteki. Najlepiej wrzuć tutaj kod jaki testujesz. Cytuj Link do komentarza Share on other sites More sharing options...
Marcel535 Czerwiec 17, 2021 Autor tematu Udostępnij Czerwiec 17, 2021 (edytowany) to jest ten kod //Dołączone biblioteki #include <Wire.h> //Biblioteka I2C #include <LiquidCrystal_I2C.h> //Biblioteka wyświetlacza #include <Keypad.h> //Biblioteka klawiatury //Ustawienie wyświelacza LiquidCrystal_I2C lcd(0x27, 2, 0, 4, 5, 6, 7, 3, POSITIVE); //Ustawnienie klawiatury const byte ROWS = 4; // Ilość wierszy klawiatury const byte COLS = 4; // Ilość kolumn klawiatury byte rowPins[ROWS] = {13, 12, 11, 10}; //numery pinów w arduino dla wierszy byte colPins[COLS] = {9, 8, 7, 6}; //numery pinów w arduino dla kolumn //Podpisanie klawiszy char keys[ROWS][COLS] = { {'A','#','0','*'}, {'B','3','2','1'}, {'C','6','5','4'}, {'D','9','8','7'} }; //Inicjalizacja klawiatury Keypad klawiatura = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); void setup() { Serial.begin(9600); //połączenie z monitorem portu szeregowego lcd.begin(16, 2); //deklaracja typu wyświetlacza lcd.backlight(); // włączenie podwietlenia lcd.setCursor(0,0); //ustawienie kursora w kolumnie 0, lini 0 lcd.print("KALKULATOR"); //Wyświetlanie tekstu lcd.setCursor(0, 1); //ustawienie kursora w kolumnie 0, lini 1 lcd.print("MAJSTERKOWO :)"); //Wyświetlanie tekstu delay(2000); //Odczekanie lcd.clear(); //Wyczyszczenie ekranu } //Zmienne do przechowywania wartości long Numer1,Numer2,Numer; char klawisz,akcja; boolean wynik = false; void loop() { klawisz = klawiatura.getKey(); //pobranie wartości i przypisanie do zmiennej klawisz if (klawisz!=NO_KEY) //jeśli nie ma wartości wzmiennej klawisz WykryjKlawisz(); // wykonaj "WykryjKlawisz" if (wynik==true) //jeśli wartość wynik jest prawdziwa Przelicz(); // wykonaj "Przelicz" Wyswietl(); // wykonaj "Wyswietl" } //Wykryj klawisz void WykryjKlawisz() { lcd.clear(); //wyczyszczenie wyswietlacza if (klawisz=='*') //jeżeli wciśnięty klawisz C { Serial.println ("klawisz c"); //w monitorze portu wyświetl "klawisz c" Numer=Numer1=Numer2=0; wynik=false; //Przypisz 0 do zmiennych Numer, Numer1, Numer2 } if (klawisz == '1') //jeżeli klawisz 1 wciśnięty { Serial.println ("klawisz 1"); // w konsoli wyświetl klawisz 1 if (Numer==0) //jeżeli zmienna jest pusta Numer=1; //zmień wartość zmiennej na 1 else // jeżeli w zmiennej jest już jakaś liczba/cyfra Numer = (Numer*10) + 1; //wpisz 1 za tą liczbą/cyfrą } if (klawisz == '2') { Serial.println ("klawisz 2"); if (Numer==0) Numer=2; else Numer = (Numer*10) + 2; } if (klawisz == '3') { Serial.println ("klawisz 3"); if (klawisz==0) Numer=3; else Numer = (Numer*10) + 3; } if (klawisz == '4') { Serial.println ("klawisz 4"); if (Numer==0) Numer=4; else Numer = (Numer*10) + 4; } if (klawisz == '5') { Serial.println ("klawisz 5"); if (Numer==0) Numer=5; else Numer = (Numer*10) + 5; } if (klawisz == '6') { Serial.println ("klawisz 6"); if (Numer==0) Numer=6; else Numer = (Numer*10) + 6; } if (klawisz == '7') { Serial.println ("klawisz 7"); if (Numer==0) Numer=7; else Numer = (Numer*10) + 7; } if (klawisz == '8') { Serial.println ("klawisz 8"); if (Numer==0) Numer=8; else Numer = (Numer*10) + 8; } if (klawisz == '9') { Serial.println ("klawisz 9"); if (Numer==0) Numer=9; else Numer = (Numer*10) + 9; } if (klawisz == '0') { Serial.println ("klawisz 0"); if (Numer==0) Numer=0; else Numer = (Numer*10) + 0; } if (klawisz == '#') { Serial.println ("klawisz ="); Numer2=Numer; wynik = true; } if (klawisz == 'A' || klawisz == 'B' || klawisz == 'C' || klawisz == 'D') //jeżeli wykryty zostanie klwaisz a, b, c lub d { Numer1 = Numer; Numer =0; if (klawisz == 'A') {Serial.println ("dodawanie"); akcja = '+';} if (klawisz == 'B') {Serial.println ("odejmowanie"); akcja = '-'; } if (klawisz == 'C') {Serial.println ("mnozenie"); akcja = '*';} if (klawisz == 'D') {Serial.println ("dzielenie"); akcja = '/';} delay(100); } } //Przelicz void Przelicz() { if (akcja=='+') Numer = Numer1+Numer2; if (akcja=='-') Numer = Numer1-Numer2; if (akcja=='*') Numer = Numer1*Numer2; if (akcja=='/') Numer = Numer1/Numer2; if (akcja=='/' and Numer2==0) dzieleniePrzezZero(); } void dzieleniePrzezZero(){ Numer1=Numer2=Numer=0; wynik=false; lcd.setCursor(4,1); lcd.print("blad"); } void Wyswietl() { lcd.setCursor(0, 0); lcd.print(Numer1); lcd.print(akcja); lcd.print(Numer2); if (wynik==true){ lcd.print(" ="); lcd.print(Numer); } lcd.setCursor(0, 1); lcd.print(Numer); } Edytowano Czerwiec 17, 2021 przez Marcel535 Cytuj Link do komentarza Share on other sites More sharing options...
farmaceuta Czerwiec 17, 2021 Udostępnij Czerwiec 17, 2021 Masz tam taka opcje..."wstaw kod programu" wtedy ladnie pokazuje kod i wszystko widac...to nie zlosliwosc tylko nikomu nie bedzie sie chcialo tego teraz sprawdzac Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
ethanak Czerwiec 17, 2021 Udostępnij Czerwiec 17, 2021 A na Majsterkowie w komentarzach ktoś pisał że miał taki sam błąd, i ktoś inny mu odpowiedział co z tym zrobić... Cytuj Link do komentarza Share on other sites More sharing options...
Marcel535 Czerwiec 17, 2021 Autor tematu Udostępnij Czerwiec 17, 2021 14 minut temu, farmaceuta napisał: Masz tam taka opcje..."wstaw kod programu" wtedy ladnie pokazuje kod i wszystko widac...to nie zlosliwosc tylko nikomu nie bedzie sie chcialo tego teraz sprawdzac pierwszy raz napisałem coś na forum nie wiedziałem o tym Cytuj Link do komentarza Share on other sites More sharing options...
farmaceuta Czerwiec 17, 2021 Udostępnij Czerwiec 17, 2021 22 minuty temu, Marcel535 napisał: pierwszy raz napisałem coś na forum nie wiedziałem o tym Spoko spoko..😅 tak jak mowie to nie zlosliwosc z mojej strony... Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!