Witajcie, dziś przedstawię wam poradnik jak podłączyć wyświetlacz LM15SGFNZ07 który wygrzebiecie z telefonów Siemens M55, S55, A60, C60, MC60.
Na aukcjach można pozyskać uszkodzone telefony za ok 10zł. a może nawet macie jakiś gdzieś w czeluściach swoich szuflad :)
Jako że ja dostałem od kumpla stary zepsuty Siemens M55 i znalazłem informacje jak wykorzystać z niego LCD to postanowiłem napisać dla was ten poradnik :)
Poradnik powstał przy zebraniu materiałów z kilku źródeł w których były bardziej szczegółowo opisane zasady działania.
Ja postaram się je przedstawić bardziej zrozumiale dla laików bo sam jestem początkujący w świecie Arduino jak i elektroniki. Głównie to moje hobby :)
Przejdźmy więc do rzeczy :)
Wyświetlacz:
Wyświetlacz posiada 10 padowe złącze do którego przylutowałem kabelki ale można też wykorzystać taśmę (akurat nie miałem jej pod ręką).
Wymiary wyświetlacza to 101x80px.
Piny od wyświetlacza:
- Pin 1 – [ Cs ]
- Pin 2 – [ Reset ]
- Pin 3 – [ Rs ]
- Pin 4 – [ Sclk ]
- Pin 5 – [ Sdata ]
- Pin 6 – [ +2.9V ]
- Pin 7 – [ Gnd ]
- Pin 8 – [ Led1 + ]
- Pin 9 – [ Led1, Led2 GND ]
- Pin 10 – [ Led2 + ]
Podłączenie do Arduino:
LCD – Arduino
- Pin 1 – Pin 6 (Rezystor 10kΩ)
- Pin 2 – Pin 5 (Rezystor 10kΩ)
- Pin 3 – Pin 4 (Rezystor 10kΩ)
- Pin 4 – Pin 3 (Rezystor 10kΩ)
- Pin 5 – Pin 2 (Rezystor 10kΩ)
- Pin 6 – 3V3 (Producent zaleca 2.9V ale 3.3V mu nie zaszkodzi)
- Pin 7 – Gnd
- Pin 8 – 3V3
- Pin 9 – Gnd
- Pin 10 – 3V3
Według tego poradnika należy dać rezystory 4.7kΩ ja dałem 10kΩ (takie posiadałem) czyli większe i działa dobrze.
Nigdzie nie znalazłem not katalogowych producenta do tego wyświetlacza. Dlatego też nie mam pewności czy instrukcje na których podstawie napisałem ten poradnik są bezpieczne dla wyświetlacza.
Zalecał bym zmontowanie układu (na Atmega 8/168/328) zasilanego 3.3V z wykorzystaniem rezystorów 4.7k (zamiast 10k) ponieważ tutaj Arduino dostarcza na wyjściu napięcie 5V które przy dłuższym użytkowaniu może (choć nie musi) skrócić żywotność wyświetlacza.
Jak wszystko jest już podłączone to zostało nam pobrać biblioteki i wgrać kod.
Potrzebne biblioteki:
Biblioteki wrzucamy do folderu /libraries/
Kod:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
/* Siemens M55 LCD (LM15SGFNZ07) examples * E * Mindogas 2011 | markauskas.mindaugas at gmail.com * Modificate 2013 by Krzxsiek | www.krzxsiek.pl */ #include <LM15SGFNZ07.h> LM15SGFNZ07 lcd(2,3,4,5,6); // piny z wyświetlacza [SDATA,SCLK,RS,RESET,CS] void setup() { lcd.init_lcd(); lcd.contrast_lcd(0x11f); // kontrast w formacie hexadecimal (0x11f) = 287 delay(100); } void loop() { lcd.clear_lcd(BLACK); // Funkcja zapełniajaca cały ekran wybranym kolorem lcd.str_lcd("SIEMENS",1, 2, 2, WHITE, BLACK); // Funkcja piszaca tekst (treść, pozycja od lewej, pozycja od góry (numer linijki), rozmiar czcionki (od 1 do 4), kolor czcionki, kolor tła) lcd.str_lcd("M55",6, 3, 2, WHITE, BLACK); delay(2000); lcd.clear_lcd(BLUE); lcd.str_lcd("TEST",3, 2, 2, WHITE, BLUE); lcd.str_lcd("LCD",4, 3, 2, WHITE, BLUE); delay(2000); lcd.clear_lcd(BLACK); lcd.str_lcd("Temp",1, 2, 2, WHITE, BLACK); lcd.str_lcd("25.0",5, 3, 2, WHITE, BLACK); delay(2000); lcd.clear_lcd(WHITE); lcd.area_lcd(0, 0, 40, 101, RED); // Funkcja zapełniajaca wybrany obszar kolorem lcd.str_lcd("POLSKA",2, 4, 2, WHITE, RED); delay(2000); lcd.clear_lcd(YELLOW); lcd.str_lcd("T E S T",1, 3, 2, BLACK, YELLOW); delay(2000); lcd.clear_lcd(WHITE); delay(1000); lcd.str_lcd("TestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcdTestlcd",1, 1, 1, BLACK, -1); lcd.clear_lcd(WHITE); delay(2000); lcd.str_lcd("test lcd",5, 2, 1, BLACK, -1); lcd.clear_lcd(WHITE); delay(2000); lcd.line_lcd(0, 101,35 , 35, GREEN); // Funkcja rysujaca linię lcd.clear_lcd(WHITE); delay(2000); lcd.frame_lcd(3, 10, 10 , 40, 3, BLUE); // Funkcja rysujaca ramkę lcd.clear_lcd(WHITE); delay(2000); lcd.area_lcd(45, 10, 10 , 40, BROWN); lcd.clear_lcd(WHITE); delay(2000); } |
Opis funkcji
- send_lcd(unsigned char data) – Funkcja wysyłąjaca bajt do LCD.
- init_lcd(void) – Funkcja inicjalizująca LCD, należy ja dodać na początku funkcji main()
- contrast_lcd(unsigned char contrast) – Funkcja ustawiająca kontrast (przyjmuje dane w postaci 12 bitowej np: contrast_lcd (0x11f)
- window_lcd(unsigned char xstart, unsigned char ystart, unsigned char xend, unsigned char yend) – Funkcja rezerwująca w pamięci dany obszar
- cursor_lcd(unsigned char row, unsigned char col) – Funkcja ustawiajaca pozycję kursora
- pixel_lcd(unsigned char x, unsigned char y,unsigned int color) – Funkcja rysująca pixel w danym kolorze; x jest numerem pixela wzdłuż osi poziomej od lewej strony, y wzdłuż osi pionowej od dołu ekranu.
- clear_lcd(unsigned int col) – Funkcja zapełniajaca cały ekran wybranym kolorem
- line_lcd(unsigned char x1,unsigned char x2, unsigned char y1, unsigned char y2, unsigned int color) – Funkcja rysująca linię, x adresowane jest od lewej strony, y od dołu
- area_lcd(unsigned char x,unsigned char y, unsigned char height, unsigned char width, unsigned int color) – Funkcja zapełniająca wybrany obszar kolorem, x adresowane jest od lewej strony, y od dołu, szerokosć w prawa stronę od punktu poczatkowego, wysokosć w górę
- frame_lcd(unsigned char x,unsigned char y, unsigned char height, unsigned char width, unsigned char size, unsigned int color) – Funkcja rysująca ramkę, wszystko adresowane tak jak dla funkcji area_lcd, przedostatni argument oznacza szerokość linii ramki
- chr_lcd( char chr, unsigned char x, unsigned char y, unsigned int size, unsigned int color_font, unsigned int color) – Funkcja pisząca znak. Argumenty: x-numer pozycji znaku, y-numer linii znaku, size-rozmiar czcionki (1 lub 2), font_color-kolor czcionki, color-kolor tła czcionki(jesli -1 rysowana jest sama czcionka bez tła)
- str_lcd(char *str, unsigned char x, unsigned char y, unsigned int size, unsigned int color_font, unsigned int color) – Funkcja pisząca tekst, argumenty jak wyżej, przykład: str_lcd(“TEST LCD”,1, 2, 2, RED, WHITE);
Źródło: Obsługa LCD z siemensa M55. Biblioteki z języku C dla AVR. – Drzasiek
Kolory są zdefiniowane w bibliotece (plik LM15SGFNZ07.h)
#define WHITE 0xFFF // Biały
#define BLACK 0x000 //Czarny
#define RED 0xF00 // Czerwony
#define GREEN 0x0F0 // Zielony
#define BLUE 0x00F // Niebieski
#define CYAN 0x0FF
#define MAGENTA 0xF0F
#define YELLOW 0xFF0 //Żółty
#define BROWN 0xB22 // Brązowy
#define ORANGE 0xFA0 //Pomarańczowy
#define PINK 0xF9E // Różowy
Przetłumaczyłem dla nieznających angielskiego ale kolory to chyba każdy powinien znać :D
Możliwe że można zdefiniować ich więcej ale jeszcze nie próbowałem.
Mamy już działający wyświetlacz a teraz dodajmy do niego termometr :)
Potrzebny nam będzie popularny czujnik temperatury DS18B20 oraz rezystor 4,7kΩ podłączony według schematu.
Potrzebne biblioteki:
- Dallas Temperature Control Library – u mnie na Arduino 1.0 działają te TCL 3.7.2 (works with Arduino 1.0)
- OneWire Library
Biblioteki wrzucamy do folderu /libraries/
Kod:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
/* Siemens M55 LCD (LM15SGFNZ07) examples * E * Mindogas 2011 | markauskas.mindaugas at gmail.com * Modificate 2013 by Krzxsiek | www.krzxsiek.pl */ #include <LM15SGFNZ07.h> #include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 12 //pin DQ z czujnika DS18B20 LM15SGFNZ07 lcd(2,3,4,5,6); //piny z wyświetlacza [SDATA,SCLK,RS,RESET,CS] OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); int ods = 60000; //czas w jakim temperatura ma być pobierana z czujnika (domyślnie 60000ms = 60sek.) void setup() { lcd.init_lcd(); lcd.contrast_lcd(0x11f); //kontrast w formacie hexadecimal (0x11f) = 287 delay(100); sensors.begin(); } void loop() { // Treść wstępna lcd.clear_lcd(BLACK); lcd.str_lcd("TERMOMETR",5, 1, 1, WHITE, BLACK); lcd.str_lcd("Na wyswietlaczu z",1, 3, 1, WHITE, BLACK); lcd.str_lcd("Siemens M55, S55, A60, C60, MC60",1, 5, 1, WHITE, BLACK); lcd.str_lcd("DEMO",3, 5, 2, WHITE, BLACK); lcd.clear_lcd(BLACK); // // Zapętlona instrukcja odświeżająca temperaturę while( 2 > 1 ) { lcd.str_lcd("Temp",1, 2, 2, WHITE, BLACK); Term(); delay(ods); } // } //Funkcja pobierająca dane z czujnika i wysyłająca wartość temperatury na wyświetlacz void Term(){ sensors.requestTemperatures(); // Wysyła komendę do pobrania temperatury delay(1000); // Opóźnienie 1sek. Czeka na poprawne pobranie temperatury. Bez tego odczyty wariowały. char buffer[5]; dtostrf(sensors.getTempCByIndex(0), 5, 1, buffer); lcd.str_lcd(buffer,4, 3, 2, WHITE, BLACK); //Wysyła wartość temperatury na wyświetlacz } |
Tak to działa:
No i to by było na tyle. Mam nadzieję że instrukcja ta będzie dla was pomocna i zrobicie pożytek ze swojego starego telefonu :)
Spory, naprawdę spory kawał dobrej roboty! Ja właśnie siedzę i próbuję rozpracować wyświetlacz (e-papier) od Kindle ;)
Dziękuję :) Sporo pracy przy tworzeniu takiego poradnika także doceniam Twoje prace :) O Arduino u nas w Polsce jest bardzo mało pisane poradników i chciałbym to zmienić bo Arduino jest bardzo przyjazne dla majsterkowiczów hobbystów którzy z elektroniką mają mało wspólnego a chcieli by zrobić coś fajnego. Ja jako taki hobbysta walczyć będę niedługo z projektem przerobienia domofonu starego typu aby był otwierany kodem morsa. Ktoś już napisał coś takiego na elektrodzie ale nie bezpośrednio pod Arduino. W międzyczasie może jeszcze zrobię poradnik z wyświetlaczem z Nokii 5110/3310 bo ostatnio zakupiłem moduł z chińskiego ebaya za 11zł a u nas na allegro kosztował 22zł plus przesyłka :D Ale też kupiłem uszkodzoną Nokię 3310 to może bezpośrednio napiszę jak łatwo pozyskać taki wyświetlacz :) Biblioteki do niego jak i przykładowy kod jest dostępny na zagranicznych stronach.
z 5110 dziala ladnie, ale wymaga BARDZO duzo RAM wiec wykorzystanie w czyms bardziej zaawansowanym mija się z celem.
No jakby Ci się udało, to była by naprawdę rewelacja, ja szukałem już od jakiegoś czasu możliwości zabawy z e-papierem i niestety nie znalazłem żadnej sensownej możliwości, a taki wyświetlacz otwiera spore możliwości.
Hej! bardzo fajny projekt! Powiedz proszę, ile prądu zjada taki wyświetlacz ?
Niestety ale nie mam pojęcia. Jak mi powiesz jak to sprawdzić to może spróbuje zmierzyć :D
Najprościej, jak tylko się da – odepnij wyświetlacz (całkiem) i zmierz, ile prądu ciągnie całe Arduino. Potem podepnij wyświetlacz i znowu zmierz pobór prądu przez całe Arduino (razem z wyświetlaczem). Odejmij od siebie wyniki i masz prąd ciągnięty przez wyświetlacz :)
W miejscu rezystorów szeregowo podpiętych do pinów 1-4 powinien być rezystorowy dzielnik napięcia.
Sorry ale wytłumacz mi po co? W innych poradnikach nie było żadnego dzielnika a układ działa dobrze tak jak widać na załączonym filmiku. Czasami tylko wyskoczy gdzieś jeden biały piksel.
LCD jest zasilane 3V3 a tutaj siejesz 5V w przypadku stanu wysokiego.
Aha, no sprawdziłem miernikiem i masz racje :) Muszę poczytać jak tą drabinkę zrobić i sprawdzę czy będzie działać. W wyświetlaczu z 3310 widziałem że przez jakiś układ scalony stabilizowali napięcie.
Wybaczcie ale jestem zielony w elektronice :D
Wszystkie informacje o łączeniu układów 5V i 3,3V zebrane w jednym miejscu: http://starter-kit.nettigo.pl/2012/01/komunikacja-ukladow-3-3v-i-5v/ :)
Chyba zrozumiałem jak działa ta drabinka jak zerknąłem na ten schemat z wykorzystaniem tego wyświetlacza http://users.atw.hu/ktulu/files/schem.JPG
Pomiędzy pin idący z arduino – rezystor (tutaj dajemy rezystor który jakby kradnie nam trochę prądu do masy?) – wyświetlacz
Dobrze zrozumiałem?
Zamiast sugerować się jakimś schematem policz sobie sam wartości rezystorów.
http://www.elportal.pl/ea/dzielnik.html
Hehe no wiem że bez liczenia się nie obejdzie, chciałem tylko żeby ktoś mnie uświadomił na jakiej zasadzie to działa :)
Z moich obliczeń i posiadanych rezystorów wyszło że muszę użyć
R1 – 10kΩ, R2 – 10kΩ i 4.7kΩ
http://img40.imageshack.us/img40/8346/drabinkam.jpg
Poprawnie to zrobiłem? Na mierniku mam 2.97V
Podłączyłem, chwile podziałało i dalej już nie działa. Według tego poradnika piszą że jeszcze mniejsze rezystory należy dać bo 4.7kΩ. Ja dałem większe 10kΩ i nic się nie dzieje także chyba raczej nie trzeba nic zmieniać.
Daj takie (wg tego co dałem schematu)
R1 1K8
R2 3K3
Niestety takich nie posiadam :(
Mam tylko 100, 220, 2.2k, 4.7k, 10k, 1k, 470, 47k, 330
Do wyliczeń polecam programik na Androida ElectroDroid : https://play.google.com/store/apps/details?id=it.android.demi.elettronica
Po polsku, można wiele rzeczy szybciutko obliczyć :)
puzon: znam i korzystam :)
Próbowałem zrobić tą drabinkę rezystorową lecz nie przyniosło to żadnych efektów.
Dlatego też jeśli ktoś się boi o skrócenie żywotności wyświetlacza to najlepiej podłączyć go do układu zasilanego 3.3V
Ogólnie łatwiej było by coś wymyślić jeśli posiadali byśmy notę katalogową producenta ale przeszukałem google i niestety nic nie znalazłem.
Tak ma to wyglądać, żadna filozofia. Jeśli nie masz takich rezystorów to kup.
1 zł wystarczy…
http://img854.imageshack.us/img854/6497/lcda.png
W arkuszu od sterownika wyświetlacza jest napisane, że na pinach sterujących przyjmuje napięcie od 5V do 18V.
Fajne tylko jak by ktoś pokazał jeszcze z wyświetlaczem 3310(mniej prądu pobiera….;])
Jak znajdę czas to również zrobię poradnik z wyświetlaczem 3310.
a da się Ardurino zastąpić czymś tańszym ? tak jak w wielu innych projektach na tej stronie ?
Oczywiście że się da zastąpić Arduino. Klonem Arduino na Atmega8/168/328 :) Tutaj masz tutorial http://arduino.cc/en/Main/Standalone sam taki sobie zrobiłem. Można programować przy użyciu USBasp https://majsterkowo.pl/programowanie-mikrokontrolerow-za-pomoca-programatora-usbasp/
Przydała by się aktualizacja instrukcji (schematów) o Atmege bo w tym artykule jest tylko Attiny.
W tamtym artykule jest potrzebne więcej aktualizacji ;) Pisząc go nie miałem jeszcze świadomości, jak ważne jest prawidłowe zasilanie µC (łącznie z filtracją zasilania) i potraktowałem tą kwestię nieco po macoszemu ;) Ale fakt – muszę w końcu do tego przysiąść i wszystko popoprawiać, żeby nie wprowadzać ludzi w błąd.
No schemacik na Atmegi koniecznie musi być :) No i ta filtracja zasilania przez stabilizator napięcia 7805 też by się przydała.
Stabilizacja i filtracja to dwie różne rzeczy :) Obowiązkowa lektura: http://mirekk36.blogspot.com/2012/04/mikrokontroler-prawidowe-zasilanie.html :)
Chodzi Ci o to jak dobrze zrozumiałem? :D http://img9.imageshack.us/img9/2145/filtracja.jpg
To mój schemacik na tani klon arduino :)
O to to :) Z tym, że te dwa kondensatorki ceramiczne 100nF powinny być możliwie jak najbliżej pinów zasilających µC :)
Wiem czytałem o tym że mają być jak najbliżej.
Zaprojektowałem taką płytkę http://img833.imageshack.us/img833/6517/plytka.jpg
Tutaj jest dobrze?
Dobra kończę ten komentarzowy offtop :D
Masz strasznie kiepski transfer po SPI do tego wyświetlacza. Można zrobić szybsze odświeżanie.
krzysztof: Jak ktoś wstawia w szereg na magistralii rezystory po 10k każdy, to więcej nie wyciągnie. Kwestia propagacji sygnału.
Autorowi polecam ten artykuł: http://focus.ti.com/lit/an/swra071/swra071.pdf
Co prawda nie SPI, a I²C, ale ten artykul jest dosc ciekawy: http://dsscircuits.com/articles/effects-of-varying-i2c-pull-up-resistors.html. Na jego podstawie w swoim projekcie wylaczylem wewnetrzne pull-upy na SDA i SCL i podpialem 3k3, do tego zwiekszylem predkosc magistrali z 100kHz do 400kHz i, choc moze to tylko moje wrazenie, calosc dziala lepiej. Mam podpiety wyswietlacz LCD po I²C i wczesniej zdarzalo mu sie zasypac smieciami. Teraz problem nie wystepuje.
Zapytam z czystej ciekawości. Kiedyś siedziałem dosyć głęboko w temacie Siemensów i pamiętam, że S55 używał 256 kolorów, a C60 4096 kolorów. A opisane tutaj funkcje przyjmują kolory w intach, tzn. jak przypuszczam w formacie ABGR. Rozumiem, że biblioteka sama wykrywa odpowiedni wyświetlacz i redukuje kolory do odpowiedniego zestawu?
Fajna jest ta stronka, lecz przeraża mnie, że większość rzeczy nie zrobimy, nie mając Arduino. Może pokusi się ktoś o zrobienie statystyk ile tematów wymagało Arduino, a ile obeszło się bez niego…
Wszystko można zrobić bez Arduino. Wystarczy kupić sobie jakiś mikrokontroler (koszt od 5zł) i na niego wrzucać wszystkie programy :)
Arduino służy tylko do prototypowania i docelowo w gotowych urządzeniach wsadza się już tylko same mikrokontrolery :)
Jak widzisz poradnik klona Arduino jest tutaj na stronie bardzo potrzebny i jak sam go nie zrobisz to może ja coś wymyślę bo ta stronka cierpi na tym trochę :D
Ja ogólnie jestem wielce za wszystkim pod Arduino bo go posiadam i na nim łatwo prototypuje ale jakbym go nie posiadał to bym go sobie tanio zrobił bo już z zebranych informacji wiem jak i koszt jest niewielki a szczególnie na Atmega8 które na allegro to koszt 5zł. a Atmega328 ok.11-12zł. do tego stabilizator, 6 kondensatorów, kwarc i gotowe.
Sa juz nawet dwa takie poradniki, jeden z uzyciem arduino, drugi z uzyciem usbasp:
https://majsterkowo.pl/programowanie-mikrokontrolerow-za-pomoca-programatora-usbasp/
https://majsterkowo.pl/progamowanie-mikrokontolerow-na-przykladzie-attiny2313/
Są ale brakuje poradnika w dosłownym stylu “jak sklonować arduino” (na Atmega8/168/328) nad którego napisaniem się właśnie zastanawiam :D Opisał bym w nim jak sklonować arduino na płytce stykowej i jak wgrać bootloader przy pomocy samego arduino jak i USBasp no i jak nimi programować tego klona.
Wiem że można do tego dojść z tych właśnie poradników które są już napisane ale chciałbym aby to było coś przygotowanego dla zwolenników arduino :)
Wielu myśli że aby robić coś na arduino potrzebne im orginalne arduino w każdym projekcie.
To byłby taki artykuł zachęcający do przygody z arduino i mikrokontrolerami :)
Dodam też że dla początkujących liczy się w mikrokontrolerach duża ilość pamięci flash (w attiny2313 masz tylko 2kb a na atmega8 8kb) bo wychodzi czasem spora ilość kodu podczas nauki :D
Kolory są zdefiniowane w bibliotece w pliku LM15SGFNZ07.h
#define WHITE 0xFFF
#define BLACK 0x000
#define RED 0xF00
#define GREEN 0x0F0
#define BLUE 0x00F
#define CYAN 0x0FF
#define MAGENTA 0xF0F
#define YELLOW 0xFF0
#define BROWN 0xB22
#define ORANGE 0xFA0
#define PINK 0xF9E
Nie próbowałem ich więcej dodawać czy zmieniać ale myślę że można :)
A czy da się połączyć do Arduino kolorowy wyświetlacz?
To dopiero by było przełomowe połączenie :D
Albo jeszcze lepszy pomysł podłączyć Arduino do dotykowego wyświetlacza, który z kolei byłby połączony ze wszystkimi urządzeniami, którymi można sterować w całym domu. Zrobić jakiś prosty interfejs do tego wszystkiego i za pomocą małego przenośnego pudełeczka z wyświetlaczem będziemy mogli sterować np. telewizorem i jasnością światła, roletami, radiem i budzikiem oraz pralką. Pięknie
To jest kolorowy wyświetlacz :)
Nie jestem ekspertem ale ten czujnik temperatury działa też na 3.3v więc po co podpinanie go pod 5v
Ja zrobiłem według poradnika w którym było na 5V. Z tego co teraz sprawdziłem można go zasilać od 3V do 5.5V. Także to już wedle uznania jak go podłączysz :)
Gdzie można kupić taką płytkę jak na 1 zdjęciu?
Płytkę stykową dostaniesz na allegro lub w jakimś sklepie elektronicznym.
U mnie w mieście widziałem.
Dzięki za odp. długo szukałem tej płytki :))
A co zrobić jesli mam arduino due i na pwm jest 3.3V a nie 5V?
No to właśnie bardzo dobrze jak ma 3.3V bo nie powinno być problemów z długotrwałym użytkowaniem :) Zastosuj rezystory 4,7k zamiast tych 10k które ja tutaj dałem.
krótkie pytanie. da radę na tym wyświetlić obraz z analog video(np kamera, konsola, aparat z wyjściem video)?
Da, trzeba tylko odpowiednio pokombinować i obrobić dane, przerobić sterownik. Ogólnie sterownik tutaj dostępny zapisuje dane bez buforowania co jest baaaaaardzo wolne. Aktualnie próbuję napisać sterownik z buforowaniem, co nie jest proste, bo nie ma nigdzie dostępnej dokumentacji co i jak, a tylko jakieś poszlaki… Bazuje na zapisie buforowanym na HD44780 i metodą prób i błędów próbuje to przepisać na ten wyświetlacz – powoli zaczyna być widać jakieś efekty, ale jeszcze masa pracy przede mna.
Próbował ktoś analogowego czujnika temperatury MCP9700 (ten dodawany do starter kit) podpiąć pod ten LCD? Kombinowałem, ale nie wychodzi – kompilator chce przerabiać float na char. Próbowałem zmienić pobrane dane na int też nie chce się skompilować :(
Udało się, gdyby ktoś potrzebował wyświetlić odczyt z analogowego czujnika:
#include
#include
co ty w tym miejscu dołączasz?
Witam, widzę, że u większości nie ma problemu z tym wyświetlaczem. U mnie jednak podczas kompilacji wyskakuje masa błędów z tą biblioteką. Czy ktoś wie o co może chodzić ?
Dlaczego wyskakuje mi błąd gdy prubuje wgrać szkic