Display 2004
Úvodní stránka › Fórum › Hardware › Displeje › Display 2004
- Toto téma obsahuje celkem 9 odpovědí. Do diskuze (5 diskutujících) se naposledy zapojil uživatel Axamith a poslední změna proběhla před 7 roky a 10 měsíci.
-
AutorPříspěvky
-
13.6.2016 v 19:11 #7337havala4Účastník
Dobrý den, mám mega 2560 a I2C display 2004 když nahraji do arduina sketch tak všechny čtverce se rozsvíti a data jsou vydělitelné jenom pod uhlem je to normální?
Děkuji RomanAttachments:
13.6.2016 v 19:13 #7340havala4Účastník//Please download the Arduino library!
//The link:http://www.dfrobot.com/image/data/DFR0154/LiquidCrystal_I2Cv1-1.rar
//DFRobot.com
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h>
#include <LiquidCrystal_I2C.h>#if defined(ARDUINO) && ARDUINO >= 100
#define printByte(args) write(args);
#else
#define printByte(args) print(args,BYTE);
#endifuint8_t bell[8] = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4};
uint8_t note[8] = {0x2,0x3,0x2,0xe,0x1e,0xc,0x0};
uint8_t clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0};
uint8_t heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0};
uint8_t duck[8] = {0x0,0xc,0x1d,0xf,0xf,0x6,0x0};
uint8_t check[8] = {0x0,0x1,0x3,0x16,0x1c,0x8,0x0};
uint8_t cross[8] = {0x0,0x1b,0xe,0x4,0xe,0x1b,0x0};
uint8_t retarrow[8] = { 0x1,0x1,0x5,0x9,0x1f,0x8,0x4};LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 20 chars and 4 line display(All jumpers should be connected!)
void setup()
{
// Serial.begin(57600);
lcd.init(); // initialize the lcd
lcd.backlight();lcd.createChar(0, bell);
lcd.createChar(1, note);
lcd.createChar(2, clock);
lcd.createChar(3, heart);
lcd.createChar(4, duck);
lcd.createChar(5, check);
lcd.createChar(6, cross);
lcd.createChar(7, retarrow);
lcd.home();lcd.setCursor(0, 0);
for(int i = 0;i < 20; i++) lcd.printByte(6);
lcd.setCursor(0, 1);
lcd.printByte(6);
lcd.print(“ Hello world „);
lcd.printByte(6);
lcd.setCursor(0, 2);
lcd.printByte(6);
lcd.print(“ i „);
lcd.printByte(3);
lcd.print(“ arduinos! „);
lcd.printByte(6);
lcd.setCursor(0, 3);
for(int i = 0;i < 20; i++) lcd.printByte(6);
// lcd.clear();}
void loop()
{}
13.6.2016 v 19:51 #7341AlešÚčastníkOtočit trimrem nepomůže?
13.6.2016 v 19:57 #7342havala4ÚčastníkDíky za radu vše funguje jak má.
8.12.2016 v 18:55 #9425AxamithÚčastníkAhoj, mám podobný problém, LCD 20×4, v podstatě základní kód, IC2.
Displej ale jen svítí a zobrazuje vyplněné čtverce. Dokonce jen 20×2 místo 20×4, jako by sudé řádky chyběly. Nastavení jasu trimrem nepomůže, zobrazuje od úplně tmavých čtverců o prázdný displej.. Testováno po IC2, na přímo zatím ne. Svítí takto i při jen připojeném napájení, bez sběrnice. Je to normální? Foceno s vypnutým podsvícením.Attachments:
8.12.2016 v 20:18 #9428Vojtěch VosáhloÚčastníkRozhodně by se šiklo info o vašem programu a I2C čipu displeje.
9.12.2016 v 5:40 #9436AxamithÚčastníkTyp čipu (jejda, tam je písmenek):
PCF8574AT
AQ0675
1 21
kn04203Program jsem zkoušel podle LCD Displej.
Kód:// LCD displej pres I2C // navody.arduino-shop.cz // knihovny pro LCD přes I2C #include <Wire.h> #include <LiquidCrystal_I2C.h> // nastavení adresy I2C (0x27 v mém případě), // a dále počtu znaků a řádků LCD, zde 20x4 LiquidCrystal_I2C lcd(0x27, 20, 4); void setup() { // inicializace LCD lcd.begin(); // zapnutí podsvícení lcd.backlight(); // vytisknutí hlášky na první řádek lcd.print("->arduino-shop.cz<-"); // nastavení kurzoru na první znak, druhý řádek // veškeré číslování je od nuly, poslední znak je tedy 19, 3 lcd.setCursor ( 0, 1 ); lcd.print("--------------------"); lcd.setCursor ( 0, 2); lcd.print(" Test LCD pres I2C"); lcd.setCursor ( 19, 3); lcd.print("!"); delay(2000); } void loop() { // nastavení kurzoru na devátý znak, druhý řádek lcd.setCursor(8, 1); // vytisknutí počtu sekund od začátku programu lcd.print(millis() / 1000); }
V každém případě mi není jasné, jestli má displej zobrazovat 2 řádky ze 4, už jen při připojeném napájení (ten počet je taky takový divný). Trimrem jsem schopen regulovat jas, od úplně tmavých čtverců po čistě prázdný displej. Propojkou na I2C zapnout/vypnout podsvícení.
9.12.2016 v 6:47 #9438AxamithÚčastníkPřikládám foto čipu sběrnice. Ještě bych se rád zeptal, k čemu jsou piny A0, A1, A2 na desce sběrnice, viz. foto.
Attachments:
9.12.2016 v 12:23 #9443Luke_CZÚčastníkA, nahrej do arduina i2c_scanner, ten ti ukáže na terminálu připojená zařízení na I2C sběrnici, pokud tam máš jen ten LCD, tak uvidíš jeho adresu ve tvaru 0xXX (pokud ho máš tedy dobře připojený). Tuto adresu musíš zadat ve skeči v části LiquidCrystal_I2C lcd(0xXX, 20, 4)
B, piny A0, A1, A2 jsou právě určeny ke změně adresy zařízení viz zde
L.
9.12.2016 v 18:31 #9444AxamithÚčastníkTrefa do černého, byla to adresa. Už svítíme, zobrazujeme (já a displej) 🙂
a hlavně se učíme. -
AutorPříspěvky
- Pro reakci na toto téma se musíte přihlásit.