16x4 LCD kijelző

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
aranyosipeter
Újonc
Újonc
Hozzászólások: 9
Csatlakozott: 2013. június 26. szerda, 18:36

16x4 LCD kijelző

Hozzászólás Szerző: aranyosipeter »

Sziasztok!
Most ismerkedek LCD kijelzők vezérlése Arduinoval témakörrel, és még elég zöldfülű vagyok benne :)
Egy olyan problémám lenne, hogy bekötöttem mindent ahogy kell, beállítom a kurzort a megfelelő helyre ennek ellenére 3. és 4. sorokban a kiírt szövegeknél elcsúszást tapasztalok, ez minek köszönhető?

Válaszokat előre is köszönöm!

Kód:
// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 9, 8, 7, 6);
int tempRaise=18;
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 4);
// Print a message to the LCD.

}

void loop() {
lcd.setCursor(0, 2);
lcd.print("Jelenlegi ertek: ");
lcd.setCursor(0, 3);
lcd.print(tempRaise, DEC);
lcd.setCursor(2, 3);
lcd.print(" C/ora");
delay(1000);
}
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: 16x4 LCD kijelző

Hozzászólás Szerző: Robert »

Hülye tipp:
4x20-asként definiálod?
aranyosipeter
Újonc
Újonc
Hozzászólások: 9
Csatlakozott: 2013. június 26. szerda, 18:36

Re: 16x4 LCD kijelző

Hozzászólás Szerző: aranyosipeter »

Olyan ötlet nincs :) max nem jó :D Amúgy sajnos nem segít.
Viszont értelmezi a sorban való elhelyezésnél a -1-et is, mondjuk ez lehet csak nekem meglepő, de én úgy képzeltem el, hogy 0..15 és el van intézve :)
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: 16x4 LCD kijelző

Hozzászólás Szerző: kapu48 »

Rossz a kép, de én 4*18 karaktert számolok!
:?: 8)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: 16x4 LCD kijelző

Hozzászólás Szerző: Robert »

A kijelző adatlapja hogyna írja a memóriakiosztást?

Elvileg: sor: byte
1. sor: 0....15
2. sor: 40...55
3. sor: 20...35
4. sor: 60...75
Ha ettől eltér - akkor a függvénykönyvtárba nyúlj bele... :)

Sőt, mi a pontos típusa?
aranyosipeter
Újonc
Újonc
Hozzászólások: 9
Csatlakozott: 2013. június 26. szerda, 18:36

Re: 16x4 LCD kijelző

Hozzászólás Szerző: aranyosipeter »

Igen, tényleg nem minőség! :D 16-os kétszer is megszámoltam, biztos ami biztos :D, meg rajta van ugye 1604.

Csatoltam egy pdf-et, ha erre gondoltál, akkor tényleg bele kell nyúlni. :D
Egyébként BC1604A a típusa.
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
_hori
DrótVégénSzéndarab
Hozzászólások: 26
Csatlakozott: 2013. április 27. szombat, 18:54

Re: 16x4 LCD kijelző

Hozzászólás Szerző: _hori »

Más is megtalálta ezt a bug-ot. :)
http://forum.arduino.cc/index.php/topic,14604.0.html
Nem tanulmányoztam át alaposan, de úgy látom van rá megoldás.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: 16x4 LCD kijelző

Hozzászólás Szerző: Robert »

Igen. A megoldás:
A LiquidCrystal.cpp állományban a

Kód: Egész kijelölése

int row_offsets[] = { 0x00, 0x40, 0x14, 0x50 }; 
cserélendő a

Kód: Egész kijelölése

int row_offsets[] = { 0x00, 0x40, 0x10, 0x54 }; 
sorra.
Kész is van :)
aranyosipeter
Újonc
Újonc
Hozzászólások: 9
Csatlakozott: 2013. június 26. szerda, 18:36

Re: 16x4 LCD kijelző

Hozzászólás Szerző: aranyosipeter »

Köszönöm szépen!! :) Igen, én is gondoltam az adatlap alapján, hogy valami nem okés :D van mit még tanulnom!! :D
aranyosipeter
Újonc
Újonc
Hozzászólások: 9
Csatlakozott: 2013. június 26. szerda, 18:36

Re: 16x4 LCD kijelző

Hozzászólás Szerző: aranyosipeter »

Sziasztok!

