Мазмұны:

Үлкен ST7920 дисплейі бар метеорологиялық станция: 4 қадам
Үлкен ST7920 дисплейі бар метеорологиялық станция: 4 қадам

Бейне: Үлкен ST7920 дисплейі бар метеорологиялық станция: 4 қадам

Бейне: Үлкен ST7920 дисплейі бар метеорологиялық станция: 4 қадам
Бейне: Improved Bar Display on Graphic LCD. 2024, Қараша
Anonim
Үлкен ST7920 дисплейі бар ауа райы станциясы
Үлкен ST7920 дисплейі бар ауа райы станциясы
Үлкен ST7920 дисплейі бар ауа райы станциясы
Үлкен ST7920 дисплейі бар ауа райы станциясы
Үлкен ST7920 дисплейі бар ауа райы станциясы
Үлкен ST7920 дисплейі бар ауа райы станциясы

Құрметті достар, тағы бір нұсқаулыққа қош келдіңіздер! Бұл оқулықта біз осы үлкен СКД дисплейін бірінші рет қарастырамыз және онымен температура мен ылғалдылық мониторын құрамыз.

Мен әрқашан 3D принтер пайдаланатын дисплейге ұқсас дисплейді білгім келді, себебі ол үлкен және қымбат емес, сондықтан ол көптеген жобалар үшін өте пайдалы болуы мүмкін. Айналаға қарап, мен принтерімнің дисплейі осы екенін көрдім. ST7920 драйвері бар үлкен 3,2 дюйм және ажыратымдылығы 128х64 пиксель. Керемет! Көріп отырғаныңыздай, бұл біздің жобаларда бұрын қолданылған көптеген дисплейлерге қарағанда әлдеқайда үлкен, сондықтан ол болашақ көптеген жобаларда пайдалы болады. Бұл шамамен 6 доллар тұрады!

Сіз оны мына жерден ала аласыз →

Жабдықтар

  1. LCD дисплей ST7920 →
  2. Arduino Uno →
  3. DHT22 сенсоры →
  4. Нан тақтасы →
  5. Сымдар →

1 -қадам: Arduino -мен байланыс

Arduino -мен байланыс
Arduino -мен байланыс
Arduino -мен байланыс
Arduino -мен байланыс
Arduino -мен байланыс
Arduino -мен байланыс

Енді оны Arduino -мен қалай қолдануға болатынын қарастырайық. Мен бүгін Arduino Uno қолданамын, бірақ ол көптеген Arduino тақталарымен жұмыс істейді.

Дисплей микроконтроллермен байланысу үшін SPI интерфейсін қолданады, сондықтан оны Arduino тақтасының аппараттық SPI түйреуіштеріне қосу керек.

Көріп отырғаныңыздай, дисплейде көптеген түйреуіштер бар, бірақ алаңдауға болмайды, бұл түйреуіштердің барлығын қосудың қажеті жоқ, олардың 9 -ы ғана, олардың 4 -еуі Arduino Uno тақтасының сандық түйреуіштеріне.

GND деген бірінші түйін Arduino GND -ге түседі. Екінші түйін - Vcc, Arduino 5V шығуына кетеді. RS түйрегіші цифрлық түйреуішке ауысады 10. R/W штыры цифрлық істікке ауысады 11. E істікшесі цифрлық істікке ауысады 13. PSB түйрегіші GND -ге, RST пині цифрлық пинге 8, BLA Arduino -ның 3.3В шығысына өтеді. және BLK түйрегіші GND -ге өтеді. Міне, біздің дисплей пайдалануға дайын!

Егер біз дисплейдің барлық GND түйреуіштерін бірге сыммен қоссақ, біз өз өмірімізді жеңілдете аламыз.

2 -қадам: дисплейге арналған кітапхана

Көрсетуге арналған кітапхана
Көрсетуге арналған кітапхана
Көрсетуге арналған кітапхана
Көрсетуге арналған кітапхана
Көрсетуге арналған кітапхана
Көрсетуге арналған кітапхана
Көрсетуге арналған кітапхана
Көрсетуге арналған кітапхана

Енді осы дисплейді басқаруға қажет бағдарламалық қамтамасыз етуді қарастырайық.

Мен бұл дисплейді басқару үшін u8g кітапханасын қолданамын. Алдымен кітапхананы орнатамыз. Біз Arduino IDE ашамыз және мәзірден эскиз → Кітапхананы қосу → кітапханаларды басқару тармағын таңдаймыз және U8G2 кітапханасын іздейміз. Біз оны таңдаймыз және орнатуды басамыз! Міне, біздің кітапхана пайдалануға дайын.

Енді Файл → Мысалдарға өтейік және кітапханада берілген мысалдардан GraphicsText мысалын іске қосайық. Тақтаға жүктемес бұрын бізге тек эскизге бір ғана өзгеріс енгізу керек. U8G кітапханасы көптеген дисплейлерді қолдайтындықтан, біздің дисплейге сәйкес конструкторды таңдау керек. Сондықтан біз «ST7920» кодын іздейміз және қол жетімді конструкторлардан HW_SPI кодын қолдануды таңдаймыз. Біз бұл жолды осылай түсіндіреміз және біз эскизді Arduino -ға жүктеуге дайынбыз. Бірнеше секундтан кейін эскиз іске қосылады.

Егер сіз дисплейде ештеңе көрмесеңіз, дисплейдің контрастын дисплейдің артқы жағындағы шағын потенциометр көмегімен реттеуге тура келеді

Енді демо -эскизді бірнеше секундқа қарайық. Көріп отырғаныңыздай, бұл эскиз кітапхана мен дисплейдің мүмкіндіктерін көрсетеді. Біз бұл дисплей арқылы керемет анимацияларға қол жеткізе аламыз, бұл өте қабілетті. Сондықтан ол көптеген 3D принтерлерде қолданылады.

3 -қадам: Ауа райы станциясын құрайық

Ауа райы бекетін құрайық
Ауа райы бекетін құрайық
Ауа райы бекетін құрайық
Ауа райы бекетін құрайық
Ауа райы бекетін құрайық
Ауа райы бекетін құрайық
Ауа райы бекетін құрайық
Ауа райы бекетін құрайық

Енді пайдалы нәрсе жасайық. DHT22 температура мен ылғалдылық сенсорын Arduino -ға қосайық. Бізге тек қуат пен сигналдық сым қажет. Мен оны цифрлық пин 7 -ге қосамын. Жұмысты жеңілдету үшін мен шағын тақтаны да қолдандым. Схемалық схеманы мына жерден табуға болады.

Көріп отырғаныңыздай, жоба жақсы жұмыс істейді және ол температура мен ылғалдылықты нақты уақытта көрсетеді.

Енді жобаның кодын жылдам қарастырайық. Тек 60 жол кодының көмегімен біз осындай жоба жасай аламыз! Бұл қандай керемет! Дисплейді пайдалану үшін бізге тек осы конструкторды пайдалану қажет:

U8G2_ST7920_128X64_1_HW_SPI u8g2 (U8G2_R0, /* CS =* / 10, /* reset =* / 8);

орнату функциясындағы дисплейді инициализациялаңыз:

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

содан кейін біз температура мен ылғалдылық үшін жақтаулар мен жіптерді салу ғана жасаймыз:

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

u8g2.drawFrame (0, 33, 128, 31); u8g2.drawStr (15, 13, «Температура»);

Бізге қажет соңғы нәрсе - температура мен ылғалдылықты сенсордан оқу және көрсеткішті экранда көрсету.

жарамсыз оқу температурасы ()

{float t = dht.readTemperature (); dtostrf (t, 3, 1, температура); }

Әдеттегідей, сіз мұнда берілген жобаның кодын таба аласыз.

4 -қадам: Қорытынды ойлар

Қорытынды ойлар
Қорытынды ойлар

Қорытынды ой ретінде менің ойымша, бұл дисплей бізге үлкен дисплей қажет және түс қажет емес жобаларда өте пайдалы. Бұл арзан және қолдануға оңай. Мен оны болашақ жобаларда қолданамын деп ойлаймын.

Мен бұл дисплей туралы сіздің пікіріңізді білгім келеді. Сіздің ойыңызша, мұндай дисплейден қандай қосымшалар пайда болады? Сіздің идеяларыңызға және осы нұсқаулықты оқығаныңызға рахмет. Мен сені келесі жолы көремін!

Ұсынылған: