Mundarija:

Tugma yordamida POP-X2 GLCD-da rang o'tish: 6 qadam
Tugma yordamida POP-X2 GLCD-da rang o'tish: 6 qadam

Video: Tugma yordamida POP-X2 GLCD-da rang o'tish: 6 qadam

Video: Tugma yordamida POP-X2 GLCD-da rang o'tish: 6 qadam
Video: Rap X (Parodi Serisi) - Çok Güzel Hareketler 2 2024, Noyabr
Anonim
Tugma yordamida POP-X2 GLCD-da rang o'tish
Tugma yordamida POP-X2 GLCD-da rang o'tish

Asosan, bu loyiha men foydalanishni yaxshi ko'radigan boshqaruv paneli xususiyatini ko'rsatadi. INEX tomonidan ishlab chiqarilgan POP-X2 taxtasida o'rnatilgan rangli GLCD, tugma, kirish-chiqish portlari va boshqa boshqaruv platalariga o'xshash komponentlar mavjud. Iltimos, to'liq tavsif uchun taxtaning qo'llanmasini tekshiring. Bu havolani ko'ring.

Tekshirish paneliga o'rnatilgan GLCD (Grafik suyuq kristalli displey) ma'lumotlarni nafaqat matnlar va raqamlar, balki vektor grafikalar yordamida ham ko'rsatish usulini taqdim etadi. Ushbu qo'llanmada men sizga GLCD -da oddiy grafikani ko'rsatishni o'rgataman. Buni yanada qiziqarli qilish uchun men rangni o'zgartirishni boshqaruvchi sifatida bort tugmasi uchun dasturlarni qo'shdim.

Eslab qoling. Bu darslik asosan dasturlash tomoniga qaratilgan. Agar sizda xuddi shu taxta yoki ATX2 taxtasi bo'lsa, siz bu qo'llanmani osongina bajarishingiz mumkin. Tugatgandan so'ng, siz taxtaning boshqa funktsiyalarini o'rganishga harakat qilishingiz mumkin.:)

Endi, boshlaylik!

1 -qadam: Biz nimani kutmoqdamiz?

Image
Image

Iltimos, yuqoridagi videoni tomosha qiling.

2 -qadam: materiallarni yig'ish

Uskuna va dasturiy ta'minotni sozlash
Uskuna va dasturiy ta'minotni sozlash

Qismlar va materiallar:

- Arduino Arduino 1.7.10 (haydovchi imzolangan) yoki undan yuqori versiyasi o'rnatilgan noutbuk/ish stoli

- 1 ta POP-X2 taxtasi (bortli tugma bilan)

- 1 yuklab olish kabeli

- 4 dona. AA batareyalari

3 -qadam: Uskuna va dasturiy ta'minotni sozlash

Uskuna va dasturiy ta'minotni sozlash
Uskuna va dasturiy ta'minotni sozlash

1. 4 ta batareyani batareya ushlagichiga joylashtiring. (Kengash maksimal 7,4 V kuchlanishli kirishni qo'llab -quvvatlaydi.)

Eslatma: Batareyalarning kutupluluğunu tekshiring.

2. Yuklab olish kabelini kompyuterga va taxtaga ulang. Iltimos, yuqoridagi rasmga qarang.

3. Tekshirish kartasini yoqing. Moviy LED indikatori yonib turganligiga ishonch hosil qiling. Aks holda, siz Arduino dasturiy ta'minot drayverini o'rnatishingiz kerak.

Aytgancha, men Arduino 1.7.10 versiyasini ishlataman (haydovchi imzolangan), chunki u allaqachon POP-X2 kutubxonasiga ega. Dasturiy ta'minotni yuklab olish uchun ushbu havolani bosing.

4. Asboblar> Seriyali port> O'ng COM port raqamini tanlash orqali boshqaruv kartasining portini o'rnating.

5. Asboblar> Kengash> POP-X2, ATMega644P @ 20MGts ni bosib, taxtani o'rnating.

6. Kengash to'g'ri ulanganligiga ishonch hosil qilish uchun standart eskizni yuklashga harakat qiling.

#qo'shing // POP-X2 kutubxonasi

void setup () {OK (); } void loop () {}

4 -qadam: tugmachani sinovdan o'tkazish

Tugma sinovi
Tugma sinovi

Asosiy dasturni bajarishdan oldin, bortdagi tugma ishlayotganiga ishonch hosil qilishingiz kerak.

1. Tugma uchun namuna dasturini yuklang. Fayl> Misollar> POP-X2> popx2_KnobOKTest-ni bosing

Asosiy operatsiya:

- GLCDda ko'rsatiladigan tugmachaning analog qiymati diapazoni 0 dan 1000 gacha.

- Tugma soat yo'nalishi bo'yicha aylantirilganda, GLCDda ko'rsatiladigan analog qiymat oshadi.

- Tugma soat yo'nalishi bo'yicha teskari aylantirilganda, GLCDda ko'rsatiladigan analog qiymat kamayadi.

5 -qadam: Dasturlash

Dasturlash
Dasturlash
Dasturlash
Dasturlash

Men quyida manba kodini biriktirdim. Shunday qilib, yuklang.

Dasturni oldindan ko'rish:

#include // POP-X2 Board kutubxonasi

void setup () {OK (); } void loop () {int reading = map (knob (), 0, 1000, 0, 245); agar ((o'qish> = 0) && (o'qish = 36) && (o'qish = 71) && (o'qish = 106) && (o'qish = 141) && (o'qish = 176) && (o'qish = 211) && (o'qish <= 245))) {oq (); } glcdFillScreen (GLCD_BLACK); glcd (0, 0, "%d", o'qish); }

bo'sh qizil () {

setTextBackgroundColor (GLCD_RED); glcd (3, 2, ""); glcd (4, 2, ""); glcd (5, 2, ""); glcd (6, 2, ""); setTextBackgroundColor (GLCD_WHITE); setTextColor (GLCD_VIOLET); kechikish (1000); }

bo'sh sariq () {

setTextBackgroundColor (GLCD_YELLOW); glcd (1, 8, ""); glcd (2, 8, ""); glcd (3, 8, ""); glcd (4, 8, ""); setTextBackgroundColor (GLCD_WHITE); setTextColor (GLCD_VIOLET); kechikish (1000); }

bo'sh yashil () {

setTextBackgroundColor (GLCD_GREEN); glcd (3, 14, ""); glcd (4, 14, ""); glcd (5, 14, ""); glcd (6, 14, ""); setTextBackgroundColor (GLCD_WHITE); setTextColor (GLCD_VIOLET); kechikish (1000); }

bo'sh ko'k () {

setTextBackgroundColor (GLCD_CYAN); glcd (9, 14, ""); glcd (10, 14, ""); glcd (11, 14, ""); glcd (12, 14, ""); setTextBackgroundColor (GLCD_WHITE); setTextColor (GLCD_VIOLET); kechikish (1000); }

bo'sh ko'k () {

setTextBackgroundColor (GLCD_BLUE); glcd (11, 8, ""); glcd (12, 8, ""); glcd (13, 8, ""); glcd (14, 8, ""); setTextBackgroundColor (GLCD_WHITE); setTextColor (GLCD_VIOLET); kechikish (1000); }

bo'sh qizil () {

setTextBackgroundColor (GLCD_MAGENTA); glcd (9, 2, ""); glcd (10, 2, ""); glcd (11, 2, ""); glcd (12, 2, ""); setTextBackgroundColor (GLCD_WHITE); setTextColor (GLCD_VIOLET); kechikish (1000); }

bo'sh oq () {

setTextBackgroundColor (GLCD_WHITE); glcd (6, 8, ""); glcd (7, 8, ""); glcd (8, 8, ""); glcd (9, 8, ""); setTextBackgroundColor (GLCD_WHITE); setTextColor (GLCD_VIOLET); kechikish (1000); }

Tushuntirish:

1. Rangli quti (belgilangan pozitsiyada) GLCD -ga qiymat to'g'ri qo'yilganda ko'rsatiladi (pastdagi cheklovlarni tekshiring). Dasturda ko'rsatilgan rangli qutining koordinatalarini tushunish uchun yuqoridagi rasmga qarang.

2. Tugmachaning analog qiymati 0 - 1000 dan 0 - 245 gacha xaritaga kiritildi. Ko'rsatish mumkin bo'lgan 7 ta rang mavjud; shuning uchun har bir rangning diapazoni 35 ga teng (birinchi cheklovdan tashqari).

3. Cheklovlar:

Qiymat rangi (quti)

0 - 35 - qizil

36 - 70 - sariq

71 - 105 - yashil

106 - 140 - Cyan

141 - 175 - Moviy

176 - 210 - qizil

211 - 245 - oq

Eslatma: Qutidagi displey mukammal emas, chunki u chiziqlar orasidagi bo'shliqqa ega. Men bu dasturda qanday ko'rinishini osongina ko'rsatish uchun haqiqiy koordinatalar o'rniga bo'sh joylardan foydalandim.

Bundan tashqari, men har bir qutiga kodni oson tushunish uchun funktsiyalar yaratdim.

Tavsiya: