logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Sterowanie kolorowym wyświetlaczem LCD Nokia 3510i - szukam artykułu i wskazówek

set6666 04 Sty 2006 19:33 5873 12
REKLAMA
  • #1 2146443
    set6666
    Poziom 18  
    Posty: 377
    Pomógł: 1
    Ocena: 3
    Witam kupiłem nowy numer edw i odrazu rzucił mi sie w oczy wyświetlacz na okładce, przeczytałem artykół i dowiedziałem sie że to wyswietlacz od noki 3510i (kolorowy), wiem że w sieci było dużo o sterowniu monochromatycznymi wyśwetalczami od tych telefonów, nie ma ktoś akrykółu o sterowniu tym wyświetlaczem ? czy jest równie proste jak wyśwetalczem czarno-białym, jest to chyba najtańczy dostępny kolorowy wyswietalacz na allegro chodzi po 17zł !!! za taką cene trudno kupić czarno-biały wyswietalcz graficzny a co dopiero kolorowy!
  • REKLAMA
  • #2 2146735
    PiotrLotnik
    Poziom 15  
    Posty: 207
    Pomógł: 2
    Ocena: 2
    Witam, ja też zabrałem sie za ten wyświetlacz, narazie robie płytkę. Do tej pory mam pozytywne doświadczenia z wyświetlaczen 3310.

    Niestety nic konkretnego na tym forum na temat wyświetlacza 3510i nie znalazłem, i nie chodzi mi tu o linki do innych stron ale o wypowiedzi i pomoc osób które już mają jakieś (przyjemne) doświadczenia z tym wyświetlaczem.

    (Pewnie teraz spadnie na mnie krytyka i opinie, że nie znam magi "szukania" :)
  • REKLAMA
  • #3 2148672
    szikaka
    Poziom 14  
    Posty: 105
    Pomógł: 3
    Ocena: 8
    Witam
    Pewnie gdzies to tu jest, ale naraze sie i wysle, a na googlach napewno znajdziecie
    Załączniki:
    • 3510i-demo.txt (21.07 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #4 2150338
    Darekg
    Poziom 17  
    Posty: 210
    Pomógł: 27
    Ocena: 11
    Sporo rzeczy i przydatnych linków jest na tym forum. Cóz dodać...., od siebie mogę żę uruchomiłem sterowanie tym wyświetlaczem w języku C pod AVR-GCC. Uzyłem procka ATmega32 bo takiego akurat miałem.
    Wyświetlacz sam w sobie jest fajny gdyż łatwo podlutowac jedt do niego przewody i podłaczyć z pozostałą płytką.
    W załączeniu kilka przydatnych informacji wraz z jakimiś źródłami, ale nie moimi.

    a to link do sterownika:
    http://www.mikrocontroller.net/attachment.php/60010/D15G14E_14_030526.pdf
    Załączniki:
    • Nokia 3510i.pdf (79.57 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Sterowanie kolorowym wyświetlaczem LCD Nokia 3510i - szukam artykułu i wskazówek lcdni3510.jpg (3.66 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #5 2150360
    Darekg
    Poziom 17  
    Posty: 210
    Pomógł: 27
    Ocena: 11
    Zapomniałem dodaź źródła programu.... :)

    
    'Ansteuerung eines Nokia 3510i Farb-Display
    'Copyright Martin Kuehn    Januar 2004
    'martin-k@x-mail.net
    'Dieses Programm dient nur für Demonstrationszwecke und ist absichtlich
    'sehr einfach gehalten. Es ging mir nicht darum, elegant zu programmieren,
    'sondern exemplarisch die Display-Ansteuerung aufzuzeigen.
    'Prozessor: AVR Mega128, 3 Volt, Taktfrequenz 4 MHz
    'Viele Werte zur Ansteuerung sind willkürlich gewählt und können noch
    'optimiert werden.
    'Bei einer Taktfrequenz von über 8 MHz könnte die Ansteuerung des Displays
    'nicht mehr funktionieren, eventuell Wait-Befehle einfügen
    'Es scheint so, dass die LCD-Spannung durch Software nicht verändert werden
    'kann, dementsprechend kann auch der Kontrast nicht verändert werden.
    'Ich habe bei meinem Display einen Kondensator zwischen Vlcd (Pin 8) und
    'GND geschaltet um das Flimmern zu verhindern.
    
    'Controller D15G14E_14_030526
    
    
    'Display Pin 1 Reset => AVR Pin A0
    '            2 CS               A1
    '            3 GND              GND
    '            4 Sdata            A2
    '            5 Sclk             A3
    '            6 Vdigital         Vdd (3 Volt)
    '            7 Vbooster         Vdd
    '            8 Vlcd
    
    Ddra = &B11111111       'Port A als Output
    Dim A As Byte , B As Byte , R As Integer , S As Byte
    
    'Initialisierung Reset
    Porta.0 = 0
    Waitms 5
    Porta.0 = 1
    
    
    Porta.1 = 1
    Porta.2 = 1
    Porta.3 = 1
    
    
    'Software Reset
    A = &H01
    Gosub Command
    Gosub Cs
    Waitms 5
    
    'INIESC
    A = &HC6
    Gosub Command
    Gosub Cs
    
    '***************************************************************************
    
    ' <Display setup 1>
    
    
    'REFSET
    A = &B9
    Gosub Command
    A = 0
    Gosub Parameter
    Gosub Cs
    
    'Display Control DISCTL
    A = &B6
    Gosub Command
    A = 128
    Gosub Parameter       '128 number of clocks, willkürliche Zahl
    A = 128   'no N line inversion (ungerade Zeilenanzahl)
    Gosub Parameter
    A = 129   '2 divisions in idle mode, bias 1/9
    Gosub Parameter
    A = 84
    Gosub Parameter
    A = 69
    Gosub Parameter
    A = 82
    Gosub Parameter
    A = 67
    Gosub Parameter
    Gosub Cs
    
    'Gray Scale Position
    'Bei DISCTL wurden 128 clock numbers pro Zeile eingestellt
    'Auf diese 128 Cyclen werden die 16 (4 bit) Graustufen verteilt (willkürlich, Werte müssen aber kleiner als 128 sein)
    'Die Graustufen gelten für alle Farben
    A = &HB3  'GCPSET0
    Gosub Command
    A = 1
    Gosub Parameter
    A = 2
    Gosub Parameter
    A = 4
    Gosub Parameter
    A = 8
    Gosub Parameter
    A = 16
    Gosub Parameter
    A = 30
    Gosub Parameter
    A = 40
    Gosub Parameter
    A = 50
    Gosub Parameter
    A = 60
    Gosub Parameter
    A = 70
    Gosub Parameter
    A = 80
    Gosub Parameter
    A = 90
    Gosub Parameter
    A = 100
    Gosub Parameter
    A = 110
    Gosub Parameter
    A = 127
    Gosub Parameter
    Gosub Cs
    
    'Gamma curve set
    A = &HB5
    Gosub Command
    A = 1     'GCPSET0
    Gosub Parameter
    Gosub Cs
    
    'Common driver output select
    A = &HBD
    Gosub Parameter
    A = 0
    Gosub Parameter
    Gosub Cs
    
    
    
    '************************************************************************
    
    ' <Power supply setup>
    
    
    'Power control PWRCTL
    A = &HBE
    Gosub Command
    A = 4     'boosting clock half display clock, internal resistance, high power mode
    Gosub Parameter
    Gosub Cs
    
    'Sleep out
    A = &H11
    Gosub Command
    Gosub Cs
    
    'Voltage control
    Rem A = &BA
    Rem Gosub Command
    Rem A = 127   'Voltage 127 - 63
    Rem Gosub Parameter
    Rem A = 3
    Rem Gosub Parameter
    Rem Gosub Cs
    
    
    'Contrast
    Rem A = &H25
    Rem Gosub Command
    Rem A = 63    'Voltage
    Rem Gosub Parameter
    Rem Gosub Cs
    
    'Temperature gradient set
    A = &HB7
    Gosub Command
    A = 0
    For R = 1 To 14       'nur erster Wert relevant, restliche 13 Werte auf 0 setzen
    Gosub Parameter
    Next R
    Gosub Cs
    
    'Booster voltage ON
    A = &H03
    Gosub Command
    Gosub Cs
    
    
    Waitms 40 'Booster voltage stabilizing
    
    
    '**************************************************************************
    
    ' <Display setup2>
    
    
    'Inversion control
    A = &H20  'Off, normal
    Gosub Command
    Gosub Cs
    
    'andere Einstellung per Reset definiert
    
    
    
    '*************************************************************************
    
    ' <Display setup3>
    
    
    'Interface pixel format
    '12 bit
    
    'Colour set
    'nur für 8 bit relevant
    
    'Memory access control
    'durch Reset definiert
    
    'Page address set
    'durch Reset definiert
    
    'Column address set
    'durch Reset defniert
    
    'Memory write
    A = &H2C
    Gosub Command
    
    'Beipsiel-Routine zeichnet horizontale farbige Balken im 12-bit Modus
    'Leider ist die Bascom-Demo-Version speicherlimitiert, daher größten
    'Teil der Schleifen löschen
    
    S = 0
    'roter Balken
    For R = 1 To 999
     If S = 0 Then A = 15
     If S = 1 Then A = 240
     If S = 2 Then A = 255
     Gosub Parameter
     S = S + 1
     If S = 3 Then S = 0
    Next R
    
    
    S = 0
    'grüner Balken
    For R = 1 To 999
     If S = 0 Then A = 240
     If S = 1 Then A = 255
     If S = 2 Then A = 15
     Gosub Parameter
     S = S + 1
     If S = 3 Then S = 0
    Next R
    
     S = 0
    'blauer Balken
    For R = 1 To 999
     If S = 0 Then A = 255
     If S = 1 Then A = 15
     If S = 2 Then A = 240
     Gosub Parameter
     S = S + 1
     If S = 3 Then S = 0
     Next R
    
    
    
    
    S = 0
    'gelber Balken
    For R = 1 To 999
     If S = 0 Then A = 0
     If S = 1 Then A = 240
     If S = 2 Then A = 15
     Gosub Parameter
     S = S + 1
     If S = 3 Then S = 0
    Next R
    
    
    S = 0
    'magenta Balken
    For R = 1 To 999
     If S = 0 Then A = 15
     If S = 1 Then A = 0
     If S = 2 Then A = 240
     Gosub Parameter
     S = S + 1
     If S = 3 Then S = 0
    Next R
    
     S = 0
    'cyan Balken
    For R = 1 To 999
     If S = 0 Then A = 240
     If S = 1 Then A = 15
     If S = 2 Then A = 0
     Gosub Parameter
     S = S + 1
     If S = 3 Then S = 0
     Next R
    
    'weißer Balken
    A = 0
    For R = 1 To 1000
    Gosub Parameter
    Next R
    
    'schwarzer Balken
    A = 255
    For R = 1 To 1002
    Gosub Parameter
    Next R
    
    Gosub Cs
    
    'Display ON
    A = &H29
    Gosub Command
    Gosub Cs
    
    
    
    End
    
    
    
    
    
    
    'Unterprogramme, Timing der Datenleitungen
    
    
    'Senden eines Befehls
    
    Command:
    Porta.1 = 0       'Cs auf 0  Start der Sequenz
    
    Porta.3 = 0
    Porta.2 = 0       '0 für Command
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 128
    If B = 128 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 64
    If B = 64 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 32
    If B = 32 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 16
    If B = 16 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 8
    If B = 8 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 4
    If B = 4 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 2
    If B = 2 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 1
    If B = 1 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Return
    
    
    
    'Senden eines Wertes
    
    Parameter:
    Porta.1 = 0       'Cs auf 0  Start der Sequenz
    
    Porta.3 = 0
    Porta.2 = 1       '1 für Parameter
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 128
    If B = 128 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 64
    If B = 64 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 32
    If B = 32 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 16
    If B = 16 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 8
    If B = 8 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 4
    If B = 4 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 2
    If B = 2 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Porta.3 = 0
    B = A And 1
    If B = 1 Then Porta.2 = 1
    If B = 0 Then Porta.2 = 0
    Porta.3 = 1
    
    Return
    
    
    
    Cs:
    Porta.1 = 1
    Return
    
    Moderowany przez Light-I:

    Kod ujęto w tagi "code".

  • REKLAMA
  • #6 2213726
    Konto nie istnieje
    Konto nie istnieje  
  • #7 2220619
    avr_elektronik
    Poziom 14  
    Posty: 171
    Pomógł: 1
    Ocena: 1
    Darekg napisał:
    Sporo rzeczy i przydatnych linków jest na tym forum. Cóz dodać...., od siebie mogę żę uruchomiłem sterowanie tym wyświetlaczem w języku C pod AVR-GCC. Uzyłem procka ATmega32 bo takiego akurat miałem.
    - na jakim forum ,mozesz udostepnic swoj kod ?
  • #8 2238638
    Darekg
    Poziom 17  
    Posty: 210
    Pomógł: 27
    Ocena: 11
    Kilka osób prosiło mnie o kod pod AVRGCC do obsługi wyświetlacza 3510i.
    Oto niżej kody. Nie są to moje, ja przy pisaniu swoich trochę się wzorowałem na tych w załaczeniu.
    Załączniki:
    • NokiaLCD.h (2.76 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • NokiaLCD.c (17.34 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #9 2240550
    avr_elektronik
    Poziom 14  
    Posty: 171
    Pomógł: 1
    Ocena: 1
    Darekg <- kod jest ok ale do lcd od 3310 a nie 3510i :(
    pozdrawiam
  • #10 2240776
    Darekg
    Poziom 17  
    Posty: 210
    Pomógł: 27
    Ocena: 11
    A to przepraszam wszystkich którzy pobrali. W załaczeniu moje wypociny w tym temacie. Na pewno do 3510i. Załaczam dwie wersje dla AVR i dla PIC. Moja wersja pod AVR powstała na bazie kodu z PIC-a, napisanego przez kogoś innego.
    A na końcu zdjęcie płytki wraz z podłaczonym wyświetlaczem
    Załączniki:
    • Sterowanie kolorowym wyświetlaczem LCD Nokia 3510i - szukam artykułu i wskazówek PICT0726 (640 x 480).jpg (29.42 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • 3510i_PIC.c (4.08 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • 3510i.h (15.38 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #11 2242220
    bubbo
    Poziom 14  
    Posty: 208
    Pomógł: 1
    Ocena: 10
    Witam. Takie małe pytanko, czy nie dało by rady podłączyć wyświetlacza 3510i bez programowalnych części i wysterować go tylko praez lpt??
  • REKLAMA
  • #12 2242326
    szikaka
    Poziom 14  
    Posty: 105
    Pomógł: 3
    Ocena: 8
    pewnie, przez konwerter napięć, musisz sobie tylko sofcik napisac do sterownia
  • #13 2242964
    bubbo
    Poziom 14  
    Posty: 208
    Pomógł: 1
    Ocena: 10
    Dzięki! Tak mi się wydawało, że coś takiego widziałem jak montowałem inny wyświetlacz, ale teraz nie moge znaleść. Może ktoś ma namiar na schemacik i programik do wysterowania tego wyświetlacza.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy sterowania kolorowym wyświetlaczem LCD z telefonu Nokia 3510i, który jest dostępny na rynku w atrakcyjnej cenie około 17 zł. Użytkownicy poszukują artykułów i praktycznych wskazówek dotyczących obsługi tego wyświetlacza, zwłaszcza w porównaniu do popularnych monochromatycznych wyświetlaczy z modeli takich jak Nokia 3310. Wymieniono doświadczenia z programowaniem sterownika w języku C pod mikrokontrolery AVR (np. ATmega32, Mega128) oraz PIC. Udostępniono link do dokumentacji sterownika D15G14E_14_030526 oraz przykładowe kody źródłowe, które mają charakter demonstracyjny i mogą wymagać optymalizacji. Poruszono kwestie sprzętowe, takie jak konieczność zastosowania kondensatora między pinem Vlcd a masą w celu eliminacji migotania obrazu oraz ograniczenia częstotliwości taktowania mikrokontrolera do około 4 MHz dla poprawnej pracy wyświetlacza. Dyskutowano także możliwość sterowania wyświetlaczem bez użycia programowalnych układów, np. przez port LPT z konwerterem napięć, co wymaga napisania odpowiedniego oprogramowania. Wątki obejmują również pytania o wyświetlanie pojedynczych znaków i poprawność montażu wyświetlacza na płytce.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA