Mundarija:

BluBerriSix - TFT TouchScreen / Arduino qo'llanmasi: 12 qadam (rasmlar bilan)
BluBerriSix - TFT TouchScreen / Arduino qo'llanmasi: 12 qadam (rasmlar bilan)

Video: BluBerriSix - TFT TouchScreen / Arduino qo'llanmasi: 12 qadam (rasmlar bilan)

Video: BluBerriSix - TFT TouchScreen / Arduino qo'llanmasi: 12 qadam (rasmlar bilan)
Video: bluBerriSIX - Arduino TFT Project - Happy 20th Birthday Blackberry 850! 2024, Iyul
Anonim
BluBerriSix - TFT TouchScreen / Arduino qo'llanmasi
BluBerriSix - TFT TouchScreen / Arduino qo'llanmasi
BluBerriSix - TFT TouchScreen / Arduino qo'llanmasi
BluBerriSix - TFT TouchScreen / Arduino qo'llanmasi

2019 - RIM Blackberry 850 ning 20 yilligi! Bu kichkina kanadalik ixtiro dunyo muloqotini o'zgartirdi. Bu uzoq o'tdi, lekin uning merosi davom etmoqda!

Bu yo'riqnomada siz Uno/Mega uchun MCUfriend.com 2,4 dyuymli TFT ekranli qalqondan foydalanishni o'rganasiz. Siz grafik ob'ektlar va matnni ko'rsatishni, teginish va teginish hodisalari bo'yicha harakat qilishni o'rganasiz. ekran Adafruit va boshqa TFT qalqonlari/ekranlariga juda o'xshaydi, shuning uchun agar siz shu erda bo'lsangiz, shouga e'tibor bering.

Biz bluBerriSIX eskizimning 2 ta soddalashtirilgan versiyasini tuzamiz.

Qani boshladik!

1 -qadam: BluBerriSIX - umumiy nuqtai

Image
Image
BluBerriSIX - umumiy nuqtai
BluBerriSIX - umumiy nuqtai
BluBerriSIX - umumiy nuqtai
BluBerriSIX - umumiy nuqtai

BluBerriSIX ilovasi oltita funktsiyali TFT loyihasi.

U quyidagilarni o'z ichiga oladi:

Chiroq

Achchiq '7' ilovasi (sehrli '8' to'pi kabi)

Kalkulyator

SR-04 ultrasonik masofa sensori yordamida masofani o'lchash dasturi

HC-12 qabul qilish moslamasi yordamida 1,5 kmgacha real vaqtda ma'lumotlarni yozib turadigan harorat va namlik dasturi.

HC-12 yordamida SMS yuborish dasturi.

Ushbu loyiha 1100 qatorli kodni oldi. Biz TFT displeyi va sensorli sensorli kontseptsiyalarni ko'rsatadigan ancha sodda versiyasini tuzamiz.

2 -qadam: nima kerak?

Nima kerak?
Nima kerak?
Nima kerak?
Nima kerak?

- Arduino Uno yoki Mega 2560

- MCUfriend 2,4 dyuymli TFT qalqoni

Quyidagi kutubxonalar:

- Adafruit_GFX kutubxonasi

- Adafruit sensorli ekranli kutubxona

- MCUFRIEND_kbv kutubxonasi

Bu kutubxonalarni Arduino IDE ichida kutubxona menejeri yordamida o'rnatish mumkin.

Kutubxonani yuklash uchun Sketch -> Kutubxonani qo'shish -> Kutubxonalarni boshqarish … menyusiga o'ting.

"Qidiruvni filtrlash …" maydoniga kutubxona nomining birinchi bir nechta belgilarini kiriting, so'ngra tegishli kutubxonani tanlang va o'rnating. Ish tugagach, bu ekrandan o'z yo'lingizni qaytaring.

TFT qalqonini Uno/Mega -ga o'rnatayotganda, pimlarni to'g'ri joylashtirganingizga ishonch hosil qilish uchun juda ehtiyot bo'ling. Men birinchi qalqonimni noto'g'rilab, qovurdim. Men ekran o'lib qolganini anglamasdan oldin, to'g'ri kutubxonalarni topishga harakat qilib, ikki hafta davomida umidsizlikni boshdan kechirdim. EHTIYOT BO'LING

3 -qadam: Bizning loyihamiz

Bizning loyihamiz
Bizning loyihamiz
Bizning loyihamiz
Bizning loyihamiz
Bizning loyihamiz
Bizning loyihamiz
Bizning loyihamiz
Bizning loyihamiz

Biz bluBerriSIX eskizining oddiy versiyasini tuzamiz.

Unda bo'ladi, - ochiladigan ekran

- ikkita tugmachali asosiy menyu ekrani

- Saucy 7 ilovasi

- matn kiritish uchun soddalashtirilgan ilova

Shuningdek, ekranning pastki chap burchagidagi "Uy" belgisini bosish orqali siz asosiy menyuga qaytishingiz mumkin. Agar sizda bunday belgi bo'lmasa, siz ekranning "uy" mintaqasini belgilashingiz kerak bo'ladi. Ushbu qo'llanmada ekranning sensorli hududlarini qanday aniqlashni bilib olasiz.

Bu soddalashtirilgan loyiha bo'lsa -da, bu hali ancha uzoq. Men har bir asosiy bosqichda Arduino eskizlarining versiyalarini beraman, agar xohlasangiz, ularni yuklashingiz mumkin.

4 -qadam: Sarlavha kodi, global o'zgaruvchilar, ekranni sozlash

Sarlavha kodi, global o'zgaruvchilar, ekranni sozlash
Sarlavha kodi, global o'zgaruvchilar, ekranni sozlash
Sarlavha kodi, global o'zgaruvchilar, ekranni sozlash
Sarlavha kodi, global o'zgaruvchilar, ekranni sozlash

Butun loyiha yuqori darajada hujjatlashtirilgan. Ammo tafsilotlar kuzatiladi.

Yangi Arduino loyihasini boshlang va uni "tft demo" yoki xohlagan boshqa nom bilan chaqiring.

Yuqoridagi birinchi kod paneli global o'zgaruvchilarni aniqlashni ko'rsatadi. Biz kutubxonalarga ekranni ko'rsatish funktsiyasi uchun ham, ekranning sensorli aniqlashi uchun ham qo'shamiz.

Shuningdek, biz analog pinlarni ekranga xos maqsadlariga qarab belgilaymiz.

Biz tft ob'ektini (displey) va ts ob'ektini (teginish) tegishli funktsiyalariga havola sifatida belgilaymiz.

Biz ekranning, matn va grafik ob'ektlarining ranglarini ko'rsatishni osonlashtirish uchun 16 bitli rangli konstantalarni aniqlaymiz. Siz ko'rinadigan ranglarni 16 bitli o'n oltilik qiymatlariga aylantirish uchun Rang tanlash va konvertori bo'lgan veb -saytning URL manzilini ko'rasiz. Bu juda foydali vosita.

Ikkinchi kod panelida biz ilovaga xos maqsadlar uchun global o'zgaruvchilarni aniqlaymiz.

CString, letter va letterX va letterY satrlari va massivlari a) matn kiritish ilovasining tugmalaridagi harflarni ko'rsatish va b) teginishning x va y koordinatalariga mos keladigan har bir harfning x va y koordinatalari bilan mos kelish uchun ishlatiladi. klaviatura. Eskizning ushbu bo'limiga etib kelganimizda, bu haqda batafsilroq.

funcX , funcY va func - bu asosiy menyu ekranida qaysi ilova tugmachasi bosilganligini aniqlash uchun ishlaydigan, so'ngra tegishli ilovani ishga tushirish uchun ushbu ma'lumotdan foydalanadigan massivlar.

lastTouch va tThresh sensorli usullarda ekranni uzoq bosib turganda bir necha marta tegmasligimiz uchun ishlatiladi. Bu haqda keyinroq.

Mod o'zgaruvchisi qaysi ekran ko'rsatilishini boshqaradi va tMode o'zgaruvchisi istalgan vaqtda qaysi teginish usullari ishlatilishini boshqaradi.

