Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Të dashur miq, mirë se vini në një Udhëzues tjetër! Në këtë tutorial, ne do të hedhim një vështrim të parë në këtë ekran të madh LCD dhe do të ndërtojmë një monitor të temperaturës dhe lagështisë me të.
Gjithmonë kam dashur të gjej një ekran të ngjashëm me ekranin që përdor printeri im 3D sepse është i madh dhe i lirë, kështu që mund të jetë shumë i dobishëm për shumë projekte. Pasi shikova përreth, zbulova se ekrani që përdor printeri im është ky. Një ekran i madh 3.2 me drejtuesin ST7920 dhe një rezolutë prej 128x64 piksele. Ftohtë! Siç mund ta shihni, është shumë më e madhe se shumica e ekraneve që kemi përdorur deri më tani në projektet tona, kështu që do të jetë e dobishme në shumë projekte të ardhshme. Kushton vetëm rreth 6 dollarë!
Mund ta merrni këtu →
Furnizimet
- Ekran LCD ST7920 →
- Arduino Uno →
- Sensori DHT22 →
- Breadboard →
- Telat →
Hapi 1: Lidhja me Arduino
Le të shohim tani se si ta përdorim atë me Arduino. Unë do të përdor një Arduino Uno sot, por ai punon me shumë borde Arduino.
Ekrani përdor ndërfaqen SPI për të komunikuar me mikrokontrolluesin, kështu që ne duhet ta lidhim atë me kunjat e harduerit SPI të bordit Arduino.
Siç mund ta shihni, ekrani ka shumë kunja për t'u lidhur, por mos u shqetësoni se nuk kemi nevojë t'i lidhim të gjitha këto kunja, vetëm 9 prej tyre dhe vetëm 4 prej tyre me kunjat dixhitale të bordit Arduino Uno.
Kunja e parë që është GND shkon tek Arduino GND. Kunja e dytë që është Vcc shkon në daljen Arduino 5V. Kunja RS shkon te kunja dixhitale 10. Kunja R/W shkon në kunjin dixhital 11. Kodi pin shkon në kunjin dixhital 13. Kodi PSB shkon në GND, kunja RST shkon në pinin dixhital 8, BLA shkon në daljen 3.3V të Arduino dhe kunja BLK shkon në GND. Kjo është ajo që ekrani ynë është gati për t’u përdorur!
Ne mund ta bëjmë jetën tonë më të lehtë nëse lidhim të gjitha kunjat GND të ekranit së bashku.
Hapi 2: Biblioteka për Ekranin
Tani le të shohim softuerin që na nevojitet për të drejtuar këtë ekran.
Unë do të përdor bibliotekën u8g për të drejtuar këtë ekran. Para së gjithash, le të instalojmë bibliotekën. Ne hapim Arduino IDE dhe nga menyja zgjedhim Sketch → Include Library → Manage Bibliotekat dhe kërkojmë bibliotekën U8G2. Ne e zgjedhim atë dhe shtypim install! Kjo është ajo, biblioteka jonë është gati për t’u përdorur.
Tani le të shkojmë te File → Shembuj dhe nga shembujt e dhënë me bibliotekën le të ekzekutojmë shembullin GraphicsText. Ne vetëm duhet të bëjmë një ndryshim në skicë para se ta ngarkojmë në tabelë. Meqenëse biblioteka U8G mbështet shumë ekrane, ne duhet të zgjedhim konstruktorin e duhur për ekranin tonë. Pra, ne kërkojmë kodin për "ST7920" dhe nga konstruktorët në dispozicion, zgjedhim të përdorim atë HW_SPI. Ne e komentojmë këtë linjë si kjo dhe jemi gati ta ngarkojmë skicën në Arduino. Pas disa sekondash, skica fillon të funksionojë.
Nëse nuk mund të shihni asgjë në ekran, duhet të rregulloni kontrastin e ekranit duke përdorur këtë potenciometër të vogël i cili ndodhet në pjesën e pasme të ekranit
Tani le të shikojmë skicën demo për disa sekonda. Siç mund ta shihni, ky skicë shembull demonstron aftësitë e bibliotekës dhe të ekranit. Ne mund të arrijmë disa animacione të lezetshme me këtë ekran, është mjaft i aftë. Kjo është arsyeja pse përdoret në kaq shumë printera 3D.
Hapi 3: Le të ndërtojmë një stacion moti
Le të ndërtojmë tani diçka të dobishme. Le të lidhim një sensor DHT22 të temperaturës dhe lagështisë me Arduino. Ne kemi nevojë vetëm për energji dhe një tel sinjali të cilin e lidh me kunjin dixhital 7. Për t'i bërë gjërat më të lehta kam përdorur edhe një dërrasë të vogël buke. Këtu mund të gjeni diagramin skematik.
Siç mund ta shihni, projekti po funksionon mirë dhe shfaq temperaturën dhe lagështinë në kohë reale.
Le të hedhim një vështrim të shpejtë në kodin e projektit. Me vetëm 60 rreshta kod, ne mund të ndërtojmë një projekt si ky! Sa e ftohte eshte! E tëra çfarë duhet të bëjmë për të përdorur ekranin është të përdorim këtë konstruktor:
U8G2_ST7920_128X64_1_HW_SPI u8g2 (U8G2_R0, /* CS =* / 10, /* rivendosje =* / 8);
iniconi ekranin në funksionin e konfigurimit:
u8g2.filloj (); u8g2.enableUTF8Print (); u8g2.setFont (u8g2_font_helvB10_tf); u8g2.setColorIndex (1);
dhe pastaj gjithçka që bëjmë është të vizatojmë kornizat dhe telat për temperaturën dhe lagështinë:
u8g2.drawFrame (0, 0, 128, 31);
u8g2.drawFrame (0, 33, 128, 31); u8g2.drawStr (15, 13, "Temperatura");
E fundit që duhet të bëjmë është të lexojmë temperaturën dhe lagështinë nga sensori dhe të shfaqim leximin gjithashtu në ekran.
leximi i pavlefshëm Temperatura ()
{float t = dht.readTemperature (); dtostrf (t, 3, 1, temperatura); }
Si gjithmonë, kodin e projektit mund ta gjeni të bashkangjitur këtu.
Hapi 4: Mendimet përfundimtare
Si mendim i fundit, mendoj se ky ekran është shumë i dobishëm në projektet ku kemi nevojë për një ekran të madh dhe nuk kemi nevojë për ngjyra. Shtë e lirë dhe e lehtë për t'u përdorur. Unë mendoj se do ta përdor në disa projekte të ardhshme.
Do të doja të dija mendimin tuaj në lidhje me këtë ekran. Çfarë lloj aplikimesh mendoni se do të përfitojnë nga një ekran si ky? Faleminderit për idetë tuaja dhe për leximin e këtij Udhëzuesi. Do të shihemi herën tjetër!