Böyük bir ST7920 Ekranı İstifadə edən Hava İstasyonu: 4 addım
Böyük bir ST7920 Ekranı İstifadə edən Hava İstasyonu: 4 addım
Anonim
Böyük bir ST7920 Ekranı istifadə edən Hava İstasyonu
Böyük bir ST7920 Ekranı istifadə edən Hava İstasyonu
Böyük bir ST7920 Ekranı istifadə edən Hava İstasyonu
Böyük bir ST7920 Ekranı istifadə edən Hava İstasyonu
Böyük bir ST7920 Ekranı istifadə edən Hava İstasyonu
Böyük bir ST7920 Ekranı istifadə edən Hava İstasyonu

Əziz dostlar, başqa bir təlimata xoş gəldiniz! Bu təlimatda, bu böyük LCD ekrana ilk nəzər salacağıq və onunla birlikdə temperatur və rütubət monitoru quracağıq.

Həmişə 3D printerimin istifadə etdiyi ekrana bənzər bir ekran tapmaq istəyirdim, çünki böyük və ucuzdur, buna görə də bir çox layihə üçün çox faydalı ola bilər. Ətrafı araşdırdıqdan sonra printerimin istifadə etdiyi ekranın bu olduğunu gördüm. ST7920 sürücüsü və 128x64 piksel qətnaməsi olan böyük 3.2 ekran. Sərin! Gördüyünüz kimi, bu günə qədər layihələrimizdə istifadə etdiyimiz əksər ekranlardan daha böyükdür, buna görə gələcək bir çox layihələrdə faydalı olacaq. Yalnız 6 dollara başa gəlir!

Buradan əldə edə bilərsiniz →

Təchizat

  1. LCD Ekran ST7920 →
  2. Arduino Uno →
  3. DHT22 Sensoru →
  4. Çörək lövhəsi →
  5. Tellər →

Addım 1: Arduino ilə əlaqə

Arduino ilə əlaqə
Arduino ilə əlaqə
Arduino ilə əlaqə
Arduino ilə əlaqə
Arduino ilə əlaqə
Arduino ilə əlaqə

İndi Arduino ilə necə istifadə ediləcəyinə baxaq. Bu gün bir Arduino Uno istifadə edəcəyəm, amma bir çox Arduino lövhəsi ilə işləyir.

Ekran mikrokontrolörlə ünsiyyət qurmaq üçün SPI interfeysindən istifadə edir, buna görə onu Arduino lövhəsinin aparat SPI pinlərinə bağlamalıyıq.

Gördüyünüz kimi, ekranda qoşulmaq üçün bir çox sancaqlar var, amma narahat olmayın ki, bütün bu sancaqları, yalnız 9 -u və yalnız 4 -ü Arduino Uno lövhəsinin rəqəmsal pinlərinə bağlamağa ehtiyac yoxdur.

GND olan ilk pin Arduino GND -yə gedir. Vcc olan ikinci pin Arduino 5V çıxışına gedir. RS pin rəqəmsal pinə 10. R/W pin rəqəmsal pinə 11. E pin rəqəmsal pinə 13. PSB pin GND, RST pin rəqəmsal pin 8, BLA Arduino 3.3V çıxışına gedir. və BLK pin GND -ə gedir. Ekranınız istifadəyə hazırdır!

Ekranın bütün GND pinlərini bir araya gətirsək həyatımızı asanlaşdıra bilərik.

Addım 2: Ekran üçün Kitabxana

Ekran üçün kitabxana
Ekran üçün kitabxana
Ekran üçün kitabxana
Ekran üçün kitabxana
Ekran üçün kitabxana
Ekran üçün kitabxana
Ekran üçün kitabxana
Ekran üçün kitabxana

İndi bu ekranı idarə etmək üçün lazım olan proqramı görək.

Bu ekranı idarə etmək üçün u8g kitabxanasından istifadə edəcəyəm. Əvvəlcə kitabxananı quraşdıraq. Arduino IDE -ni açırıq və menyudan Sketch → Kitabxana Daxil et → Kitabxanaları İdarə et seçin və U8G2 kitabxanasını axtarırıq. Seçirik və quraşdırma düyməsini basırıq! Budur, kitabxanamız istifadəyə hazırdır.

İndi Fayl → Nümunələrə keçək və kitabxana ilə verilən nümunələrdən GraphicsText nümunəsini işlədək. Lövhəyə yükləməzdən əvvəl eskizdə yalnız bir dəyişiklik etməliyik. U8G kitabxanası bir çox displeyi dəstəklədiyi üçün ekranınıza uyğun konstruktor seçməliyik. Beləliklə, "ST7920" kodunu axtarırıq və mövcud konstruktorlardan HW_SPI kodundan istifadə etməyi seçirik. Bu xətti belə şərh edirik və eskizi Arduinoya yükləməyə hazırıq. Bir neçə saniyə sonra eskiz işə düşür.

Ekranda heç bir şey görmürsənsə, ekranın arxasında yerləşən bu kiçik potensiometrdən istifadə edərək ekranın kontrastını tənzimləməlisən

İndi bir neçə saniyəlik demo eskizinə baxaq. Gördüyünüz kimi, bu nümunə eskiz kitabxananın və ekranın imkanlarını nümayiş etdirir. Bu ekranla sərin animasiyalar əldə edə bilərik, olduqca bacarıqlıdır. Buna görə bir çox 3D printerdə istifadə olunur.

Addım 3: Bir Hava İstasyonu quraq

Bir Hava İstasyonu quraq
Bir Hava İstasyonu quraq
Bir Hava İstasyonu quraq
Bir Hava İstasyonu quraq
Bir Hava İstasyonu quraq
Bir Hava İstasyonu quraq
Bir Hava İstasyonu quraq
Bir Hava İstasyonu quraq

İndi faydalı bir şey quraq. DHT22 İstilik və Nəmlik Sensorunu Arduinoya bağlayaq. Yalnız gücə və rəqəmsal pin 7 -yə bağladığım bir siqnal telinə ehtiyacımız var. İşi asanlaşdırmaq üçün kiçik bir çörək taxtasından da istifadə etdim. Əlavə edilmiş sxematik diaqramı burada tapa bilərsiniz.

Gördüyünüz kimi, layihə yaxşı işləyir və real vaxt rejimində temperatur və rütubəti əks etdirir.

İndi layihənin koduna qısa bir nəzər salaq. Yalnız 60 sətir kodla belə bir layihə qura bilərik! Bu necə də gözəldir! Ekranı istifadə etmək üçün etməli olduğumuz şey bu konstruktordan istifadə etməkdir:

U8G2_ST7920_128X64_1_HW_SPI u8g2 (U8G2_R0, /* CS =* / 10, /* sıfırlama =* / 8);

Quraşdırma funksiyasında ekranı işə salın:

u8g2.begin (); u8g2.enableUTF8Print (); u8g2.setFont (u8g2_font_helvB10_tf); u8g2.setColorIndex (1);

və sonra etdiyimiz hər şey temperatur və rütubət üçün çərçivələri və telləri çəkməkdir:

u8g2.drawFrame (0, 0, 128, 31);

u8g2.drawFrame (0, 33, 128, 31); u8g2.drawStr (15, 13, "Temperatur");

Etməli olduğumuz son şey, temperatur və rütubəti sensordan oxumaq və oxunuşu ekranda da göstərməkdir.

boş oxumaq temperaturu ()

{float t = dht.readTemperature (); dtostrf (t, 3, 1, temperatur); }

Həmişə olduğu kimi burada əlavə olunan layihənin kodunu tapa bilərsiniz.

Addım 4: Son Fikirlər

Son Fikirlər
Son Fikirlər

Son bir fikir olaraq, düşünürəm ki, bu ekran böyük bir ekrana ehtiyacımız olan və rəngə ehtiyacımız olmayan layihələrdə çox faydalıdır. Ucuz və istifadəsi asandır. Gələcəkdə bəzi layihələrdə istifadə edəcəyimi düşünürəm.

Bu ekran haqqında fikirlərinizi bilmək istərdim. Sizcə belə bir ekrandan hansı tətbiqlər faydalanacaq? Fikirləriniz üçün və bu Təlimatı oxuduğunuz üçün təşəkkür edirik. Gələn dəfə görüşəcəyəm!