O'rnatish () blokida biz Serial.println () buyruqlarini disk raskadrovka uchun ishlatmoqchi bo'lsak, Serial kanalini ochamiz. Serial monitorni disk raskadrovka qilishni xohlamasangiz, sizga bu qator kerak emas.

Keyingi to'rtta satr faqat tft ob'ektining sozlash kodidir.

Keyin biz ekranning yo'nalishini Portret rejimiga o'rnatamiz.

RandomSeed () buyrug'i tasodifiy sonlar generatorini keyinchalik Saucy 7 ilovasida ishlatish uchun ishga tushiradi.

Nihoyat, biz ekranni ochish usulini chaqiramiz.

5 -qadam: Spash ekranini yaratish va displeyni sensorli xaritaga nisbatan tushunish

Spash ekranini yaratish va displeyni sensorli xaritaga nisbatan tushunish
Spash ekranini yaratish va displeyni sensorli xaritaga nisbatan tushunish
Spash ekranini yaratish va displeyni sensorli xaritaga nisbatan tushunish
Spash ekranini yaratish va displeyni sensorli xaritaga nisbatan tushunish

Endi biz ekran pardasini yaratishni boshlaymiz.

Lekin avval ekran va sensorli xaritalar uchun rasmga qarang. E'tibor bering, kelib chiqishi har xil. Ko'rsatish uchun boshlang'ich (0, 0) ekranning yuqori chap burchagida bo'ladi (RESET tugmasi tepada bo'lsa) va chapdan o'ngga va yuqoridan pastgacha o'sadi.

Sensorli aniqlash uchun ekranning pastki chap burchagida joylashgan va chapdan o'ngga va pastdan yuqoriga qarab o'sadi.

Shunday qilib, DISPLAY VA TOUCH XARITALAR AYRIDAN TANILGAN va har xil o'lchamlarga ega. Displeyning o'lchamlari 240 dan 320 gacha, sensorli tasvir esa ancha yuqori aniqlikka ega.

Eskizingizning loop () {} usuli ostidagi maydoniga o'ting va biz splash () usul kodini kiritamiz.

Biz fillScreen () buyrug'ini bajarib, ekranni sarlavha kodida aniqlagan oq rang bilan to'ldirishdan boshlaymiz.

Keyin biz matn hajmini "5" ga o'rnatamiz. Bu nisbatan katta hajmdagi asosiy matn hajmi. Matn kursori uchun x va y pozitsiyasini o'rnatamiz va matn rangini o'rnatamiz. Nihoyat, chop etish ("TFT") buyrug'i ko'k rangdagi "5" o'lchamli matnni ko'rsatilgan joyga chizadi.

Matn hajmini oshirganingizda, belgilar tobora chiniqib borayotganini ko'rasiz. Shunday qilib, 5dan oshib ketish foydali emas. Qo'llanma oxirida men sizga bitmap shriftlarini qanday ishlatishni ko'rsataman, ilovalarda matnni yanada chiroyli ko'rinishga keltirish uchun, bitmap shriftlar to'plamidan foydalanish sizning Arduino -da eskiz o'lchamlarini cheklaydigan juda ko'p xotirani egallaydi

Biz ekranning boshqa ikkita matnli elementiga o'xshash buyruqlarni takrorlaymiz.

Nihoyat, biz dasturni asosiy menyu ekraniga o'tishdan oldin foydalanuvchiga ekran mazmunini o'qish imkoniyatini berish uchun 2,5 soniya kechiktiramiz.

Davom eting va ushbu eskizni Arduino -ga yuklang. U ochilish ekranini ko'rsatishi kerak.

6 -qadam: Sensorli xaritalash diagnostik vositasi

Sensorli xaritalash diagnostik vositasini yaratish
Sensorli xaritalash diagnostik vositasini yaratish
Sensorli xaritalash diagnostik vositasini yaratish
Sensorli xaritalash diagnostik vositasini yaratish

ShowTouch () usuli ekranning turli qismlarining sensorli koordinatalarini olishga yordam berish uchun juda foydali. Tugmalaringiz uchun sensorli hududlarni aniqlash uchun buni qilish kerak bo'ladi.

Davom eting va ilgari qilingan splash () usuli ostiga bu usulni kiriting.

Bu qanday ishlaydi.

If iborasi oxirgi tegishdan keyin etarli vaqt o'tganligini aniqlaydi. Bu joriy tizim vaqtini millis () oladi va lastTouch vaqtini chiqaradi. Agar u tThresh qiymatidan katta bo'lsa (200 millisekund), u teginishni qabul qiladi. Aks holda, u tasodifiy ko'p sensorli hodisalarga e'tibor bermaydi.

Keyin getpoint () buyrug'i teginishning x, y va z koordinatalarini oladi. Z koordinatasi teginish bosimining o'lchovidir.

Agar bosim eskiz sarlavhasida biz belgilagan maksimal va min doimiylarda bo'lsa, bu usul avval YP va XM pimlarini OUTPUT ga o'zgartiradi, ekranni DISPLAY rejimiga o'tkazadi.

Keyin u ilgari ko'rsatilgan bo'lishi mumkin bo'lgan koordinatalarni o'chirish uchun oq to'rtburchakni chizadi.

Keyin eskiz shriftni 2 o'lchamli qora rangga o'rnatadi va x (p.x) va y (p.y) koordinatalarini ekranda ko'rsatadi. Keyin siz o'zingizning eskizlaringiz uchun sensorli zonalarni dasturlashda yordam berish uchun ushbu joylarni qayd qilishingiz mumkin.

Usulning pastki qismidagi if iborasi ekrandagi "Uy" tugmasi bosilganligini tekshiradi. "<=" operatorlari "Bosh sahifa" tugmachasining kengligi va balandligiga ruxsat beradi. Ko'rsatilgan koordinatalar "Uy" tugmachasining x-markazi va y-markazi koordinatalari. Agar u bosilsa, rejim 0 ga o'rnatiladi, bu oxir -oqibat "Asosiy menyu ekraniga o'tish" degan ma'noni anglatadi. Bu haqda keyinroq.

Nihoyat, biz sensorli hodisaga tayyorgarlik ko'rish uchun lastTouch -ni joriy tizim vaqti millis () ga yangilaymiz.

Iltimos, loop () blokiga o'ting va showTouch () qatorini qo'shing;

Bu vaqtda eskizni yuklang va uni sinab ko'ring. U ekranni ochadi va agar siz ekranga tegishni boshlasangiz, ekranda TOUCH x va y koordinatalari ko'rsatiladi.

Davom etishdan oldin, keling, ikkita muhim kod satrini ko'rib chiqaylik:

pinMode (YP, OUTPUT); // TFT boshqaruv pimlarini tiklang

pinMode (XM, OUTPUT); // teginishni aniqlagandan so'ng ko'rsatish uchun

Ekranda biror narsani ko'rsatishni xohlaganingizda, ekranni TOUCH rejimidan DISPLAY rejimiga o'zgartirish uchun siz ushbu ikkita buyruqni bajarishingiz kerak. Aks holda, displey buyruqlari ishlamaydi.

Hozircha yaxshi! Tanaffus qiling!

7 -qadam: Asosiy menyu ekranini yarating

Asosiy menyu ekranini yarating
Asosiy menyu ekranini yarating
Asosiy menyu ekranini yarating
Asosiy menyu ekranini yarating
Asosiy menyu ekranini yarating
Asosiy menyu ekranini yarating

Endi biz asosiy menyu ekranini ikkita tugma bilan quramiz, siz har bir ilovani faollashtirish uchun bosishingiz mumkin. Usul menuScreen () deb nomlanadi.

Biz ekranni DISPLAY rejimiga qo'yishdan boshlaymiz.

Keyin biz shrift o'lchamini, rangini va o'rnini belgilaymiz va "Asosiy menyu" matnini chop etamiz.

Endi biz ikkita to'rtburchaklar chizamiz - bu tugmalar.

Barcha grafik buyruqlar o'xshash tuzilishga ega:

graphicShape (x koordinatasi, y koordinatasi, kengligi, balandligi, Rang)

- x koordinatasi - to'rtburchaklar ob'ektlar uchun yuqori chap, aylanalar markazi

- y koordinatasi - to'rtburchaklar ob'ektlar uchun yuqori chap, aylanalar markazi

- kenglik - ob'ektning piksel kengligi

- COLOR - biz sarlavhada aniqlagan rang doimiysi

Nihoyat, biz Saucy 7 va QWERTY matn kiritish belgisini chizishning ikkita usulini chaqiramiz. Bu alohida usullar.

Draw7icon (0) usuli to'pni chizish uchun y-ofset bo'lgan tamsayı parametrini oladi. Biz shunday qilamizki, menyu ekranida va Saucy 7 ilovasi ekranida to'pni chizish uchun xuddi shu usuldan foydalanishimiz mumkin. Ofset bizga to'pning y koordinatasini yuqoriga yoki pastga dasturiy ravishda sozlash imkonini beradi.

Draw7Ball (0) usuli draw7Icon (0) ichidan chaqiriladi. Bundan tashqari, biz to'pni menyu ekranida yoki dastur ekranida chizishimizga qarab, vertikal holatini sozlash imkonini beradigan parametrni oladi.

FillCircle () buyrug'i 4 ta argumentni oladi.

- aylana markazining x koordinatasi

- aylana markazining koordinatasi

- aylana radiusi (piksel)

- COLOR - biz sarlavhada aniqlagan rang doimiysi

Nihoyat, drawTextIcon () usuli Matn kiritish ilovasining ikonkasini chizish uchun chaqiriladi.

Setup () da splash () usulini sharhlash va menuScreen () ni qo'shish orqali siz usulni ishlatishga urinib ko'rishingiz mumkin.

Eskizni Arduino -ga yuklang va sinab ko'ring!

8 -qadam: Saucy 7 ilovasi va asosiy menyu usullari

Saucy 7 ilovasi va asosiy menyu usullari
Saucy 7 ilovasi va asosiy menyu usullari
Saucy 7 ilovasi va asosiy menyu usullari
Saucy 7 ilovasi va asosiy menyu usullari
Saucy 7 ilovasi va asosiy menyu usullari
Saucy 7 ilovasi va asosiy menyu usullari
Saucy 7 ilovasi va asosiy menyu usullari
Saucy 7 ilovasi va asosiy menyu usullari

SevenScreen () usuli ilova ekranini chizadi, shu jumladan to'pni chizish va keyin ko'rsatmalarni ko'rsatish.

SevenInstr () usuli ko'rsatmalarni ko'rsatadi, shuningdek oldingi javoblardan ekranni tozalaydi. Shuningdek, u "Javob berish" tugmachasini oladi.

Show7Response () usuli oldingi javob usulini ekrandan tozalash, "o'ylash …" animatsion xabarini ko'rsatish va keyin tasodifiy tanlangan javob xabarini ko'rsatish bilan shug'ullanadi.

read7Touch () - bu tasodifiy hosil qilingan xabarni ishlab chiqarishni kutish usuli. Sensorli kod ilgari tasvirlangan showTouch () diagnostika usuliga juda o'xshaydi. Oddiylik uchun, usul "Javob berish" tugmachasini bosish sifatida ekranning istalgan joyiga tegishni qabul qiladi.

Usulning yuqori qismida biz teginish hodisasidan olinadigan xabarlar bo'lgan javob qatorlar qatorini aniqlaymiz.

Agar Bosh sahifa tugmasi bosilsa, u ilovani tugatadi va asosiy menyu ekraniga qaytadi. Aks holda, usul tasodifiy sonni 0 dan 7 gacha (eksklyuziv) hosil qiladi va tegishli matnli xabarni qatoridan show7Response () usuliga o'tkazadi.

Nihoyat, backToMenu () usuli "Uy" tugmachasini bosilishini kuzatadi va boshqaruvni asosiy menyu ekraniga qaytaradi.

ReadMenuTouch () usuli asosiy menyu ekranida bo'lganingizda sensorli hodisani kuzatadi. Agar teginish aniqlansa, u x va y koordinatalarini teginishning x va y koordinatalariga mos keladigan funcX va funcY massivlarida ko'rinadigan getFunc (x, y) usuliga o'tkazadi. Keyin tanlangan dastur uchun func qatoridagi raqamni qaytaradi. '1' - Saucy 7 va '2' - matn kiritish uchun ilova. Keyin rejimni ilovaning qiymatiga o'rnatadi, shunda dastur bajariladi.

9 -qadam: Loop () bloki

Loop () bloki
Loop () bloki

Endi biz tegishli ekranni ko'rsatishni boshqarish uchun loop () blok kodini tuzishni boshlaymiz va keyin tanlangan variantga asoslanib tegish usullarini chaqiramiz.

Loop () usuli ikkita switch () tuzilmasidan iborat.

Qaysi variant tanlanganiga qarab, yuqori kalit tuzilishi mos ekranni ko'rsatadi. Shuningdek, u joriy tanlangan variantni ishga tushirish uchun mos keladigan teMode qiymatini belgilaydi. Nihoyat, displey ekrani cheksiz qayta chizilmasligi uchun rejim qiymatini 9 ga o'rnatadi.

Pastki kalit tuzilmasi tMode qiymati bilan ko'rsatilgan foydalanuvchi tanlagan ilova opsiyasi asosida qaysi teginish usullari bajarilishini boshqaradi.

Eskizni Arduino -ga yuklang, shunda siz Saucy 7 ilovasini tanlashingiz va ishlatishingiz kerak.

Siz juda ko'p ish qildingiz! Dam oling:-)

10 -qadam: Matn kiritish ilovasi - Biz uy cho'zishidamiz

Matn kiritish ilovasi - biz uy cho'zish joyidamiz!
Matn kiritish ilovasi - biz uy cho'zish joyidamiz!
Matn kiritish ilovasi - biz uy cho'zish joyidamiz!
Matn kiritish ilovasi - biz uy cho'zish joyidamiz!
Matn kiritish ilovasi - Biz uy cho'zish joyidamiz!
Matn kiritish ilovasi - Biz uy cho'zish joyidamiz!
Matn kiritish ilovasi - biz uy cho'zish joyidamiz!
Matn kiritish ilovasi - biz uy cho'zish joyidamiz!

Endi biz matn kiritish ilovasining usullarini o'z ichiga olamiz.

makeKbd () klaviaturani ekranda chizadi.

U oltita to'ldirilgan yumaloq to'rtburchaklar chizadi va keyin har bir "kalit" ga mos keladigan harfni qo'yadi, u harfni ekranda bosib chiqaradigan cString satridan oladi. E'tibor bering, fillRoundedRect () buyrug'idagi ikkinchi oxirgi parametr har bir burchakning piksellar sonidir. Bu qiymat qanchalik baland bo'lsa, burchaklar shunchalik yumaloq bo'ladi.

ReadKbdTouch () usuli boshqa sensorli aniqlash usullariga o'xshab ishlaydi.

Agar "Uy" tugmachasida bo'lmagan teginish aniqlansa, u x va y koordinatalarini ekrandagi x va y manziliga mos keladigan belgini qaytaradigan curChar (x, y) usuliga o'tkazadi. Keyin "yozilgan" xabar ekranda "displayMsg (theChar)" usuli yordamida ko'rsatiladi.

CurChar (x, y) usuli readKbdTouch () dan olingan x va y koordinatalariga yaqin bo'lgan moslikni topishga urinish uchun letterX va letterY massivlarini qidiradi. Agar u mos keladigan belgini topsa, u mos keladigan harfni readKbdTouch usuliga qaytaradi. Eslatib o'tamiz, biz theChar o'zgaruvchisini 32 ga o'rnatamiz, bu bo'shliq belgisi uchun ASCII kodidir . Biz shunday qilamizki, agar foydalanuvchi klaviaturadan uzoqda joylashgan maydonga tegsa, unda mavjud bo'lmagan belgilar ko'rsatilmaydi.

DisplayMsg (theChar) usuli curChar (x, y) dan qaytarilgan belgini oladi va uni msg qatoriga qo'shadi. Keyin xabarni ekranda ko'rsatadi.

Nihoyat, biz matn kiritish ilovasi tanlovini qabul qilish uchun loop () blokini yangilaymiz.

TftDemo eskizini Arduino -ga yuklang va siz tugallangan ilovadan foydalanishingiz mumkin.

Tabriklaymiz! siz TFT sensorli ekranli ilovasini qurdingiz! Qolgan kunni dam oling!

11 -qadam: silliq bo'lsin! - Eskizda Adafruit bitmap shriftlaridan foydalanish

Standart tft shriftlar to'plami yaxshi. Agar biz TFT eskizlarida tegishli bitmapli shriftlardan foydalansak, yaxshi bo'lardi.

Salbiy tomoni shundaki, Arduino xotirasiga shrift to'plamlarini yuklash katta joy egallaydi. Aslida, eskizni Arduino -ga yuklamaydigan juda ko'p shriftlar bilan to'ldirish juda oson.

Shriftlar siz ushbu loyiha uchun allaqachon o'rnatilgan Adafruit_GFX kutubxona papkasida mavjud. Bu saytda shriftlardan foydalanish bo'yicha ajoyib qo'llanma mavjud.

Eskizingizning sarlavha maydoniga, ishlatmoqchi bo'lgan shrift uchun shrift ma'lumotnomasini qo'shing. Biz bu misol uchun FreeSerifBoldItalic18p7b shriftidan foydalanamiz.

#qo'shing

Splash () usulida tft.setTextSize () ga izoh bering; buyruq.

Quyidagi buyruqni qo'shing,

tft.setFont (& FreeSerifBoldItalic18pt7b);

Endi har qanday print () buyruqlari hozirda ko'rsatilgan shriftdan foydalanadi. Boshqa shriftga o'tish uchun siz boshqa tft.setFont () buyrug'idan foydalanmoqchi bo'ldingiz.

Shriftni standart tft shriftiga qaytarish uchun faqat tft.setFont () dan foydalaning; parametrsiz buyruq.

Eskizni Arduino -ga yuklang, shunda siz ekranni matnni ko'rsatish uchun bitmap shriftidan foydalangan holda ekran ochilishini ko'rasiz. Siz shriftni kiritganingizdan so'ng, eskizning o'lchami ancha katta ekanligini sezasiz.

12 -qadam: Yakuniy fikrlar

Sizda mavjud bo'lgan boshqa ko'plab grafik ob'ekt buyruqlari mavjud. Ularga quyidagilar kiradi:

tft.drawRect (x, y, kenglik, balandlik, Rang);

tft.drawLine (x1, y1, x2, y2, COLOR);

Quyidagi misollar tft.color565 usulini ishlatib, qizil, yashil va ko'k ranglarga asoslangan rangni ko'rsatishga imkon beradi. Bu bizning eskizimizda ishlatilgan HEX rangining doimiy aniqlangan qiymatlarini ishlatishning muqobil usuli.

tft.drawRoundRect (x, y, kenglik, balandlik, radius, tft.color565 (255, 0, 0)); // bu qizil bo'lardi

tft.drawCircle (x, y, radius, tft.color565 (0, 255, 0)); // bu yashil bo'lardi

tft.drawTriangle (vertex1x, vertex1y, vertex2x, vertex2y, vertex3x, vertex3y, tft.color565 (0, 0, 255)); // ko'k

tft.fillTriangle (vertex1x, vertex1y, vertex2x, vertex2y, vertex3x, vertex3y, tft.color565 (255, 0, 0);

Ushbu buyruqlar bilan o'ynang va ular sizning TFT loyihalaringizga qanday qo'shilishini bilib oling.

TFT ekranidan foydalanishni o'rganish juda qiyin va siz bu birinchi qadamlarni o'rganish uchun vaqt ajratganingiz uchun faxrlanishingiz kerak.

TFT ekranlari Arduino loyihalaringizga jozibali va foydali grafik interfeysni qo'shishi mumkin.

Ushbu qo'llanmada ishlaganingiz uchun tashakkur.

HOZIR CHIQING VA NARSANI AJOYIBLI QILING!

Tavsiya: