Mundarija:
- 1 -qadam: Ishga kirishish
- 2 -qadam: Kodni qanday o'zgartirish kerak
- 3 -qadam: Bir nechta tezkor maslahatlar
- 4 -qadam: Kosonlardan foydalaning
Video: Guino: Arduino uchun boshqaruv paneli: 4 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
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
- 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
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
Agar siz Guino interfeysi bilan ishlashning ba'zi holatlarini ko'rishni istasangiz, ushbu ko'rsatmaga o'ting.
Tavsiya:
Bolalar uchun Nasa boshqaruv paneli: 10 qadam (rasmlar bilan)
Bolalar uchun Nasa boshqaruv paneli: Men buni kunduzgi parvarishlash bilan shug'ullanadigan singlim uchun qurdim. U qariyb uch yil oldin men ishlab chiqargan qurbonni ko'rdi va menga juda yoqdi, shuning uchun men uni Rojdestvo sovg'asi uchun qurdim. Mening boshqa loyihamga havola qiling: https: //www.
Circuito Arduino boshqaruv paneli: 6 qadam (rasmlar bilan)
Circuito Arduino boshqaruv paneli: " O'chirish " DIY boshqaruv paneli. Bu mening oldingi Robotik Arm loyiham uchun qo'shimcha loyihadir. Boshqarish paneli - bu kompyuter boshqariladigan mexanik konstruktsiyalar bo'lib, ular har qanday robotli qo'lni harakatlantirish va boshqarishga yordam beradi, bu servo motoga bog'liq
Internetga ulangan SMART LED animatsion soati, veb-boshqaruv paneli, vaqt serveri sinxronlashtirilgan: 11 qadam (rasmlar bilan)
Internetga ulangan SMART LED animatsion soati veb-boshqaruv paneli bilan, vaqt serveri sinxronlashtirildi: bu soatning hikoyasi uzoq o'tmishga borib taqaladi-30 yildan ortiq. Otam bu g'oyani men atigi 10 yoshimda, LED inqilobidan ancha oldin boshlagan. Haqiqiy
KerbalController: Kerbal kosmik dasturi uchun maxsus boshqaruv paneli: 11 qadam (rasmlar bilan)
KerbalController: "Kerbal Space" raketa o'yini uchun maxsus boshqaruv paneli: Nima uchun KerbalController quriladi? Chunki tugmachalarni bosish va jismoniy kalitlarni tashlash sichqonchani bosishdan ko'ra muhimroq. Ayniqsa, bu katta qizil xavfsizlik tugmachasi bo'lsa, avval qopqog'ini ochish kerak, kalitni suring
PSP -ni kompyuter boshqaruv paneli sifatida ishlatish va keyin kompyuterni PSP bilan boshqarish: 5 qadam (rasmlar bilan)
PSP -ni kompyuterni joystik sifatida ishlatish va keyin PSP yordamida kompyuterni boshqarish: Siz PSP homebrew -dan foydalanib juda ko'p ajoyib ishlarni bajarishingiz mumkin va men sizga bu PSP -ni o'yin o'ynash uchun joystik sifatida ishlatishni o'rgataman. sichqoncha sifatida joystikdan foydalanish imkonini beruvchi dastur. Mana, ona