Mundarija:

Guino: Arduino uchun boshqaruv paneli: 4 qadam (rasmlar bilan)
Guino: Arduino uchun boshqaruv paneli: 4 qadam (rasmlar bilan)

Video: Guino: Arduino uchun boshqaruv paneli: 4 qadam (rasmlar bilan)

Video: Guino: Arduino uchun boshqaruv paneli: 4 qadam (rasmlar bilan)
Video: Хамдам Собиров - Жанзе (Премьера клипа, 2023) 2024, Noyabr
Anonim
Guino: Arduino uchun asboblar paneli
Guino: Arduino uchun asboblar paneli
Guino: Arduino uchun asboblar paneli
Guino: Arduino uchun asboblar paneli
Guino: Arduino uchun asboblar paneli
Guino: Arduino uchun asboblar paneli
Guino: Arduino uchun asboblar paneli
Guino: Arduino uchun asboblar paneli

Bu loyiha Instructables qarorgohida rassomni ishi davomida qilingan tajribalarning bir qismi. Boshqa loyihalarni bu erda ko'rishingiz mumkin. Arduino kartasidagi real vaqtda ma'lumotlarni disk raskadrovka qilish va vizualizatsiya qilish qiyin ish bo'lishi mumkin. Siz odatda standart ketma -ket chiqishda qolasiz, chunki sizning Arduino kodingizning murakkabligi o'sib borayotgani sababli, taxtada nima bo'layotganini tushunish imkonsiz bo'ladi. Buni hal qilish uchun men Arduino loyihalari uchun shaxsiy GUI -ni yaratishga imkon beradigan kichik kutubxona yaratdim. Potmetrli va diodli salom olamining asosiy namoyishini olish uchun ushbu videoni tomosha qiling: Hozircha dasturda quyidagi imkoniyatlar va xususiyatlar mavjud: Arduino kartasidan interfeysingizni moslashtiring. Sizga qaysi slayder, grafik va tugmalar kerakligini aniqlaysiz. sizning interfeysingiz uchun. Siz buni Arduino eskizida qilasiz, ya'ni gui dasturi eskizning quli vazifasini bajaradi. Haqiqiy vaqtda ma'lumotlarni vizualizatsiya qilish va boshqarish RGB yorug'lik boshqaruvchisi yoki robot qo'lini yaratayotganingizdan qat'i nazar, taxta ichida nima bo'layotganini tushunish uchun grafik fikrni olish juda muhimdir. Bu sizga uskunani yoki muammoni keltirib chiqaradigan kodni tushunishga imkon beradi. Bundan tashqari, slayderlar va tugmalar sizga individual parametrlarni real vaqtda o'zgartirish imkonini beradi. Shunday qilib, har xil chegaralar o'zaro ta'sirga qanday ta'sir qilishini ko'rishingiz mumkin. Parametrlarni taxtalar xotirasida saqlang. Parametrlarni to'g'rilab bo'lgach, ularni EEProm kartasiga saqlashingiz mumkin. Keyingi safar kompyuterga ulanmaganingizda ham, parametrlar avtomatik ravishda yuklanadi. Agar siz Arduino -ning barcha loyihalari uchun bir xil ilovadan foydalansangiz, men turli loyihalar uchun juda ko'p kichik ilovalarni yaratganman. Mening muammom - har doim ularni bir yildan keyin yana topish. Biz hamma narsani Arduino -da saqlaganimiz uchun, men faqat bitta dasturni Arduino -da ushlab turaman, u avtomatik ravishda joriy loyiha uchun dasturni sozlaydi. Lehimlash temirini yoqishdan oldin interfeysni prototip qiling, chunki siz gui -ni xohlaganingizcha loyihalashtirishingiz mumkin. cheklovlar), siz jismoniy interfeysni yaratmasdan oldin interfeysning prototipini yaratishingiz mumkin. Bu sizga vazifalarni bir necha kishilar o'rtasida taqsimlashga imkon beradi. bir kishi apparat ustida, ikkinchisi esa kod ustida ishlamoqda. Siz jismoniy interfeysni yaratganingizda, Guino muammosiz birlashadi. Uni to'liq ekranli boshqaruv paneli sifatida ishlatish Siz uni to'liq ekranli boshqaruv paneli sifatida ishlatishingiz mumkin, F tugmachasini bosing va T tugmachasi sozlamalar panelining ko'rinishini o'zgartiradi. Siz shu orqali faqat atrofingizdagi dunyo uchun moslashtirilgan interfeysni taqdim etasiz. Fon rangini boshqaring. Fon rangini Arduino -dan boshqarish mumkin, bu sizga turli xil eskizlar uchun turli xil ranglarni yaratishga imkon beradi. Bundan tashqari, u biror narsa noto'g'ri bo'lganda ogohlantirish uchun ishlatilishi mumkin. Hamma narsa yaxshi bo'lsa, yashil bo'lishi mumkin, agar biror narsa noto'g'ri bo'lsa, qizil bo'lishi mumkin. Tez va nozik Men Arduino -dagi izni iloji boricha kichikroq qilishda juda ehtiyot bo'ldim - u xotirada minimal ma'lumotlarni saqlaydi (aniq ko'rsatgich) 100 ta narsalar ro'yxati). Bu sozlamani interfeysingizdagi gui elementlari miqdoriga qarab pastroq yoki yuqoriroq qilib o'zgartirish mumkin. Bundan tashqari, tizim EasyTransfer kutubxonasiga tayanadi, u ma'lumotni ikkilik shaklda uzatadi. Har bir paket buyruqlar uchun bayt, # element uchun bayt va qiymat uchun butun sondan iborat. Ideal holda, sizning barcha ma'lumotlaringiz 16 bitli imzo qo'yilgan butun sonlar oralig'ida normallashtirilishi kerak. Bu butun sonlar bilan ishlashda ketma -ket portdan maqbul foydalanishni bildiradi (texnik jihatdan biz nazorat summasi uchun biroz qo'shimcha joy ishlatamiz). To'g'ridan -to'g'ri o'qitiladigan ma'lumotlar uchun yaxshi GUI sizga faqat asosiy komponentlarni talab qiladigan ko'rsatmalarni yaratishga imkon beradi. Potmetr va boshqalar kabi qo'shimcha komponentlar deyarli gui orqali amalga oshirilishi mumkin. Cheklovlar va kelajakdagi rejalar. Hozirda ilova Mac OSX va Windows platformasida tuzilgan. Bu Openframeworks -da yozilgan, shuning uchun u boshqa platformalarda ham ishlashi kerak. Ilova ketma -ket portdan foydalanayotgani uchun siz boshqa dasturlarni Arduino -ga ulay olmaysiz. Bu kelgusi versiyada hal qilinadi, u Ochiq ovozni boshqarish va Midi ko'prigini o'z ichiga oladi. Kreditlar: Dasturlash va g'oya: Mads Xobye Easytransfer kutubxonasi: Bill Porter GUI kutubxonasi: Reza Ali

1 -qadam: Ishga kirishish

Ishni boshlash
Ishni boshlash
Ishni boshlash
Ishni boshlash
  • GUINO paketini yuklab oling va oching.
  • Arduino -ni yuklab oling
  • Kutubxonalar papkasini Arduino kutubxonalari papkasiga nusxalash (bu erda qanday)
  • Arduino -ni qayta ishga tushiring.
  • Arduino ichidagi misollardan birini oching. (Menyu: Fayllar -> Misollar -> Guino -> birini tanlang)
  • Agar siz oddiy misoldan foydalansangiz, yuqorida ko'rsatilgan sxemani tuzing.
  • Misol yuklang.
  • Guino ilovasini ishga tushiring.
  • Seriya portini tanlang (odatda oxirgi)
  • Ulanish tugmachasini bosing.

Manbani bu erda topish mumkin.

MUHIM: Uni Windows platformasida ishlatganda 10 ga teng yoki undan past bo'lgan com portidan foydalanish kerak. Agar siz 10 va undan yuqori portdan foydalansangiz, tizim ishlamaydi. Bu ochiq freymlar tizimidagi xato.

2 -qadam: Kodni qanday o'zgartirish kerak

Kodni qanday o'zgartirish kerak
Kodni qanday o'zgartirish kerak

Kutubxona sizning eskizingiz bilan ishlashi uchun sizga bir nechta qo'shimcha usullar kerak bo'ladi. Men ularni quyida tasvirlab berdim: gInit () bu erda siz tartibni belgilaysiz Bu usul tartibni tarkibiy qismlarni ketma -ket qo'shib belgilaydi. O'zgartirilishi mumkin bo'lgan komponentlar (slayder, tugmalar va boshqalar) unga o'zgaruvchiga biriktirilgan. O'zgaruvchining oldidagi & belgisi biz o'zgaruvchidagi qiymatni o'tkazishni xohlamasligimizni anglatadi, lekin biz o'zgaruvchiga mos yozuvlar (ko'rsatgich) o'tkazmoqchimiz. Shunday qilib, Guino tizimi GUIda o'zgarishlar yuz berganda ularni avtomatik ravishda yangilaydi. bo'sh gInit () {gAddLabel ("SLIDERS", 1); gAddSpacer (1); gAddSlider (3, 200, "WIDTH", & width); gAddSlider (3, 200, "HEIGHT", & height); gAddSlider (0, 255, "LED BRIGHTNESS", & ledLight); // aylanadigan slayderlar gAddLabel ("ROTARY SLIDERS", 1); gAddSpacer (1); [………….] GAddColumn (); // Bu erga boshqa narsalarni qo'shing. gSetColor (r, g, b); // gui interfeysi rangini o'rnating. } GButtonPressed (int id) bu tugma har bosilganda chaqiriladi. Odatda o'zgaruvchilar avtomatik ravishda yangilanishi mumkin, lekin tugma bo'lsa, bu siz ko'rib turgan voqea bo'lishi kerak. Bu misolda kimdir tugmani bosganda balandlik o'zgaruvchisini 100 ga o'rnatamiz. vBoid gButtonPressed (int id) {if (buttonId == id) {balandlik = 100; gUpdateValue (va balandligi); }} gItemUpdated (int id) Bu har safar va element yangilanganida chaqiriladi, odatda uni ishlatishning hojati yo'q, chunki tizim o'zgaruvchilarni avtomatik ravishda yangilaydi. Agar siz o'zgarishlarga munosabat bildirmoqchi bo'lsangiz, uni shunday ishlatishingiz mumkin. Bunday holda, biz 3 ta aylantirgichdan biri o'zgartirilganda, fon rangini yangilaymiz. void gItemUpdated (int id) {if (rotaryRID = id || rotaryGID == id || rotaryBID == id) {gSetColor (r, g, b); }}

3 -qadam: Bir nechta tezkor maslahatlar

Yangi eskizni yuklashda uzishni unutmang. Arduino kartasiga yangi eskizni yuklashda Guino ishga tusha olmaydi, chunki ular bir xil ketma -ket ulanishdan foydalanadilar. Bu har safar yangi eskizni yuklaganingizda uzilishni talab qiladi. Agar siz (va siz) Guino -ni ulab turib yuklashga harakat qilsangiz, taxta qandaydir g'alati holatga tushib qolishi mumkin, lekin unchalik emas. Hozirgi vaqtda sizning yagona variantingiz - qayta o'rnatish tugmachasini bosish yoki usb kabelini uzish va qayta ulash orqali taxtani asl holatiga qaytarish. Ma'lum xatolar Hozircha tizim ishlayotgan va barqaror. Siz bilishingiz kerak bo'lgan xatolar:

  • setMin harakatlanuvchi grafikda ishlamaydi (GUI kutubxonasida xato bo'lishi kerak, uni tuzatish kerak). Shunday qilib, minimal nol darajasida qoladi.
  • Dasturni ishga tushirishda ketma -ket ro'yxat yuklanadi. Dasturni ishga tushirishdan oldin Arduino -ni tarmoqqa ulash lozim. Ishlayotganda ketma -ket ro'yxatni yangilash yomon hodisaga sabab bo'ladi. Bu hali hal qilinmagan.
  • Seriya ro'yxati bilan chalkashlik - ba'zida dastur buziladi (yangilanish bilan bir xil gui hodisasi - manbani topish kerak)
  • Ochish tugmalarining foni ishga tushirilishiga qarab qora rangga aylanadi. Men fonni qo'lda sozlashim kerak.
  • Ba'zi oyna platformalarida com porti ko'rinmaydi. Ftdi haydovchisi muammosi bo'lishi mumkin.

4 -qadam: Kosonlardan foydalaning

Qo'llanmalardan foydalaning
Qo'llanmalardan foydalaning

Agar siz Guino interfeysi bilan ishlashning ba'zi holatlarini ko'rishni istasangiz, ushbu ko'rsatmaga o'ting.

Tavsiya: