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

LCD I2C z ATmega8515 - niestabilność projektu, jak poprawić?

zibi11 08 Sty 2007 00:29 2990 9
REKLAMA
  • #1 3419825
    zibi11
    Poziom 19  
    Posty: 539
    Pomógł: 1
    Ocena: 30
    co myślicie o tym projekcie???
    pomysł słuszny ale się coś to sypie niestabilne

    $regfile = "m8515.dat"
    $crystal = 16000000


    Config Sda = Portb.1
    Config Scl = Portb.0

    Const Pcf8574_lcd = 66
    $lib "Lcd_i2c.lib"
    Dim _lcd_e As Byte

    _lcd_e = 128

    Waitms 200
    '



    Config Lcd = 16 * 2


    Do

    Cls
    Lcd "testtt"

    Loop
    Załączniki:
    • LCD I2C z ATmega8515 - niestabilność projektu, jak poprawić? i2c_lcd.gif (33.37 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 3420173
    markosik20
    Poziom 33  
    Posty: 2263
    Pomógł: 208
    Ocena: 147
    Cytat:
    ale się coś to sypie niestabilne


    ?? Co masz na myśli ??
    Po za tym jeżeli brakuje pinów w uP to lepiej podłączyć inne urządzenie pod I2C a LCD bezpośrednio do portu uP?
  • #3 3420365
    zibi11
    Poziom 19  
    Posty: 539
    Pomógł: 1
    Ocena: 30
    Codzi o to czy ktoś praktycznie nie zetknął się z czymś takim
    może ktoś ma lepsze rozwiązanie lcd na i2c
    może ja coś źle robie że to takie niestabilne???
  • REKLAMA
  • #5 3423783
    zupcia
    Poziom 11  
    Posty: 23
    zibi11 :spoko: pomysł ciekawy też się nad tym pobawię tylko udostępnij jak możesz bibliotekę "Lcd_i2c.lib" bo niestety nie mogę jej znaleźć :/
  • REKLAMA
  • #7 3424047
    rezi_ar
    Poziom 17  
    Posty: 166
    Pomógł: 21
    Ocena: 9
    witam
    po pierwsze podłącz p4-p7 pod d4-d7
    a rs, rw i e pod p0-p2
    nie będziesz wtedy miał problemów z sterowaniem 4 bitowym
    po drugie (i ważniejsze) daj rezystory podciągające do Vdd pod wyjścia PCF'a
    i ruszy bez problemu (mam to zrobione na PIC'u)
  • REKLAMA
  • #9 3427448
    zupcia
    Poziom 11  
    Posty: 23
    witam napisałem coś takiego:
    $regfile = "m8def.dat"
    $lib "Lcd_i2c.lib"
    $crystal = 8000000
    
    
    Config Scl = Portb.0
    Config Sda = Portb.1
    I2cinit
    
    Const Pcf8574_lcd = 66
    Dim _lcd_e As Byte
    _lcd_e = 128
    Waitms 200
    
    Config Lcd = 16 * 2
    
    
    Do
    
       Cls
       Locate 1 , 5
       Lcd "halo"
       Wait 2
       Lowerline
       Lcd "- \ | / _"
       Wait 5
    
    Loop
    End
    


    LCD podłączyłem następująco zgodnie z opisem z biblioteki:
    ;P0 - D4
    ;P1 - D5
    ;P2 - D6
    ;P3 - D7
    ;P4 - RS
    ;P5 - RW (do masy)
    ;P6 - E2 (EN)
    ;P7 - E1

    no i nic się nie dzieje :/
    wie ktoś jak temu zaradzić ???? proszę o pomoc :)

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy niestabilności projektu wyświetlacza LCD z interfejsem I2C podłączonego do mikrokontrolera ATmega8515. Autor zgłasza problemy z działaniem i stabilnością, stosując bibliotekę "Lcd_i2c.lib" oraz adres PCF8574 0x42 (66 dziesiętnie). Użytkownicy sugerują poprawne podłączenie linii danych LCD (P4-P7 do D4-D7, RS, RW, E do P0-P2) oraz konieczność zastosowania rezystorów podciągających na liniach wyjściowych PCF8574, co poprawia stabilność komunikacji I2C. Wskazano również, że adres PCF8574 musi być poprawnie wykrywany przez mikrokontroler. Podano linki do alternatywnych rozwiązań i bibliotek oraz zalecenia dotyczące eliminacji zbędnych opóźnień (wait). Przykładowy kod i konfiguracja portów zostały omówione, jednak problem niestabilności pozostaje do rozwiązania głównie przez poprawne okablowanie i odpowiednie rezystory podciągające.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA