Připojení displeje 1602 s převodníkem I2C
Úvodní stránka › Fórum › Vaše projekty › Arduino › Připojení displeje 1602 s převodníkem I2C
- Toto téma obsahuje celkem 22 odpovědí. Do diskuze (6 diskutujících) se naposledy zapojil uživatel Jerry a poslední změna proběhla před 7 roky a 8 měsíci.
-
AutorPříspěvky
-
31.1.2017 v 19:27 #10309JerryÚčastník
Zdravím, už nějakou dobu se marně snažím zprovoznit zmiňovaný displej. Displej a převodník jsem si letoval sám po kontrole téměř pod mikroskopem opraveny dva skoro stuďáky. Zkoušel jsem už asi pět knihoven a na žádné se to nespustilo. Adresu převodníku 0x3F jsem získal pomocí zde uvedeného testovacího programu.Po zapnutí displeji svítí podsvícení a po nastavení trimru všech 16 tečkovaných obdélníčků ale pouze v prvním řádku. Po kompilaci se program nahraje displej zhasne jednou problikne (myslím posvícení) obdélníčky zůstanou jak byly ale bez podsvícení a nic se neděje. V každém programu se to chová trochu jinak, ale písmenka to rozhodně neukazuje.Zkoušeno na dvou UNO a jednom NANU pokaždé stejné Nemáte prosím někdo podobnou zkušenost. Díky za každou radu.
#include <Wire.h> #include <LiquidCrystal_I2C.h> // vytvoří objekt lcd a nastaví jeho adresu // 0x3F a 16 zanků na 2 řádcích LiquidCrystal_I2C lcd(0x3F,16,2); void setup() { lcd.init();// inicializuje displej lcd.backlight(); // zapne podsvětlení lcd.print("Ahoj lidi..."); // vypíše text } void loop() { }
//POZOR – na verzi Arduino IDE 1.0.5 většinou nejde přeložit,
// prosím, použijte novější verzi 1.0.6, děkuji.
//#include <Wire.h>
#include <LiquidCrystal_I2C.h>//nastavíme adresu a typ displeje
LiquidCrystal_I2C lcd(0x3F,20,4); // nastavení adresy (0x3F) je důležité!!!void setup()
{
lcd.init(); // initializace lcd// Vypíšeme nějaké texty na jednotlivé řádky, adresace je od 0, ne od 1.
lcd.backlight();
lcd.setCursor ( 0, 0 );
lcd.print(“ http://www.santy.cz „);
lcd.setCursor ( 0, 1 );
lcd.print(“ Test LCD 2004 I2C „);
lcd.setCursor ( 0, 2 );
lcd.print(“ Arduino-Home „);
lcd.setCursor ( 0, 3 );
lcd.print(“ http://www.santy.cz „);
}void loop()
{
}`Díky
31.1.2017 v 19:47 #10310ArduXPPÚčastníkUž se to tu psalo, stačí otočit trimmer. Je ze zadu u toho převodníku.
31.1.2017 v 19:54 #10311JerryÚčastníkMyslím že ne psal jsem v textu že trimr jsem nastavil že rastr svítí je to vidět i na videích. Je to v podstatě na max.
31.1.2017 v 20:03 #10313ArduXPPÚčastníkTak ještě zkusit tohle – http://playground.arduino.cc/Main/I2cScanner
31.1.2017 v 20:09 #10314ArduXPPÚčastník#include <Wire.h>
#include <LiquidCrystal_I2C.h>// vytvoří objekt lcd a nastaví jeho adresu
// 0x20 a 16 zanků na 2 řádcích
LiquidCrystal_I2C lcd(0x20,16,2);void setup()
{
lcd.init();// inicializuje displejlcd.backlight(); // zapne podsvětlení
lcd.print(„text“); // vypíše text
}void loop()
{
}Místo 0x20 se dopíše co ukázal skener
31.1.2017 v 20:12 #10316JerryÚčastníkTo jsem taky již psal v textu. Převodník nalezen adresa změněna na 0x3F. Pokud se zadá jakákoli jiná adresa modul nereaguje vůbec.
31.1.2017 v 20:28 #10317ArduXPPÚčastníkTak pak ještě vyzkoušet tenhle kod :
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>#define I2C_ADDR 0x3F
#define BACKLIGHT_PIN 7
#define En_pin 4
#define Rw_pin 5
#define Rs_pin 6
#define D4_pin 0
#define D5_pin 1
#define D6_pin 2
#define D7_pin 3#define LED_OFF 0
#define LED_ON 1
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);void setup()
{
lcd.begin (16,2); // initialize the lcd
// Switch on the backlight
lcd.setBacklightPin(BACKLIGHT_PIN,NEGATIVE);
lcd.setBacklight(LED_ON);
}void loop()
{// Reset the display
lcd.clear();
delay(1000);
lcd.home();// Print on the LCD
lcd.backlight();
lcd.setCursor(0,0);
lcd.print(„Hello, world!“);
delay(8000);
}Musí se použít knihovna tahle https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads .
31.1.2017 v 20:38 #10318JerryÚčastníkDíky vyzkouším
31.1.2017 v 20:54 #10319JerryÚčastníkNevím proč je tam definovaných tolik pinů a hlásí mi to chybu při kompilaci
31.1.2017 v 21:23 #10320KysaÚčastníkNevím jestli jsem dobře pochopil, který kód je v arduinu. Protože pokud je to
//POZOR – na verzi Arduino IDE 1.0.5 většinou nejde přeložit,
// prosím, použijte novější verzi 1.0.6, děkuji.
//#include <Wire.h>
#include <LiquidCrystal_I2C.h>//nastavíme adresu a typ displeje
LiquidCrystal_I2C lcd(0x3F,20,4); // nastavení adresy (0x3F) je důležité!!!void setup()
{
lcd.init(); // initializace lcd// Vypíšeme nějaké texty na jednotlivé řádky, adresace je od 0, ne od 1.
lcd.backlight();
lcd.setCursor ( 0, 0 );
lcd.print(“ http://www.santy.cz „);
lcd.setCursor ( 0, 1 );
lcd.print(“ Test LCD 2004 I2C „);
lcd.setCursor ( 0, 2 );
lcd.print(“ Arduino-Home „);
lcd.setCursor ( 0, 3 );
lcd.print(“ http://www.santy.cz „);
}void loop()
{
}`tak tady se používá display 4×20 znaků.
31.1.2017 v 21:35 #10321JerryÚčastníkIDE mám 1.8.0.
31.1.2017 v 21:54 #10322KysaÚčastníkO IDE nejde. skuste toto
#include <Wire.h>
#include <LiquidCrystal_I2C.h>//nastavíme adresu a typ displeje
LiquidCrystal_I2C lcd(0x3F,16,2); // nastavení adresy (0x3F) je důležité!!!void setup()
{
lcd.init(); // initializace lcd// Vypíšeme nějaké texty na jednotlivé řádky, adresace je od 0, ne od 1.
lcd.backlight();
lcd.setCursor ( 0, 0 );
lcd.print(„Test“);
lcd.setCursor ( 0, 1 );
lcd.print(„LCD“);
}void loop()
{
}31.1.2017 v 22:01 #10323JerryÚčastníkChyba při kompilaci deky
31.1.2017 v 22:04 #10324JerryÚčastníkjá už ani nevím pořádně co tam mám za knihovnu a kde je pořádně vymazat už jsem jich nahrál asi 11 a mám v tom neskutečnej guláš
31.1.2017 v 22:28 #10326JerryÚčastníkA proč po zapnutí svítí jen první řádek ? To tak má být nebo už tady je něco špatně ?
No nic koupím jiný a uvidím tohle není normální. Díky -
AutorPříspěvky
- Pro reakci na toto téma se musíte přihlásit.