Szeretnék megint egy kis segítséget kérni! Ráálltam most a kijelzőkre, és minden fajta lehetőséget ki szeretnék próbálni, segítségetekkel a 1604-es kijelző már szépen muzsikál, most egy 1602-es kijelzőt próbálgatok i2c-s busszal.

A buszhoz szükséges dolgokat kialakítottam ahogy kell, annyi ami esetleg hibalehetőség a felhúzóellenállásokat nem raktam bele. A buszon a kijelző és egy valós idejű óra működne, a szokásos kis tesztprogramokat megnézegettem rajta, kiírja a címeket, ami megint hiba lehet annak ellenére, hogy az arduino-n kívül két eszköz van a buszon, de három címet ír ki.

Ezeket csak azért írtam le, hogy már lehet ebből is kiderül mi a hiba csak én vagyok még túl tudatlan hozzá.
Erről is kis kijelzőről linkelek képeket, ahogy néztem egy PCF8574-HD44780 kombóval állok szemben :D
Letöltöttem hozzá a LiquidCrystal-I2C könyvtárat, kis próbaprogram, HelloWorld, és a következőt tapasztaltam, a második sorban az összes létező pixel működik, felsőben semmi. Eddig akármivel próbálkoztam ugyanez.

Kód:

Kód: Egész kijelölése

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display
void setup()
{
 lcd.init();                      // initialize the lcd 
 lcd.begin(16,2);
 // Print a message to the LCD.
 //lcd.backlight();
 lcd.clear();
 lcd.setCursor(2,0);
  lcd.print("Hello, world!");
 
}
void loop()
{
}
Ha van valami ötletetek akkor kérlek osszátok meg velem, előre is köszönöm!
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: 16x4 LCD kijelző

Hozzászólás Szerző: Robert »

A 2 eszköz 3 cím kérdéskörrel kezdenék...

A felhúzó ellenállás _kötelező!_
A kapcsolási rajz eszközöket pontosítd: milyen óra IC? kb 10-12 félét 3 perc alatt felsorolok.... :(
Az I2C buszsebesség lehet gond, az inicializálás, a pcf8574 chipfól és az LCDről a felhúzóellenállásokat kihagyják.

A képből ítélve: inicializálási hiba!

occo, kinai: made in dszunka III tipus esetén _dobd_ el!
Gyártói kód mit ír?

Arduino 00xx vagy 1.xx vagy 1.5.x?


Különben meg: viewtopic.php?f=23&t=828 :evil:
aranyosipeter
Újonc
Újonc
Hozzászólások: 9
Csatlakozott: 2013. június 26. szerda, 18:36

Re: 16x4 LCD kijelző

Hozzászólás Szerző: aranyosipeter »

Igen, nincs benne még felhúzó ellenállás. Mekkorát lenne érdemes belerakni?

Egy DS1307-es van még mellette. Hát igen, olcó kici kinai! :D
Egy Nanoval akarom hajtani, 1.0.4.-es.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: 16x4 LCD kijelző

Hozzászólás Szerző: Robert »

A 60 napos tanfolyam jár?
http://www.tavir.hu/60nap

A 24-es lecke ?

Különben: http://avr.tavir.hu/modules.php?name=Co ... age&pid=17


1307-es: 1 címe van.
PCF8574 : 1 címe van.

A harmadik címet tüntesd el!
aranyosipeter
Újonc
Újonc
Hozzászólások: 9
Csatlakozott: 2013. június 26. szerda, 18:36

Re: 16x4 LCD kijelző

Hozzászólás Szerző: aranyosipeter »

Olvastam ezt a leckét, igazából innen ismerem az i2c-t :D Tanfolyam, az fog játszani, ha vége végre a vizsgaidőszaknak, remélem minél hamarabb mert sok lesz belőle most már :D

Beraktam a felhúzó ellenállásokat(10 kilósokat választottam) viszont sajnos maradt a 3. cím és probléma is a kijelzővel. Hogy tudnám azt a 3. címet eltüntetni, vagyis igazából az izgat, hogy vajon minek lehet 3. címe mikor két eszköz van :D
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: 16x4 LCD kijelző

Hozzászólás Szerző: Robert »

Tesztprogram az I2C-re?

Képernyőfotó az eredményről?

Addig ötletbörze.....

U.i.: Nem a holnapi vizsgára kellene tanulni ?:)
Válasz küldése