• 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
Problem z LCD po I2C
#1
Witajcie,
Od niedawna jestem posiadaczem modułów Arduino Leonardo oraz Nano,

Napotkałem teraz na pewien problem którego nie mogę obejść,
Nie mogę obsłużyć wyświetlacza po I2C. Posiadam LCD 2x16 znaków do tego konwerter na układzie HD44780 .
Za pomocą skanera uzyskałem adres 0x3F . Cały czas problem tkwi w linni " LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7); "
no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int)'
umieszczenie "LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE)"  również nie daje rezultatu
wtedy " 'POSITIVE' was not declared in this scope "

Wgrałem zalecane bibloteki obsługujące I2C do tego posiadam wersje kompilatora 1.8.1
Czy wgranie starszej wersji np 1.6 pomoże obejść te przypadłość podczas kompilowanie czy może ja coś nie tak robię ?
Niżej zamieszczam kod :




#include <LiquidCrystal_I2C.h>
 #include <Wire.h>
 #define BACKLIGHT_PIN 3
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7);
 void setup()
 {
 lcd.begin (16,2);
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
 lcd.setBacklight(HIGH);
lcd.home ();
 lcd.print("Moje LCD ");
 }
 void loop()
{ lcd.setCursor(0, 1);
 lcd.print(millis()/1000);
}
 
Odpowiedź
#2
Nie ma czegoś takiego jak wgranie biblioteki!!!
Twój problem polega na tym że nie znasz podstaw programowania w c++ i używasz zapewne gotowego programu który nie jest zgodny z biblioteką którą posiadasz w systemie.
Bibliotek do LCD 16x2 jest sporo, pytanie której Ty używasz?
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
 
Odpowiedź
#3
(07-05-2017, 13:50)namok napisał(a): Nie ma czegoś takiego jak wgranie biblioteki!!!
Twój problem polega na tym że nie znasz podstaw programowania w c++ i używasz zapewne gotowego programu który nie jest zgodny z biblioteką którą posiadasz w systemie.
Bibliotek do LCD 16x2 jest sporo, pytanie której Ty używasz?

"namok"  masz rację .... pomyliłem słowa. Dołączyłem zbyt wiele biblotek z I2C i zrobił się bałagan w katalogu Libraries. Wgrałem teraz jedną ze strony  " http://playground.arduino.cc/Main/LibraryList#LCDs " i ruszyło .
Kod programu wklejam poniżej.


#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F,16,2);  // set the LCD address to 0x27 for a 20 chars and 4 line display

void setup()
{
  lcd.init();                   // initialize the lcd
 

  lcd.backlight();
  lcd.print("**  Test LCD  **");
}

void loop()
{
}
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości