Nokia és egyéb telefon LCD-k

Hogyha sikeresen O/PLED illetve hagyományos alfanumerikus - esetleg tán grafikus kijelzővel gyűlik meg a baja valakinek:)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Én a rendszer 5V-bol allitottam elo a 3.3V-ot , nem az alaplapi 3.3-at használtam. LP2950-33 vagy LM1117-33.

Es a tapfesz 5V-t, 3.3V-ot 100nF keramiaval szurtem (szokasos elovigyazatosag).
Avatar
doncarlos
Bitmanipulátor
Hozzászólások: 131
Csatlakozott: 2007. október 14. vasárnap, 6:00

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

Robert írta:Én a rendszer 5V-bol allitottam elo a 3.3V-ot , nem az alaplapi 3.3-at használtam. LP2950-33 vagy LM1117-33.

Es a tapfesz 5V-t, 3.3V-ot 100nF keramiaval szurtem (szokasos elovigyazatosag).
Igazság szerint van egy ilyen ki cuccom: http://skyduino.files.wordpress.com/201 ... 040729.jpg szal a 3.3 adott. Csak a netet bújva láttam hogy az lcd bizonyos portjára kell még egy kis kerámiakondi (vagy az a 3310-nél volt?) vagy ilyen apróságok ami miatt miután összerakja az ember az istenért nem akar működni :D
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Ez jó. Itt 3 3v3 kb. 150-200 mA-l terhelhető. Az alappaneli néha csak 50 mA-es!


A LCD bekötésnél van hogy a 3.3Vból állítja elő a kontrasztfeszt külső kondival. De ez LCDSpecifikus már (ilyen pl az EAGOG kijelző). Én Nokia 128x128 pixeléessel játszom, annak a hülyeségeivel már képben vagyok:) .
Avatar
doncarlos
Bitmanipulátor
Hozzászólások: 131
Csatlakozott: 2007. október 14. vasárnap, 6:00

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

Ez is az az, egy PCF8833 vezérlős lcd ez van a Nokia 2600, 3100, 3200, 6100, 6610, 7210, 7250-be.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Akkor nem látok benne fejreállást.
Nálam nem volt legalábbis :) .
Avatar
doncarlos
Bitmanipulátor
Hozzászólások: 131
Csatlakozott: 2007. október 14. vasárnap, 6:00

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

Valaminek mindig közbe kell jönnie... Úgy látszik hogy nekem pont más lcd-m van, mert inverzek a szinek valamint y-tengelyen tükrözve van a kijelzés :S olvastam valahol hogy vannak ilyen modulok. Mit lehetne ezzel csinálni? Próbáltam keresni az mcselec fórumon de nem találtam még semmit.

Más, a háttérvilágításhoz szükséges 6V honnan szerezhető be legegyszerűbben?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

stepup valami.
MC33034 ic (fejből)

Az inverz stb, van rá az adatlapban parancs és helyrerakja.
Avatar
doncarlos
Bitmanipulátor
Hozzászólások: 131
Csatlakozott: 2007. október 14. vasárnap, 6:00

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

Robert írta:stepup valami.
MC33034 ic (fejből)

Az inverz stb, van rá az adatlapban parancs és helyrerakja.
igen megtaláltam,

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

Glcdcmd &H21
Glcdcmd &H36
kell küldeni és a H36-nak utána megfelelő glcddata-t ami állítja a tükrözést. és még a szinek is inverzek voltak... mostmár úgy néz ki hogy OK. Már csak rendes 6V-t kell mert ami állítható tápfeszű adapterem van azon kicsit sok jön ki a 6V-helyett.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

2 tipp van:
- Betáp magasabb, akkor egy zeneres - tranzisztoros szabályzó.
- nálam a 5Vból a kapcsolóüzemű van. Itt 5-> 7.2V

Miért az 5V alapú?
- mert a külső adapterhez nem vagyok kötve.
- USB-ről járatom a holmit. Itt 5V van csak...
Avatar
pezsma
DrótVégénSzéndarab
Hozzászólások: 22
Csatlakozott: 2011. november 14. hétfő, 7:00

Re: Nokia és egyéb telefon LCD-k

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

Hali,
írtam egy programot ami egy atmega 168 3 pwm lábát szabályozza, és kiírja egy 3310-es kijelzőre. Proteus szimulátorban megy, a megépített hardverben csak akkor működik ha kitörölöm a másik 2 csatorna szabályozást a programból. A kijelzőre írok rosszul, vagy a programom bug-os?

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

#include <avr/io.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <util/delay.h>
#include <avr/pgmspace.h>
#include "lcd.h"

void pwm ();

volatile int pwm_dysp;
volatile int pwm_dysp2;
volatile int pwm_dysp3;
char int1str[10];
char int2str[10];
char int3str[10];



