Мазмуну:
- Жабдуулар
- 1 -кадам: Arduino менен туташуу
- 2 -кадам: Дисплей үчүн китепкана
- 3 -кадам: Аба ырайы станциясын куралы
- 4 -кадам: Акыркы ойлор
Video: Чоң ST7920 дисплейин колдонгон аба ырайы станциясы: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Урматтуу достор, дагы бир инструкцияга кош келиңиздер! Бул үйрөткүчтө, биз бул чоң LCD дисплейди биринчи жолу карап чыгабыз жана анын жардамы менен температура жана нымдуулук мониторун курабыз.
Мен дайыма 3D принтеримдин дисплейине окшош дисплейди билгим келет, анткени ал чоң жана арзан, ошондуктан көптөгөн долбоорлор үчүн абдан пайдалуу болот. Айлананы карап чыккандан кийин, принтеримдин дисплейи ушул экенин көрдүм. ST7920 драйвери бар чоң 3.2”дисплейи жана 128x64 пиксель токтому. Баракелде! Көрүнүп тургандай, бул биздин долбоорлордо буга чейин колдонуп келген дисплейлердин көпчүлүгүнөн алда канча чоң, ошондуктан келечектеги көптөгөн долбоорлордо пайдалуу болот. Бул болгону 6 доллардын тегерегинде!
Аны бул жерден алсаңыз болот →
Жабдуулар
- ЖК дисплей ST7920 →
- Arduino Uno →
- DHT22 сенсор →
- Breadboard →
- Зымдар →
1 -кадам: 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.3V чыгуусуна барат. жана 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, /* баштапкы абалга келтирүү =* / 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, "Температура");
Биз кылышыбыз керек болгон акыркы нерсе - температураны жана нымдуулукту сенсордон окуу жана экранда көрсөткүчтү көрсөтүү.
void readTemperature ()
{float t = dht.readTemperature (); dtostrf (t, 3, 1, температура); }
Дайыма эле бул жерде тиркелген долбоордун кодун таба аласыз.
4 -кадам: Акыркы ойлор
Акыркы ой катары, менимче, бул дисплей бизге чоң дисплей керек болгон жана түстөрдүн кереги жок болгон долбоорлордо абдан пайдалуу. Бул арзан жана колдонууга оңой. Мен муну келечектеги кээ бир долбоорлордо колдоном деп ойлойм.
Бул көргөзмө тууралуу сиздин пикириңизди билгим келет. Кандай деп ойлойсуз, алар мындай дисплейден кандай пайда алышат? Сиздин идеяларыңыз үчүн жана бул Нускаманы окуу үчүн рахмат. Кийинки жолу көрүшөм!
Сунушталууда:
Кесиптик аба ырайы станциясы ESP8266 жана ESP32 DIY колдонуп: 9 кадам (сүрөттөр менен)
ESP8266 жана ESP32 DIY колдонгон профессионалдуу аба ырайы станциясы: LineaMeteoStazione - бул Sensirionдун профессионалдык сенсорлору, ошондой эле кээ бир Davis Instrument компоненттери (Rain Gauge, Anemometer) менен байланышта боло турган толук аба ырайы станциясы
Колдогу аба ырайы станциясы: 4 кадам
Колдогу аба ырайы станциясы: Бул Нускоодо биз температураны, нымдуулукту, TVOCтун деңгээлин, барометрдик басымды өлчөөчү приборду куруу үчүн бортунда CCU811 жана BME280 сенсорлору бар Arduino, жабык дисплей жана SparkFun экологиялык сенсорунун комбинациясын колдонобуз
ESP8266 менен жөнөкөй аба ырайы станциясы: 6 кадам (сүрөттөр менен)
Жөнөкөй аба ырайы станциясы ESP8266 колдонот. Бул Нускамада мен температура, басым, климат сыяктуу маалыматтарды алуу үчүн ESP8266ны кантип колдонуу керектиги менен бөлүшөм. Жалпы көрүү саны. жана маалыматтарды сериялык монитордо көрсөтүү жана ЖКда көрсөтүү. Маалыматтар f
Javaдагы BME280 менен Raspberry Pi колдонгон жеке аба ырайы станциясы: 6 кадам
Javaдагы BME280 менен Raspberry Pi колдонулган жеке аба ырайы станциясы: Жаман аба ырайы дайыма терезеден жаман көрүнөт. Биз ошондой эле жылытуу жана кондиционер системасын жакшыраак көзөмөлгө алууну кааладык. Жеке метеостанцияны куруу - бул
Аба ырайы шамы - Аба ырайы жана температура бир караганда: 8 кадам
Аба ырайы шамы - Аба ырайы жана Температура Бир Караганда: Бул сыйкырдуу шамды колдонуп, сиз учурдагы температураны жана шарттарды дароо сыртта айта аласыз