prezesedi Maj 31, 2022 Udostępnij Maj 31, 2022 Zamówiłem właśnie na Alledrogo dwa wyświetlacze OLED - 0,91" 128x32 I2C oraz 0,96" 128x64 I2C, plus konwertery I2C-LCD. Ma to tę zaletę (Alledrogo), że zawsze mogę coś zwrócić. Zauważyłem, że te mniejsze 128x32 różnią się pinami - są takie z pinem SCL (dla I2C) i SCK (w aukcji opisane jako dla I2C, ale google pokazuje, że dla SPI). Nie było wcześniej w temacie nic na temat SPI, więc wziąłem ten z pinem SCL (ten większy też ma taki pin, oraz konwerter go posiada - powinno wszystko pasować). Czytając cały wątek od początku, Koledzy forumowicze wtrącają coraz to nowsze pomysły. Większość bardzo mi się podoba i widzę je oczami wyobraźni. Chciałbym jednak wspomnieć, że zaledwie od kilku dni posiadam UNO, a środowisko Arduino jest mi całkowicie obce. No prawie - staram się rozszyfrowywać coraz to nowsze linijki kodu. Tak więc proszę mieć na uwadze ten fakt, i to do czego jestem (będę) zdolny z Waszymi wskazówkami. Wpadłem również na symulator arduino - Fritzing. Niby wersja darmowa, po zainstalowaniu i uruchomieniu zawiesza się. Przeinstalowanie nic nie pomaga. Czy ktoś może polecić inny symulator? A może większość z Kolegów działa "praktycznie" - czyli montuje od razu? Cytuj Link do komentarza Share on other sites More sharing options...
farmaceuta Maj 31, 2022 Udostępnij Maj 31, 2022 Co sie tak pospieszyles z zakupami...jesli wziales oledy to juz nie potrzebujesz konwerterow i2c...konwertery tylko do lcd 2*16 itp. Cytuj Link do komentarza Share on other sites More sharing options...
prezesedi Maj 31, 2022 Udostępnij Maj 31, 2022 Przyda się do tego LCD, który już posiadam - taki był zamysł. Cytuj Link do komentarza Share on other sites More sharing options...
BlackJack Maj 31, 2022 Udostępnij Maj 31, 2022 Cytat @BlackJack trochę zachodu jak to określiłeś można ogarnąć. Niestety jak wspomniałem w pierwszym poście z wiedzą u mnie kiepsko. Kończąc szkołę podstawową dostałem pierwszy komputer (Commodore C64 - słyszę ten śmiech na sali). To i tak więcej ode mnie miałeś..Ja pierwszego komputera Pentium 166 "dorobiłem się", po wypadku w zawodówce, jak dostałem odszkodowanie za obcięty palec. C64 dorwałem 10 lat później na śmietniku, i mam do dziś. To co potrafię nauczyłem się sam, z pomocą życzliwych ludzi któży pomogli w wyjaśnieniu paru żeczy. A dziś programuje panela HMI i sterowniki PLC jak trzeba. Kursy sam zrobiłem za własne pieniądze. A dziś w sumie jestem jednym z dwóch co potrafią programować na całym zakładzie. Młodzi, a im się nie chce, nie ma gotowców w internecie, trzeba by się wysilić, do tego jeszcze matematykę jakąś znać. E.. to nie dla nich. Za moich czasów mogliśmy tylko marzyć, lub sobie poczytać w BAJTKU albo Młodym techniku tudzież AMIGE o tym co ma dzisiejsza młodzież ma pod nosem. Ale dla większości liczy się tylko być online na fejsie czy innych faekbookach. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
ethanak Maj 31, 2022 Udostępnij Maj 31, 2022 @prezesedi I jeszcze drobiazg: wyświetlacz 0.91'' (ten najmniejszy) to dla H0 prawie trzy metry... jak to chcesz wkomponować w makietę? Poważnie pytam. Cytuj Link do komentarza Share on other sites More sharing options...
99teki Maj 31, 2022 Udostępnij Maj 31, 2022 2 Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Maj 31, 2022 Udostępnij Maj 31, 2022 A, czyli pasuje. Cytuj Link do komentarza Share on other sites More sharing options...
prezesedi Maj 31, 2022 Udostępnij Maj 31, 2022 @99teki dziękuję. Właśnie takiego zdjęcia szukałem bo już kiedyś mi się przewinęło przez google. Może to było to, tylko w "normalnych" kolorach. Natomiast ten większy 128x64 jako umieszczony na budynku dworca - wyświetlający pociągi dla wszystkich peronów. Cytuj Link do komentarza Share on other sites More sharing options...
prezesedi Maj 31, 2022 Udostępnij Maj 31, 2022 (edytowany) Po długiej analizie Waszych wskazówek i ogromnemu wsparciu @farmaceuta wyszło mi (Nam) coś takiego - działa 🙂 #include <LiquidCrystal.h> const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void setup() { pinMode(8,INPUT_PULLUP); pinMode(9,INPUT_PULLUP); pinMode(10,INPUT_PULLUP); lcd.begin(16, 2); } void loop() { if (digitalRead(8) == 0) { delay(1000); lcd.setCursor(0,0); lcd.print("16:30 PR Katowice"); lcd.setCursor(0,1); lcd.print("16:45 IC Warszawa Wsch."); } else if (digitalRead(9) == 0) { delay(1000); lcd.setCursor(0,0); lcd.print("12:00 TLK Gliwice"); lcd.setCursor(0,1); lcd.print("12:05 IC Praga"); } else if (digitalRead(10) == 0) { delay(1000); lcd.setCursor(0,0); lcd.print("23:15 IC Berlin"); lcd.setCursor(0,1); lcd.print("23:30 IC Wieden"); } } problemem jest tylko fakt, że wyświetlając krótszy komunikat po dłuższym (zawierającym więcej znaków w linijce), pozostaje część starych znaków: najpierw "16:45 IC Warszawa Wsch." potem "12:05 IC Praga" i wychodzi "12:05 IC Pragaawa Wsch." Dodałem linijkę pustego wiersza i otrzymałem następujący kod: #include <LiquidCrystal.h> const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void setup() { pinMode(8,INPUT_PULLUP); pinMode(9,INPUT_PULLUP); pinMode(10,INPUT_PULLUP); lcd.begin(16, 2); } void loop() { if (digitalRead(8) == 0) { delay(1000); lcd.setCursor(0,0); lcd.print(" "); lcd.print("16:30 PR Katowice"); lcd.setCursor(0,1); lcd.print("16:45 IC Warszawa Wsch."); } else if (digitalRead(9) == 0) { delay(1000); lcd.setCursor(0,0); lcd.print(" "); lcd.print("12:00 TLK Gliwice"); lcd.setCursor(0,1); lcd.print("12:05 IC Praga"); } else if (digitalRead(10) == 0) { delay(1000); lcd.setCursor(0,0); lcd.print(" "); lcd.print("23:15 IC Berlin"); lcd.setCursor(0,1); lcd.print("23:30 IC Wieden"); } } w tej chwili górny wiersz jest ZAWSZE pusty a dolny nadal z błędem (zostają stare znaki na końcu). Linijka pustego wiersza przed każdym komunikatem powoduje, że ekran jedynie ma podświetlenie 😞 #include <LiquidCrystal.h> const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void setup() { pinMode(8,INPUT_PULLUP); pinMode(9,INPUT_PULLUP); pinMode(10,INPUT_PULLUP); lcd.begin(16, 2); } void loop() { if (digitalRead(8) == 0) { delay(1000); lcd.setCursor(0,0); lcd.print(" "); lcd.print("16:30 PR Katowice"); lcd.setCursor(0,1); lcd.print(" "); lcd.print("16:45 IC Warszawa Wsch."); } else if (digitalRead(9) == 0) { delay(1000); lcd.setCursor(0,0); lcd.print(" "); lcd.print("12:00 TLK Gliwice"); lcd.setCursor(0,1); lcd.print(" "); lcd.print("12:05 IC Praga"); } else if (digitalRead(10) == 0) { delay(1000); lcd.setCursor(0,0); lcd.print(" "); lcd.print("23:15 IC Berlin"); lcd.setCursor(0,1); lcd.print(" "); lcd.print("23:30 IC Wieden"); } } Proszę o wskazówki dot. rozwiązania problemu Edytowano Maj 31, 2022 przez prezesedi Cytuj Link do komentarza Share on other sites More sharing options...
farmaceuta Maj 31, 2022 Udostępnij Maj 31, 2022 (edytowany) Mozna dac lcd.clear() no ale wlasnie chcialem tego uniknac zebys sobie mogl w przyszlosci usuwac to co Cie interesuje a nie zawsze caly lcd...u mnie taka roznica ze korzystam z i2c no i takie wyswietlanie spacji dziala elegancko...moze tu jest inaczej cos🤔 Edytowano Maj 31, 2022 przez farmaceuta Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Maj 31, 2022 Udostępnij Maj 31, 2022 (edytowany) Wyświetl w tym miejscu same spacje żeby skasować poprzednią zawartość, a potem dopiero właściwy napis. Ew. użyj sprintf @farmaceuta chętnie wyjaśni. @farmaceuta nie mieszaj - to 1H czy korzystasz z i2c, spi czy bawisz się w bit banging Edytowano Maj 31, 2022 przez ethanak 1 Cytuj Link do komentarza Share on other sites More sharing options...
prezesedi Maj 31, 2022 Udostępnij Maj 31, 2022 Przed chwilą, ethanak napisał: Wyświetl w tym miejscu same spacje żeby skasować poprzednią zawartość, a potem dopiero właściwy napis. no właśnie wyświetlałem same spacje (wkleiłem post wyżej kody) - i są błędy o których napisałem Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Maj 31, 2022 Udostępnij Maj 31, 2022 Ustaw pozycję, wyświetl spacje, ponownie ustaw pozycję, wyświetl tekst. 1 Cytuj Link do komentarza Share on other sites More sharing options...
farmaceuta Maj 31, 2022 Udostępnij Maj 31, 2022 Przed chwilą, ethanak napisał: Wyświetl w tym miejscu same spacje żeby skasować poprzednią zawartość, a potem dopiero właściwy napis. No i tak wlasnie jest...wyswietla spacje w calym wierszu i pozniej napis, ktory sie nie wyswietla..🤔 3 minuty temu, ethanak napisał: Ew. użyj sprintf @farmaceuta chętnie wyjaśni. Yhyy...bardzo chetnie wyjasni, ale to dopiero jak sie tego sam nauczy..😢(lenistwo nie pozwolilo mi tego ogarnac) Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Maj 31, 2022 Udostępnij Maj 31, 2022 Bo problem był w "w tym samym miejscu". Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!