Arduino Polska Forum

Pełna wersja: LCD 16x2 nie działa - uszkodzony?
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2
Witam, kupiłem na botland wyświetlacz 16x2 z konwerterem I2C.

Po podłączeniu zasilania powinno być tylko podświetlenie a on takie coś pokazuje:

[Obrazek: 154bx8k.jpg]



Sam konwerter jest przylutowany bardzo krzywo i nie da się tego odgiąć, chyba nie powinno tak być?

[Obrazek: 2pttism.jpg]



Sugerowałem się poradnikiem na stronie botland, wszystkie piny wpięte dobrze, program się kompiluje i wgrywa bez problemów lecz nic się nie dzieje na lcd.

Proszę o pomoc, jeżeli mam im to odesłać to wolę to wyrzucić do kosza.
To może być problem inicjalizacji lub braku komunikacji. Pokaż zdjęcie jak masz podpięty układ.
Podaj też źródła biblioteki(skąd ściągnąłeś).
Wszystko zrobiłem tak jak w tym poradniku.
Poradnik: https://botland.com.pl/content/81-lcd-2x...02-po-i2c-

Biblioteka pobrana z linku w tym poradniku, rozpakowana w moim katalogu bibliotek, widoczna w programie.

Dodam że moja płytka to Leonardo lecz nie oryginalne, jest to wierna kopia z dodatkowymi przyciskami i ledami oraz zworką Analog/I2C

Opis płytki: http://and-tech.pl/wp-content/uploads/do...onardo.pdf

Przed podłączeniem wyświetlacza i wgraniem przykładu z poradnika ustawiłem zworki na I2C.


Dzięki za odpowiedź.
Prosiłem o zdjęcie podpięcia. Gdzie ono jest?
Najprawdopodobniej masz źle podpięte piny I2C. W leonardo nie są na A4, A5 tylko pin2, pin3.
Tak mam podpięte:
[Obrazek: 34hv3om.jpg]

Zworka ustawiona na I2C

Kod programu:

Kod PHP:
/*
*  LCM1602 & Arduino Uno
*  VCC - > 5 V
*  GND - GND
*  SCL -> A5
*  SDA -> A4
*/

#include <Wire.h>   // standardowa biblioteka Arduino
#include <LiquidCrystal_I2C.h> // dolaczenie pobranej biblioteki I2C dla LCD

LiquidCrystal_I2C lcd(0x2721045673POSITIVE);  // Ustawienie adresu ukladu na 0x27


void setup()  
{
  
lcd.begin(16,2);   // Inicjalizacja LCD 2x16
  
  
lcd.backlight(); // zalaczenie podwietlenia 
  
lcd.setCursor(0,0); // Ustawienie kursora w pozycji 0,0 (pierwszy wiersz, pierwsza kolumna)
  
lcd.print("Hello, world!");
  
delay(500);
  
lcd.setCursor(0,1); //Ustawienie kursora w pozycji 0,0 (drugi wiersz, pierwsza kolumna)
  
lcd.print("BOTLAND.com.pl");

}

void loop() 
{
   
lcd.backlight(); // zalaczenie podswietlenia
   
delay(5000);
lcd.noBacklight(); // wylaczenie podswietlenia
   
delay(5000);



Dzięki kolego za zainteresowanie i pomoc. Jako jedyny pomagasz. Szacunek się należy. Pozdrawiam i liczę na pomoc.
Spróbuj pokręcić potencjometrem na konwerterze, prawdopodobnie masz zły kontrast ustawiony
To nie kontrast, gdyby tak było to wyświetlacz gasł by i zapalał by się co 5 sekund, tak jest w programie który się kompiluje i uploaduje ale niestety nie działa.

Sam już nie wiem co robić.
Już widzę gdzie jest problem... posiadasz Leonardo, a podpinasz się pod piny A4 i A5 a to jest specyfika UNO
Leonardo ma tak: 2 (SDA), 3 (SCL)
sróbuj przepiąć te dwa kabelki i powinno śmigać
Edit: zauważyłem że namok już Ci o tym wspomniał, więc czytaj co koledzy piszą Smile
Tak radził kolega namok, również brak kontaktu.

Teraz znalazłem film gdzie kolega ma identyczny setup, z tym że na oryginalnym Leonardo.

https://www.youtube.com/watch?v=tNcL4zSCl-Q

No i on wpina jeszcze inaczej, czyli SCL w SDA, i SDA w SCL (bo podobno są odwrócone). Pobieram jego plugin i zobaczymy czy uda się nawiązać komunikacje.

Wybaczcie za takie problemy, pewnie za jakiś czas sam będę się z siebie śmiał Smile

Nurtuje mnie ten switch/zworki na owej płytce I2C/Analog - producent opisuje to tak:

Cytat:Dodatkowo na module zostały zamieszczone jumpery do zmiany trybu pracy wyjścia A0 i A1.
Odpowiednie ustawienie zworek umożliwia wybór pracy pinów jako wejścia analogowe lub
magistralę I2C (aby zachować kompatybilność ze „starymi” shieldami, które piny A0 i A1
wykorzystują jako magistralę I2C)

Dalej...

Cytat:Zmiana trybu pracy pinów A0 i A1
Na module Anduino Leonardo w lewym górnym narożniku umieszczona złącze stykowe
2x3piny z obsadzonymi dwoma jumperami. Złącze to służy do wyporu trybu pracy wejść A4 i
A5
- Umieszczenie jumperów jak na zdjęciu powyżej (na napisie Analog) na Pinach A4 i A5
aktywuje wejścia analogowe z przetwornika ADC.
- Umieszczenie jumperów na napisie I2C na pinach A4 i A5 aktywuje odpowiednio linie SDA i
SCL magistrali I2C

Chyba wiem w czym jest problem, cała ta płytka jest pokręcona Smile
Panowie wiedziałem że jestem ignorantem, ale że półgłówkiem to się teraz dowiedziałem.

Zapomniałem sprawdzić adres wyświetlacza i zmienić w sketch'u Smile

Na ten moment uruchomiłem to na starszych bibliotekach 1.2.1

[Obrazek: 11ui3wz.jpg]

Schemat: [Obrazek: rtj3t3.jpg]

Problem z głowy, a chciałem to wyrzucić. Krzywo polutowane Smile

Uratował mnie I2C Scanner: http://playground.arduino.cc/Main/I2cScanner

Pozdrawiam.
Stron: 1 2