int main(void)
{
	DDRB= (1<<PINB1) | (1<<PINB2) | (1<<PINB3);
    DDRD=0x00;
    PORTD=0xFF;

	TCCR1A|=(1<<COM1A1)|(0<<COM1A0)|(1<<COM1B1)|(0<<COM1B0)|(1<<COM2A1)|(0<<COM2A0)|(1<<WGM10);
	TCCR1B|=(1<<WGM12)|(1<<CS11);
	TCCR2A|=(1<<COM2A1)|(0<<COM2A0)|(1<<WGM20)|(1<<WGM21);
	TCCR2B|=(1<<CS21);
	
	lcd_init();
	
	_delay_ms(100);
	
	lcd_contrast(0x10);
	
	lcd_clear();


	pwm_dysp = 0;
    pwm_dysp2 = 0;
    pwm_dysp3 = 0;

    for(;;)
    {  
	pwm();
		
	}	


}

void pwm() 
{
	unsigned int w;
//	char str1[10];
//	char str2[10];

	unsigned int W;
//    char str3[10];
//	char str4[10];

	unsigned int A;
//    char str5[10];
//	char str6[10];
	
	
	
/***********************************************************/ //PIROS
	if(bit_is_clear(PIND,0) || bit_is_clear(PIND,1))
	{
		while(bit_is_clear(PIND,0) || bit_is_clear(PIND,1))
		{
	    if(bit_is_clear(PIND,0) && OCR1A<255)OCR1A+=5;
        if(bit_is_clear(PIND,1) && OCR1A>0)OCR1A-=5;
		
		if(bit_is_clear(PIND,0) && pwm_dysp<100) pwm_dysp+=2;
		if(bit_is_clear(PIND,1) && pwm_dysp>0) pwm_dysp-=2;
		
		lcd_clear_area(1,50,83);
		//itoa(pwm_dysp/10,str1,10);
		//itoa(pwm_dysp%10,str2,10);
		//sprintf(int1str,"%s.%s", str1, str2);
		itoa(pwm_dysp,int1str,10);
		w = strlen(int1str);
		lcd_goto_xy(13 - w,1);
		lcd_str(int1str);
        lcd_goto_xy(14,1);
		lcd_str("%");

        _delay_ms(20);		
		
		}
	
     }


/**************************************/ //ZÖLD
if(bit_is_clear(PIND,2) || bit_is_clear(PIND,3))
	{
		while(bit_is_clear(PIND,2) || bit_is_clear(PIND,3))
		{
		if(bit_is_clear(PIND,2) && OCR2A<255) OCR2A+=5;
	    if(bit_is_clear(PIND,3) && OCR2A>0) OCR2A-=5;
	
        if(bit_is_clear(PIND,2) && pwm_dysp2<100) pwm_dysp2+=2;
		if(bit_is_clear(PIND,3) && pwm_dysp2>0)  pwm_dysp2-=2;

		lcd_clear_area(2,50,83);
	    //itoa(pwm_dysp2/10,str3,10);
		//itoa(pwm_dysp2%10,str4,10);
		//sprintf(int2str,"%s.%s", str3, str4);
		itoa(pwm_dysp2,int2str,10);
		W = strlen(int2str);
		lcd_goto_xy(13 - W,2);
		lcd_str(int2str);
        lcd_goto_xy(14,2);
		lcd_str("%");
      		
  _delay_ms(20);

	    }
	}


/****************************/ //KÉK
if(bit_is_clear(PIND,4) || bit_is_clear(PIND,5))
	{
		while(bit_is_clear(PIND,4) || bit_is_clear(PIND,5))
		{
		if(bit_is_clear(PIND,4) && OCR1B<255) OCR1B+=5;
	    if(bit_is_clear(PIND,5) && OCR1B>0) OCR1B-=5;

		if(bit_is_clear(PIND,4) && pwm_dysp3<100) pwm_dysp3+=2;
		if(bit_is_clear(PIND,5) && pwm_dysp3>0) pwm_dysp3-=2;
	
		lcd_clear_area(3,50,83);
	    //itoa(pwm_dysp3/10,str5,10);
		//itoa(pwm_dysp3%10,str6,10);
		//sprintf(int3str,"%s.%s", str5, str6);
		itoa(pwm_dysp3,int3str,10);
		A = strlen(int3str);
		lcd_goto_xy(13 - A,3);
		lcd_str(int3str);
        lcd_goto_xy(14,3);
		lcd_str("%");
      		
  _delay_ms(20);

	    }
	 }

}


Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: Nokia és egyéb telefon LCD-k

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

Szerintem a szimulátor nem tudja a valós sebességet utánozni.
Ezért látod a kijelzőt.

Viszont a valós HW olyan gyors, hogy a szemed nem tudja követni a változás sebességét.
:lol:
Avatar
pezsma
DrótVégénSzéndarab
Hozzászólások: 22
Csatlakozott: 2011. november 14. hétfő, 7:00

Re: Nokia és egyéb telefon LCD-k

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

Értem, köszönöm, majd még kitalálom mi legyen vele.
Válasz küldése