Skocz do zawartości

Podłączenie wyświetlacza LCD do ekspandera z shielda (Kurs o robotach)


szuwar88

Pomocna odpowiedź

Witam,

Chcę podłączyć wyświetlacz lcd (z zestawu do kursów arduino) do ekspandera z shielda (z zestawu do kursu budowania robotów).

Proszę o pomoc jak przekazać adresy pinów z ekspandera.

#include <LiquidCrystal.h> //Dołączenie bilbioteki
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //Informacja o podłączeniu nowego wyświetlacza

Z góry dzięki za pomoc.

Link do komentarza
Share on other sites

Chodzi o ekspander i2c?? Jeśli tak to podajesz ilość wierszy i kolumn i do tego adres ekspandera...

lcd(16,2,0x07);

(Może i na odwrót te parametry...nie pamiętam)

No i korzystasz z biblioteki i2c

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dzięki za podjęcie tematu.

Ekspander z shieldu to MCP2308,

"Na pokładzie naszego shielda znajduje się układ MCP2308, który komunikuje się z Arduino za pomocą interfejsu I2C wyprowadzonego na pinach A4 oraz A5."

a wyświetlacz to :

https://botland.com.pl/wyswietlacze-alfanumeryczne-i-graficzne/19738-wyswietlacz-lcd-2x16-znakow-zielony-justpi-5903351243063.html

 

@keram167 Tak zrobiłem zgodnie ze wskazówkami z kursu. Natomiast teraz chciałem podłączyć wyświetlacz do ekspandera z shieldu.

 

@farmaceuta A jak wskazuje które piny z ekspandera wykorzystałem?

 

Z góry dzięki za pomoc!

 

Link do komentarza
Share on other sites

A zapoznałeś się z opisem tego shielda - tutaj. Masz tam dokładnie rozrysowane i opisane jak korzystać ze znajdującego się na tej nakładce MCP2308.

Tak na marginesie to ja zamiast rzeźbić ten układ z Twoim wyświetlaczem zainwestowałbym w wyświetlacz z wbudowanym konwerterem I2C np. ten, a ten expander MCP2308 z shielda wykorzystałbym do innych celów.

Link do komentarza
Share on other sites

@szuwar88 tu masz podłączenie konwertera I2C do LCD https://botland.com.pl/content/81-lcd-2x16-przy-pomocy-arduino-i-lcm1602-po-i2c- oraz linki do biblioteki i przykładowy kod. 

Chyba, że: https://werner.rothschopf.net/202009_arduino_liquid_crystal_spi_en.htm . Zauważ tylko, że komunikacja LCD<=>ARDUINO to SPI. Tylko moim zdaniem to strzelanie do muchy z armaty...

  • Lubię! 1
Link do komentarza
Share on other sites

1 godzinę temu, szuwar88 napisał:

 

@keram167

@farmaceuta A jak wskazuje które piny z ekspandera wykorzystałem?

 

Tym już się zajmuje magia biblioteki😉 i ty tego wiedzieć nawet nie musisz...

Edit... myślałem że to pcf jest...to może zamiast czarować i kombinować lepiej kupić dedykowany konwerter?

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

(edytowany)

@farmaceuta Nie kwestionuje tego że lepsze może być inne rozwiązanie. Mam to co kupiłem w zestawach i chciałem testowo sprawdzić czy wyjdzie to co wymyśliłem. Żeby lepiej zrozumieć co się dzieje....

3 godziny temu, farmaceuta napisał:

Tym już się zajmuje magia biblioteki😉 i ty tego wiedzieć nawet nie musisz...

Ok. To jak zrobić połączenie pomiędzy ekspanderem a wyświetlaczem (elektroniczne)?

Edytowano przez szuwar88
Uzupełnienie
Link do komentarza
Share on other sites

Nawet taka odpowiedź że się nie da jest super odpowiedzią. Dzięki za pomoc.

Może ktoś ma jakiś pomysł.

Przekazanie przez referencje. Przerobienie biblioteki. Jakieś konkretne wskazówki. Bardziej chodzi o cel.... Satysfakcje... Rozpoznanie możliwości

Link do komentarza
Share on other sites

8 godzin temu, szuwar88 napisał:

Bardziej chodzi o cel.... Satysfakcje...

No to jeśli chcesz odkrywać świat na nowo to rozpocznij od szczegółowego poznania układu HD44780 - nota katalogowa.

W poznaniu obsługi HD44780 może ci pomóc ten artykuł - zobacz.

Wiedząc jak działa ten układ, do czego służą piny tego wyświetlacza będziesz wiedział co i w jakiej kolejności musisz wysłać do swojego shielda z expanderem. Pozostanie więc stworzenie własnej biblioteki (procedury) do obsługi wyświetlacza za pośrednictwem MCP2308. Możesz oczywiście wzorować się na istniejących rozwiązaniach - tylko po co? Wykorzystaj ten expander z shielda do innych celów, a wyświetlacz wymień na taki jak sugerowałem.

Edytowano przez Belferek
Link do komentarza
Share on other sites

#include <Wire.h>

#include <hd44780.h>                       

#include <hd44780ioClass/hd44780_I2Cexp.h>           // wybór właściwej klasy biblioteki przy obsłudze HD44780 przez MCP23008

// hd44780_I2Cexp lcd(addr, chiptype,    rs,[rw],en,d4,d5,d6,d7,bl,blLevel);

hd44780_I2Cexp lcd(0x20, I2Cexp_MCP23008, 6, 5, 4, 0, 1, 2, 3, 7, HIGH);   //  tu jest opis podłączenia poszczególnych pinów ekspandera

 

void setup() {

lcd.begin(16, 2);

lcd.print("A jednak sie da");

}

 

void loop() {

}

Cześć. Zetknąłem się z podobnym problemem, tj. integracji wyświetlacza HD44780 z ekspanderem MCP23008, który znajduje się na płytce forbota i szukając w internecie rozwiązania, jednak udało mi się je znaleźć. Wiem, że minęło trochę czasu od powyższej dyskusji, ale rozwiązanie może się jednak komuś przyda, tym bardziej, że nie tak łatwo na nie wpaść.

A więc tak: Jak najbardziej jest możliwa obsługa wyświetlacza HD44780 za pomocą ekspandera z tej płytki. To była raczej dla mnie sprawa oczywista już zanim się zabrałem za rozwikłanie tej zagadki. Trzeba przy tym pamiętać, że ekspander na płytce forbota ma na stałe zlutowane do masy piny A0, A1 i A2 w związku z tym "chodzi" na sztywno na adresie I2C - 0x20. To pierwsza sprawa. 

Do obsługi można wykorzystać uniwersalną bibliotekę hd44780 napisaną przez Billa Perry'ego. Jest to bardzo duża biblioteka za pomocą której można obsłużyć wiele różnorakich połączeń wyświetlacza hd44780 do płytki Arduino, w tym także za pomocą ekspandera MCP23008. Biblioteka jest dostępna w ArduinoIDE i bez problemu można ją zainstalować i włączyć do projektu. Warto też dokładnie poczytać dokumentację, ale uwaga jest tam bardzo dużo wariantów skorzystania z biblioteki i należy wybrać właściwy. Trzeba też pamiętać o właściwym podłączeniu wyświetlacza do wyprowadzeń ekspandera znajdujących się na płytce forbota. Sposób podłączenia powinien rozjaśnić się w prostej załączonej implementacji biblioteki

 

lcd.jpg

Edytowano przez Lestek
poprawka wstawienia kodu
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.