Автор Тема: Още един проблем с LCD  (Прочетена 26048 пъти)

zoro1

  • Global Moderator
  • *****
  • Публикации: 610
    • Профил
    • http://www.zoro1.com
Още един проблем с LCD
« -: Септември 13, 2010, 05:15:23 pm »
Каквото и да пиша ,независимо че на симулатора върви все това показва?Дали е изгорял дисплея?






Uploaded with ImageShack.us]


...Великите нации  се държат като гангстери,а малките като проститутки...
И.Несторов
Skype:Zorro1430

kotaraka

  • Бил знаел какво е Мехатроника!
  • *****
  • Публикации: 114
    • Профил
Още един проблем с LCD
« Отговор #1 -: Септември 13, 2010, 09:18:41 pm »
Едвали е изгорял.
Предполагам че не се инициалицира правилно.
На симулатора може да покаже много неща. Реалният живот е друго нещо.
Радостин Киров   26г.     Бургас

http://vbox7.com/play:c8b99132
http://vbox7.com/play:c627c6b9

mivr

  • Бил знаел какво е Мехатроника!
  • *****
  • Публикации: 118
    • Профил
Още един проблем с LCD
« Отговор #2 -: Септември 13, 2010, 11:35:38 pm »
Преди време и аз имах същият проблем.
Решението е много просто:
Първо най-вероятно отзад на платката ти един
от металните крака на дисплея не контактува (да онези които са самият корпус) тези крака са
 масите на дисплея(или поне така мисля :-D )
 в моя случай един от тези крака се беше разместили -->3/4 от дисплея не работеха.
Сега по-трудният въпрос , по снимката не мога да кажа много
(не че иначе мога да кажа много повече) но проблема ми прилича на ненастроен контраст
той се настройва от 3-ти крак чрез потенциометър.

Надявам се че бях полезен(ако ли не поне има на какво да се посмеем :-D )
Михаил Врачaнски 19год. В ТУ-София Автоматика

Skype: mivrmmm

email: [email protected]

zoro1

  • Global Moderator
  • *****
  • Публикации: 610
    • Профил
    • http://www.zoro1.com
Още един проблем с LCD
« Отговор #3 -: Септември 14, 2010, 09:17:12 pm »
Aми 3 то краче не се използва,поне програмно,като го закача дисплея към ардуиното и пусна мигащия дисплей тези символи дето се виждат мигат.но нищо не изписва нито светва до край.


...Великите нации  се държат като гангстери,а малките като проститутки...
И.Несторов
Skype:Zorro1430

Vexorian

  • Заклет Роботостроител
  • *****
  • Публикации: 305
    • Профил
Още един проблем с LCD
« Отговор #4 -: Септември 14, 2010, 09:42:16 pm »
3-то краче е точно за контраста, другата възможност е да не е инициализиран. http://www.ampire.com.tw/Spec-AC/AC-162A.pdf ли е дисплея? С този тип съм работил много, и никога не ми се е получавало това.
Викторио Семир Ел Хаким, София 20г.
Аналогова/Цифрова електроника, програмиране
I\'m watching your ass! :D

tommyboy

  • Направо Робот! :)
  • *****
  • Публикации: 416
    • Профил
Още един проблем с LCD
« Отговор #5 -: Септември 14, 2010, 10:06:29 pm »
Контраст, контрасттт връткай тримера, ако няма слагай 10к тример . :-D  :-D  :-D

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Още един проблем с LCD
« Отговор #6 -: Септември 15, 2010, 11:01:33 am »
Специално за zoro1 една примерна схема с код за управление на LCD 16x2. Базирана е на:
- LCD - AMC1602, blue - Komet
- MCU - ATMEGA88
- библиотека за управление я взех оттук  http://www.pocketmagic.net/?p=447, с някои модификации от моя страна.
Проекта за AVR studio може да бъде изтеглен оттук. Няма проблеми да се прекомпилира и за друг AVR.
Ето и една снимка на схемата:
 
Ясен Паунски,  гр.София, 39 г.

devilxp1

  • Вече знае какво е робот!
  • *****
  • Публикации: 43
    • Профил
Още един проблем с LCD
« Отговор #7 -: Септември 16, 2010, 05:25:05 pm »
Както преди мен беше написал- tommyboy...контраста!
Христо Илиев.  гр.Горна оряховица    25год.

zoro1

  • Global Moderator
  • *****
  • Публикации: 610
    • Профил
    • http://www.zoro1.com
Още един проблем с LCD
« Отговор #8 -: Септември 16, 2010, 08:36:16 pm »
Или аз не съм бил ясен и не сте ме разбрали или не знам.
В схемата на робоконтролера в самоя шиилд има потенциометър кък 3 то краче ,при завъртането му дисплея гасне съвсем /е малко прозира/
Схемата на контролера я има тук :
[СХЕМА]




шиилда е тук :




Uploaded with ImageShack.us

А и ако е контраста не мислите ли че ще се виждат всички символи ,а не само половината?И то не зависи от това което качвам в контрлера.Опитвал съм и с робоконтролера с а32,същата работа.
В събота ще го донеса на сбирката пък Яско ако донесе здрав дисплей ще пробвам.
Схемата на включване е стандартна

[СХЕМА]
Използвам го с BASCOM AVR кода е от семпълите както и готови от интернет.
Ето примерен код

$regfile = "m32def.dat"                                  

$crystal = 16000000 '

$lib "lcd4.lbx"    


  Do
Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7

Config Lcd = 16 * 2
Cls                

Lcd "TEST   234   TEST"  

Lowerline          

Lcd "LCD test GOOD!!!"      

Wait 3 'Чакам 3 секунди дисплея работи
Cls      ' изчистване    
wait 3 'чакам 3 секунди дисплея не бачка
Loop

End


...Великите нации  се държат като гангстери,а малките като проститутки...
И.Несторов
Skype:Zorro1430

westsiderz

  • Заклет Роботостроител
  • *****
  • Публикации: 244
    • Профил
    • http://www.xequtor.co.nr
Още един проблем с LCD
« Отговор #9 -: Септември 19, 2010, 07:55:16 am »
Докато сме на вълна LCD дисплеи и аз да попитам нещо. При следната схема:



Uploaded with ImageShack.us

Когато симулирам с Proteus на дисплея не иска да изпише нищо  ;( Кода ми е следния, писан на MikroC:


sbit LCD_RS at RE2_bit;
sbit LCD_EN at RE0_bit;
//sbit LCD_RW at RE1_bit;
sbit LCD_D0 at RB0_bit;
sbit LCD_D1 at RB1_bit;
sbit LCD_D2 at RB2_bit;
sbit LCD_D3 at RB3_bit;
sbit LCD_D4 at RB4_bit;
sbit LCD_D5 at RB5_bit;
sbit LCD_D6 at RB6_bit;
sbit LCD_D7 at RB7_bit;

sbit LCD_RS_Direction at TRISE2_bit;
sbit LCD_EN_Direction at TRISE0_bit;
//sbit LCD_RW_Direction at TRISE1_bit;
sbit LCD_D0_Direction at TRISB0_bit;
sbit LCD_D1_Direction at TRISB1_bit;
sbit LCD_D2_Direction at TRISB2_bit;
sbit LCD_D3_Direction at TRISB3_bit;
sbit LCD_D4_Direction at TRISB4_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D7_Direction at TRISB7_bit;

char txt1[] = "mikroElektronika";
char txt2[] = "EasyPIC5";



void main(){
  TRISB = 0x00;
  TRISE = 0x00;
  Lcd_Init();                        // Initialize LCD

  //Lcd_Cmd(_LCD_CLEAR);                // Clear display
  Lcd_Cmd(_LCD_CURSOR_OFF);           // Cursor off
  Lcd_Out(1,6,txt1);                 // Write text in first row
  Lcd_Out(2,6,txt2);                 // Write text in second row
  Delay_ms(2000);
  Lcd_Cmd(_LCD_CLEAR);                // Clear display




}


Къде може да ми е грешката, дали не съм свързал правилно нещата или има грешки в кода. Поне синтактични грешки няма. Искам да свържа управляващите пинове към ПОРТ С не към В. Нали не е проблем. R/W смятам да го свържа към контролера, и когато го свържа пак нищо не става, пак нищо не изписва. И другото което ме интересува. В схемата на yasko потенциометъра е 10к, аз мисля да слагам 47к - да не е много. А другия резистор, който е към подсветката - 15R няма ли да е малко. Или ако сложа към 100 ома да не бъде в повече?
\"We will make electricity so cheap that only the rich will burn candles.\" ~ Thomas Edison

Ахмед Караибрахимов, гр. София 25г.

http://roboleague.bg/
http://xequtor.co.nr

zoro1

  • Global Moderator
  • *****
  • Публикации: 610
    • Профил
    • http://www.zoro1.com
Още един проблем с LCD
« Отговор #10 -: Септември 19, 2010, 09:25:53 am »
Ами ако можеше да зададвш че контролера се връзва към определен порт предполагам че е това:

sbit LCD_RS_Direction at TRISE2_bit;
sbit LCD_EN_Direction at TRISE0_bit;
//sbit LCD_RW_Direction at TRISE1_bit;
sbit LCD_D0_Direction at TRISB0_bit;
sbit LCD_D1_Direction at TRISB1_bit;
sbit LCD_D2_Direction at TRISB2_bit;
sbit LCD_D3_Direction at TRISB3_bit;
sbit LCD_D4_Direction at TRISB4_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D7_Direction at TRISB7_bit;
значи няма проблем.
А защо го използваш в 8 битов режим?
По темата  моя дисплей е изгорял,как -не знам


...Великите нации  се държат като гангстери,а малките като проститутки...
И.Несторов
Skype:Zorro1430

westsiderz

  • Заклет Роботостроител
  • *****
  • Публикации: 244
    • Профил
    • http://www.xequtor.co.nr
Още един проблем с LCD
« Отговор #11 -: Септември 19, 2010, 04:49:51 pm »
Цитат на: "zoro1"
Ами ако можеше да зададвш че контролера се връзва към определен порт предполагам че е това:

sbit LCD_RS_Direction at TRISE2_bit;
sbit LCD_EN_Direction at TRISE0_bit;
//sbit LCD_RW_Direction at TRISE1_bit;
sbit LCD_D0_Direction at TRISB0_bit;
sbit LCD_D1_Direction at TRISB1_bit;
sbit LCD_D2_Direction at TRISB2_bit;
sbit LCD_D3_Direction at TRISB3_bit;
sbit LCD_D4_Direction at TRISB4_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D7_Direction at TRISB7_bit;
значи няма проблем.
А защо го използваш в 8 битов режим?
По темата  моя дисплей е изгорял,как -не знам


Точно така, с това задавам към кой порт се връзват изводите на дисплея. Без това дисплея не може да се инициализира. Проблем ли е ако е в 8 битов режим. Понеже възнамерявам с един switch да го променям на 4 или 8 битов режим и да тествам и двата варианта. Тествах и при 4 битов режим пак е същото. Незнам дали е от Proteus или от нещо друго. В симулацията дисплея просто се включва и свети, курсора се появява, но няма текст. Когато сглобих схемата на бредборд, този път дисплея въобще не се включи. Дали това е знак, че е изгорял (макар че го купих преди два дни) и как може да се провери дали работи - ако към изводи 1 и 2 на дисплея приложим 4.5В напрежение трябва ли да светне поне или трябва и другите изводи да са включени.
BTW: Същата програмка я пробвах на PIC16F84A в 8 битов режим и работи безгрешка :shock:
\"We will make electricity so cheap that only the rich will burn candles.\" ~ Thomas Edison

Ахмед Караибрахимов, гр. София 25г.

http://roboleague.bg/
http://xequtor.co.nr

zoro1

  • Global Moderator
  • *****
  • Публикации: 610
    • Профил
    • http://www.zoro1.com
Още един проблем с LCD
« Отговор #12 -: Септември 19, 2010, 08:39:20 pm »
Аз си играх с една Атмега8 и Атмега32.Използвах BASCOM AVR,там също удобно се инициализират портовевте,но ударих на камък.На симулацията си върви ,ама на "живо" не.А с ат90s2313 -никакъв проблем.
8 битовия режим се използва при комуникация която се изисква да е бърза.За 16*2 не е необходимо.
Ако използваш нещо от рода на графично LCD ли цветен дисплей от телефон  може.
Та айде сега някой да помага.
За да светне дисплея не само напрежение му трябва ,трябва да има и сигнал някъкъв,Rs ниско En вискоко ниво.


...Великите нации  се държат като гангстери,а малките като проститутки...
И.Несторов
Skype:Zorro1430

westsiderz

  • Заклет Роботостроител
  • *****
  • Публикации: 244
    • Профил
    • http://www.xequtor.co.nr
Още един проблем с LCD
« Отговор #13 -: Септември 19, 2010, 10:24:39 pm »
Разбрах и вече си реших проблема: не е трябвало RS и EN да се свързват към PORTE. Направих го да е в 4 битов режим, свързах всичко към PORTC и сега няма проблем.  :clap:
\"We will make electricity so cheap that only the rich will burn candles.\" ~ Thomas Edison

Ахмед Караибрахимов, гр. София 25г.

http://roboleague.bg/
http://xequtor.co.nr

westsiderz

  • Заклет Роботостроител
  • *****
  • Публикации: 244
    • Профил
    • http://www.xequtor.co.nr
Още един проблем с LCD
« Отговор #14 -: Септември 22, 2010, 06:14:55 pm »
Преди малко пробвах с един PIC16F877 и един 16х2 LCD. Понеже не бях вкарал добре контролера в цокъла и явно не се получаваше добър контакт, ми се получи същото като на тебе  :shock:  Понатиснах и вкарах контролера до край в цокъла и почна да си работи нормално - както е и на симулацията   :clap:  Та ти препоръчвам да видиш дали някъде има елемент който не дава добър контакт, може да е МК-то или нещо друго. Просто при мен се оправи а беше същото/
\"We will make electricity so cheap that only the rich will burn candles.\" ~ Thomas Edison

Ахмед Караибрахимов, гр. София 25г.

http://roboleague.bg/
http://xequtor.co.nr