Biblioteka LiquidCrystal_I2C.h - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Biblioteka LiquidCrystal_I2C.h (/watek-biblioteka-liquidcrystal-i2c-h) Strony:
1
2
|
Biblioteka LiquidCrystal_I2C.h - sylwunia35 - 19-03-2017 Witam Mam problem z bibliotekom LiquidCrystal_I2C. chciałem zmienić piny LCD z PCF8574 czy jest to możliwe. Korzystam Arduino IDE 1.8.0.Próby zmiany : //LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address //LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7); //LiquidCrystal_I2C lcd(2,1,0,4,5,6,7); kończą się niepowodzeniem. Zrobiłem sobie płytkę w której inaczej zrobiłem połączenia z LCD dla wygody bo myślałem że nie będzie problemu a jednak jest. Proszę o pomoc. RE: Biblioteka LiquidCrystal_I2C.h - namok - 19-03-2017 Jak chcesz pomocy to pisz konkretnie co, gdzie, kiedy i dlaczego. Nikt nie będzie się domyślał z której biblioteki korzystasz i jak zmieniłeś połączenia. RE: Biblioteka LiquidCrystal_I2C.h - ferdricco - 19-03-2017 Kod: //LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address W pierwszej linijce jest ok. Jest adres , wyjścia są przypisane i podświetlenie tez jest. W drugiej linijce brakuje podświetlenia LCD. Natomiast w trzeciej linijce niema ani adresu, ani podświetlenia. Ten kod co podałeś jest podany jako komentarz do kodu. RE: Biblioteka LiquidCrystal_I2C.h - sylwunia35 - 19-03-2017 Właśnie też tak myślałem że pierwsza jest ok ale wywala błąd OSITIVE was not in scope RE: Biblioteka LiquidCrystal_I2C.h - ferdricco - 19-03-2017 (19-03-2017, 21:41)sylwunia35 napisał(a): Właśnie też tak myślałem że pierwsza jest ok ale wywala błąd OSITIVE was not in scope Wstaw całość kodu zobaczymy co jest nie w hallo RE: Biblioteka LiquidCrystal_I2C.h - sylwunia35 - 19-03-2017 (19-03-2017, 23:16)ferdricco napisał(a):(19-03-2017, 21:41)sylwunia35 napisał(a): Właśnie też tak myślałem że pierwsza jest ok ale wywala błąd OSITIVE was not in scope #include <PCF8574.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> // Set the pins on the I2C chip used for LCD connections: // addr, en,rw,rs,d4,d5,d6,d7,bl,blpol sLiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address //LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7); //LiquidCrystal_I2C lcd(2,1,0,4,5,6,7); //LiquidCrystal_I2C lcd(0x3C, 16, 2); //LiquidCrystal_I2C lcd(0x4E/2, 2, 1, 0, 4, 5, 6, 7, 3); // konfigurujemy wyś //LiquidCrystal_I2C lcd(0x4E/2, 2, 1, 0, 4, 5, 6, 7, 3); // konfigurujemy wyświetlacz na modzule I2C PCF8574 expander1; //PCF8574 expander2; PCF8574 expander3; // LiquidCrystal lcd(7, 6, 5, 4, 3, 2); void setup() { lcd.begin(); lcd.begin(16,2); // initialize the lcd for 16 chars 2 lines, turn on backlight lcd.setCursor(0,0); lcd.print(" Centrala HB5 !"); delay(2000); expander1.begin(0x38);//klawiatura //expander2.begin(0x3C);//wyswietlacz expander3.begin(0x3E);//ledy expander1.pinMode(0, OUTPUT); //expander2.pinMode(0, OUTPUT); expander3.pinMode(0, OUTPUT); } void loop() { lcd.setCursor(1,1); lcd.print(" Centrala HB5 !"); //expander.clear(); expander1.digitalWrite(0, LOW); // expander2.digitalWrite(0, LOW); expander3.digitalWrite(0, LOW); delay(1000); expander1.digitalWrite(0, HIGH); // expander2.digitalWrite(0, HIGH); expander3.digitalWrite(0, HIGH); //expander.set(); delay(500); } Dodam iż na takim kupnym konwerterze bez tej nili działa RE: Biblioteka LiquidCrystal_I2C.h - ferdricco - 20-03-2017 (19-03-2017, 23:39)sylwunia35 napisał(a):(19-03-2017, 23:16)ferdricco napisał(a):(19-03-2017, 21:41)sylwunia35 napisał(a): Właśnie też tak myślałem że pierwsza jest ok ale wywala błąd OSITIVE was not in scope Czy ty w ogóle rozumiesz ten kod??? Wiesz co oznacza taki znak "//"??? RE: Biblioteka LiquidCrystal_I2C.h - sylwunia35 - 20-03-2017 (20-03-2017, 00:54)ferdricco napisał(a):(19-03-2017, 23:39)sylwunia35 napisał(a):(19-03-2017, 23:16)ferdricco napisał(a):(19-03-2017, 21:41)sylwunia35 napisał(a): Właśnie też tak myślałem że pierwsza jest ok ale wywala błąd OSITIVE was not in scope Tak te znaki zostawiłem bo testowałem różne warianty ale dobra dam czysty kod #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // tu jest problem void setup() { lcd.begin(); lcd.begin(16,2); } void loop() { lcd.setCursor(1,1); lcd.print(" COS TAM "); } RE: Biblioteka LiquidCrystal_I2C.h - sylwunia35 - 20-03-2017 (20-03-2017, 00:54)ferdricco napisał(a):(19-03-2017, 23:39)sylwunia35 napisał(a):(19-03-2017, 23:16)ferdricco napisał(a):(19-03-2017, 21:41)sylwunia35 napisał(a): Właśnie też tak myślałem że pierwsza jest ok ale wywala błąd OSITIVE was not in scope Tak te znaki zostawiłem bo testowałem różne warianty ale dobra dam czysty kod #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // tu jest problem //LiquidCrystal_I2C lcd(0x27, 16, 2);// a tak jest ok tyle że ja mam inaczej podłączony wyświetlacz do PCF void setup() { lcd.begin(); lcd.begin(16,2); } void loop() { lcd.setCursor(1,1); lcd.print(" COS TAM "); } RE: Biblioteka LiquidCrystal_I2C.h - Smaczek - 20-03-2017 Witam, Myślę, że popełniłeś błąd myślowy. Nawet nie jeden, a wiele. Jeśli masz ulicę (magistralę) i na tej ulicy masz domy o adresie 0x27 i 0x3C to nie ma problemu, żeby tam trafić. Ty chcesz dotrzeć do mieszkania (wyświetlacz) w domu o adresie 0x3C (expander) i w tym domu tego mieszkania należy szukać. Dodatkowo deklarujesz to mieszkanie: //LiquidCrystal_I2C lcd(0x3C, 16, 2); (biorąc oczywiście bez znaków komentarza) , a sam dom o adresie 0x3C budując dużo później: //expander2.begin(0x3C);//wyswietlacz. To najpierw stawiasz ściany mieszkania, czy też bloku w którym to mieszkanie ma być? Skąd kompilator ma wiedzieć, że rozkład mieszkań w domu 0x3C ma być identyczny jak dla 0x27? Na opak. Pozdrawiam. |