Mundarija:
- 1 -qadam: kerakli qismlar
- 2 -qadam: interfeys yaratish
- 3 -qadam: Loyiha manbalari
- 4 -qadam: Rasmlarni import qilish
- 5 -qadam: GUI yaratish
- 6-qadam: 0-sahifa
- 7 -qadam: 1 -bet - Step vosita boshqaruvchisi
- 8 -qadam: 2 -bet - Stepper pianino
- 9 -qadam: disk raskadrovka
- 10 -qadam: ARDUINO SETUP
- 11 -qadam:+sxemalarni yakunlash
Video: Step motor yordamida qo'shiqlarni ijro eting !!: 11 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Bu loyiha oddiy motorli interfeysni loyihalashdan iborat bo'lib, u qadam dvigateli bilan ikki xil usulda ishlashga imkon beradi.
Birinchi interfeys oddiy GUI yordamida qadam dvigatelining yo'nalishi va tezligini boshqaradi, ularda yo'nalish uchun chap va o'ng o'qlar, tezlik uchun yuqoriga va pastga o'qlari bor.
Ikkinchi interfeys musiqiy xarakterga ega bo'ladi, bu esa qadam motorining aylanish tovushlari yordamida oddiy qo'shiqlarni ijro etish imkonini beradi.
1 -qadam: kerakli qismlar
- Arduino UNO (yoki mos keladigan taxta)
- ITead Studio -dan Nextion Enhanced NX4827K043.
- Nextion Kengaytirilgan displeyi uchun Nextion kengaytirish paneli
- Micro SDHC kartasi
- SD Card Reader/Writer - fayllarni kompyuterdan SDHC kartasiga o'tkazish uchun
- Non paneli
- Bosqichli motor (42BYGHM809)
- 100 uF kondansatkichli Duinotech step motorli haydovchi (L298) - [JayCar qismi# XC4492].
- Tashqi quvvat manbai - masalan. Tartibga solingan laboratoriya quvvat manbai
2 -qadam: interfeys yaratish
Birinchi qadam - kompyuterda Nextion Editor -da interfeyslarni yaratish.
Nextion Editor -ni bu yerdan yuklab olishingiz mumkin.
Nextion Editor -ni yuklang va yangi loyiha yarating. Yangi loyihani boshlaganingizda, mavjud variantlardan to'g'ri Nextion qurilmasini tanlaganingizga ishonch hosil qilishingiz kerak. Bu erda "Nextion Enhanced NX4827K043" qurilmasi ishlatiladi.
- Fayl → Yangi -ni tanlang Loyihaning nomini tanlang va uni qattiq diskda mos joyga saqlang.
-
Mavjud variantlardan tegishli Nextion qurilmasini tanlang
Mening qurilmam 480 x 272 pikselli ekran o'lchamiga ega
3 -qadam: Loyiha manbalari
Siz barcha manbalarni (masalan, rasmlar va shriftlar) loyihangizga kiritishingiz va keyin sizning ehtiyojlaringizga mos keladigan interfeysni loyihalashingiz kerak.
Shriftlar
Hech qanday maxsus shriftlar ishlatilmaydi, lekin agar siz displeyga biron bir matn yozmoqchi bo'lsangiz, Nextion Editor -da shrift yaratishingiz kerak bo'ladi.
A) Asboblar → Shrift generatori
- Shrift balandligini tanlang (masalan. 16).
- Shrift kodining turini tanlang (masalan, iso-8859-2)
- Qalin rangda bo'lishini xohlaysizmi yoki yo'qligini tanlang
- Foydalanmoqchi bo'lgan shriftni tanlang (masalan, Arial)
- Bo'shliqni tanlang (masalan, 0)
- Va nihoyat, bu shriftga o'ziga xos nom bering (masalan, Arial_16)
- Oynaning pastki o'ng burchagidagi "Shrift yaratish" tugmasini bosing.
Shriftni yaratish tugmachasini bosganingizda, u *.zi kengaytmasi yordamida shriftni saqlashga imkon beradi va sizdan "Yaratilgan shriftni qo'shmoqchimisiz?" So'raladi. loyihaga. Agar siz shriftdan mamnun bo'lsangiz va ushbu shriftni loyihangizda ishlatmoqchi bo'lsangiz, "Ha" ni tanlang, aks holda "Yo'q" -ni tanlang va qaytadan boshlang.
Siz shriftni import qilmaguningizcha yoki qo'shmaguningizcha loyihangizga hech qanday matn qo'sha olmaysiz. Loyihaning barcha shriftlari shriftlar oynasida ko'rsatiladi.
** Eslatma: Har bir shrift avtomatik ravishda indekslanadi, shunda siz kerak bo'lganda shriftga grammatik jihatdan murojaat qilishingiz mumkin. Aslida sizning loyihangizga qo'shgan barcha manbalarga raqam beriladi va har bir qo'shilgan manba uchun bittadan ko'payadi. Ba'zi manbalar uchun siz ushbu raqamni elementning chap tomonida ko'rishingiz mumkin. Masalan, Yuqoridagi rasmda Courier shriftida 0 indeksi mavjud, Arial shriftida esa 1 indeks mavjud. Agar manba o'chirilsa, indeks raqami o'sha element uchun o'zgarishi mumkin.
4 -qadam: Rasmlarni import qilish
Nextion Enhanced NX4827K043 qurilmasida har bir rasm 480 x 272 pikselli bo'lishi kerak.
Endi biz quyidagi rasmlarni Nextion Editor -ga import qilamiz, shunda biz ularni loyihada ishlatamiz. Nextion muharririning chap pastki burchagida "Shriftlar va rasm" manba oynasi joylashgan:
- Rasm yorlig'ini tanlang
- Keyin "+" belgisini tanlang
- Bu loyihaga qo'shiladigan rasm (lar) ni tanlash imkonini beruvchi dialog oynasini ochadi. Siz import qilish uchun bir nechta rasmni tanlashingiz mumkin.
Splash Screen uchun siz xohlagan rasmni yasashingiz mumkin.
Stepper dvigateli va pianino interfeysi uchun siz yuqoridagi rasmni yuklab olishingiz mumkin.
5 -qadam: GUI yaratish
Har bir resurs qo'shilgan tartib asosida identifikator oladi va har bir manba avtomatik ravishda nom oladi.
Siz manba yoki ob'ekt nomini o'zgartirishingiz mumkin, lekin identifikatorni o'zgartira olmaysiz.
Uch sahifa yuqorida tavsiflangan mezonlarga javob beradigan tarzda tuziladi.
Sahifa qo'shish uchun "sahifa oynasi" dan "Qo'shish" belgisini tanlash kifoya. Va jami 3 ta sahifaga ega bo'lmaguningizcha sahifalarni qo'shishni davom eting (0 -bet, 1 -bet va 2 -bet).
6-qadam: 0-sahifa
Nextion yoqilganda, displey ekrani Stepper Motor Controller ekranini ko'rsatguncha 3 soniya davomida ko'rsatiladi. Men ekranni yaratish uchun quyidagi amallarni qo'lladim.
Ochilgan ekran rasmini 0 -sahifaga qo'shing
- Sahifa oynasida "0 sahifani" tanlang
- Asboblar paneli oynasida "Rasm" -ni tanlang
- Atribut oynasida "pic" atributini ikki marta bosing
- Ro'yxatdagi ochiladigan ekran tasvirini tanlang
- OK tugmasini bosing
2. 0 -betga Taymer qo'shing
- Asboblar paneli oynasida Taymerni tanlang
- Atribut oynasida "tim" atributini 400 dan 3000 gacha o'zgartiring
- Taymer hodisasining Foydalanuvchi kodi bo'limiga "sahifa1" kiriting (0) Bu taymer hodisasi Nextionni 3 soniyadan keyin 1 -sahifaga o'tkazadi.
Ushbu taymer hodisasi Nextionni 3 soniyadan so'ng 1 -sahifaga o'tkazadi.
7 -qadam: 1 -bet - Step vosita boshqaruvchisi
Bu sahifa step motorining yo'nalishi va tezligini nazorat qilish uchun mo'ljallangan. Yo'nalish uchun ikkita tugma (chap va o'ng) va tezlik uchun ikkita tugma (tezroq va sekin) bo'ladi. Keyingi sahifaga o'tish uchun yana bitta tugma (ya'ni Stepper Motor Piano sahifasi). Bu tugmalar Nextion kengaytirish kartasiga ham joylashtiriladi. Kengaytirish platasining teguvchi tugmalari dvigatelni boshqarishning muqobil usulini ta'minlaydi.
Step motor nazoratchi rasmini 1 -sahifaga qo'shing
- Sahifa oynasida "sahifa 1" ni tanlang
- Asboblar paneli oynasida "Rasm" -ni tanlang
- Atribut oynasida "pic" atributini ikki marta bosing
- Ro'yxatdagi "Stepper Motor Controller" tasvirini tanlang
- OK tugmasini bosing
2. Stepper Motor Controller tasviridagi har bir tugma ustiga Hotspots qo'shing
a) Asboblar qutisi oynasida "Hotspot" -ni tanlang
b) "Chap" tugmachasini qamrab oladigan qilib, kirish nuqtasini torting va o'lchamlarini o'zgartiring
- Bu "Chap tugma" ni bosishga javob beradigan maydon.
- Nextion taxtasiga yuklanganida shaffof bo'ladi
c) Voqealar oynasida "Voqeani bosing" tugmasini bosing
d) "Komponent identifikatorini yuborish" katakchasini olib tashlang
e) Voqealar oynasining "Foydalanuvchi kodi" bo'limiga quyidagi kodni kiriting:
"L" harfini chop eting
f) Quyidagi jarayon yordamida ulanish nuqtasining ob'ekt nomini "Chapga" o'zgartiring:
- Atribut oynasida objname -ni tanlang va matnni "m0" dan "Chapga" o'zgartiring.
- Ulanish nuqtasi ob'ektining nomini o'zgartirish majburiy emas; lekin keyinchalik yordam beradi.
g) boshqa tugmalarning har biri uchun 2a-2f bosqichlarini quyidagi tartibda va quyidagi jadvalda takrorlang
- To'g'ri
- Tezroq
- Sekinroq
- Keyingi
"L" harfi uchun o'nlik ASCII kodi 76, shuning uchun Nextion Enhanced displeyi "L" buyrug'i yordamida Arduinoga L harfini yuborganda, Arduino 76 raqamini oladi. O'ng tugma bosilganda, u 82 raqamini oladi va hokazo. "Keyingi" tugmachasi Arduino -ga hech narsa uzatmaydi, shunchaki Nextion Enhanced displeyidagi keyingi interfeysga o'tish, shu sababli foydalanuvchi tugmachasining kodi boshqacha.
3. Tugmalarni kengaytirish kartasiga joylashtiring
a) Sahifa oynasida "page0" va keyin "page1" ni tanlang
b) Voqealar oynasida "Voqeani oldindan boshlash" yorlig'ini tanlang
c) Voqeani oldindan boshlash yorlig'ining "Foydalanuvchi kodi" maydoniga quyidagi kodni kiriting:
- cfgpio 5, 1, chap
- cfgpio 2, 1, o'ng
- cfgpio 4, 1, tezroq
- cfgpio 3, 1, sekinroq
- cfgpio 1, 1, Keyingi
*** E'tibor bering: cfgpio va uning yonidagi raqam o'rtasida bitta bo'sh joy bor, lekin har bir satrda boshqa bo'sh joy yo'q. Agar siz qo'shimcha joylar kiritsangiz, u kompilyatsiya qilinmaydi. Ushbu kod kengaytirish panelidagi tugmachalarni 1 -sahifadagi ulanish nuqtasi ob'ektlariga bog'laydi. Masalan, kengaytirish kartasidagi Chap tugma (IO5) bosilganda, u m0/Chap nuqtasi bilan bog'liq harakatlar yoki hodisalarni simulyatsiya qiladi. Bunday holda, u "L" (76) qiymatini Arduino -ga yuboradi.
IO raqami kengaytirish panelidagi qavs ichida belgilanadi.
8 -qadam: 2 -bet - Stepper pianino
uning interfeysi pianinoga o'xshash tarzda ishlab chiqilgan va menga qadam dvigatelini boshqarishga imkon beradi, shunda u Nextion displeyida men bosgan kalit bilan bir xil yozuvni chiqaradi. Bosqichli motor ma'lum bir chastotada aylantirib, notani ishlab chiqaradi.
1. Stepper Motor Piano rasmini 2 -sahifaga qo'shing.
- Sahifa oynasida "2 -sahifani" tanlang
- Asboblar paneli oynasida "Rasm" -ni tanlang
- Atribut oynasida "pic" atributini ikki marta bosing
- Ro'yxatdagi "Step motorli pianino" tasvirini tanlang
- OK tugmasini bosing
2. Stepper Motor Piano tasvirining har bir tugmachasiga Hotspots qo'shing
a) Asboblar qutisi oynasida "Hotspot" -ni tanlang
b) Hotspot-ni "A" tugmachasini qamrab oladigan qilib torting va o'lchamlarini o'zgartiring. Bu "A-tugmachasi" tugmalariga javob beradigan maydon. Nextion taxtasiga yuklanganda shaffof bo'ladi.
c) Voqealar oynasida "Voqeani bosing" tugmasini bosing.
d) "Foydalanuvchi kodi" bo'limiga quyidagilarni kiriting
chop etish 1
e) Quyidagi jadvalga muvofiq boshqa kalitlarning har biri uchun 2a-2d bosqichlarini takrorlang.
** Maxsus tugma bosilganda, Nextion Enhanced taxtasi bosilgan raqamni, so'ngra uchta 0x00 qiymatini uzatadi. Tugatish qiymatlarini e'tiborsiz qoldirish mumkin.
3. "Orqaga" tugmasi menga Nextion Enhanced doskasidagi oldingi interfeysga qaytishga imkon beradi.
a) Quyidagi jarayon yordamida orqaga tugma uchun hotspot yarating:
- Asboblar qutisi oynasida Hotspot -ni tanlang
- Ulanish nuqtasini "Orqaga" tugmachasi ustiga siljiting/o'lchamlarini o'zgartiring
b) Voqealar oynasini tanlang.
c) "Touch press hodisasi" yorlig'i tanlanganligiga ishonch hosil qiling
d) Foydalanuvchi kodi bo'limiga: 1 -bet sahifasini kiriting
9 -qadam: disk raskadrovka
Nextion Editor -ning yaxshi tomoni shundaki, siz uni interfeysni taxtaga yuklamasdan oldin sinab ko'rishingiz mumkin.
- Vazifalar panelidagi saqlash tugmachasini bosib, loyihani saqlang
- Keyin kompilyatsiya tugmasini bosing
- Keyin disk raskadrovka tugmasini bosing.
Nextion emulyator oynasi paydo bo'ladi. Nextion fayli taxtaga yuklanganidan so'ng, bu oyna Nextion modulidagi kabi javob berishi kerak. Bu emulyator sizning interfeysingizni sinab ko'rish va uning ko'rinishiga va kutilganidek ishlashiga ishonch hosil qilishning ajoyib usuli. Interfeys (lar) dan mamnun bo'lganimdan so'ng, men yig'ilgan Nextion faylini SD -kartaga o'tkazdim:
- Kompilyatsiya tugmasini bosing
- Fayl → Qurilish papkasini oching
- Loyihaning nomi bilan bir xil bo'lgan *.tft faylini tanlang.
- Uni micro SDHC kartasiga nusxalash
- SDHC kartasini Nextion displeyidagi SD karta uyasiga joylashtiring
- Nextion taxtasini yoqing
Fayl Nextion taxtasi yonib turishini kuting va siz shunday xabarni ko'rasiz:
Keyingi qadam - Nextion kartasini o'chirish va SDHC kartasini olib tashlash.
10 -qadam: ARDUINO SETUP
Nextion Enhanced displeyi tayyor, endi navbat Arduinoga. Arduino Nextion Enhanced displeyidan ketma -ket xabarlarni qabul qilish va qabul qilingan harflar yoki raqamlar asosida step motorini boshqarish uchun dasturlashtirilgan. Nextion taxtasidan uzatiladigan noyob harflar yoki raqamlar Arduino -ga qaysi tugma bosilayotganini tushunishga imkon beradi va ma'lum bir qadamli motorli harakatlarni bajarish uchun kod oqimini boshqarish uchun bu raqamlar yoki harflardan foydalanadi.
SoftwareSerial kutubxonasi Arduino va Nextion Enhanced displeyi o'rtasida ketma -ket aloqani yoqish uchun ishlatiladi. AccelStepper kutubxonasi qadam motorini boshqarish jarayonini soddalashtirish uchun ishlatiladi.
Dvigatellar uchun maksimal va minimal tezlikni va ba'zi oldindan belgilangan kalitlarni o'rnating. Nextion displeyining birinchi interfeysi yordamida dvigatelni "sozlash" mumkin. Buni motorni kerakli tugmachaga yetguncha tezroq yoki sekinroq aylantirish orqali amalga oshirish mumkin. Bu erda iTunes ilovalar do'konidagi "Tuner T1 Free" ilovasi dvigatelda kalit yozilganligini aniqlash uchun ishlatiladi. Dvigatel ma'lum bir eslatma chiqarganda, men ketma -ket monitor oynasida bosilgan qadam dvigatelining tezligini yozardim. Har safar dvigatel tezligi oshganda yoki kamayganda, Arduino kodi tezlikni ketma -ket monitor oynasiga bosib chiqaradi. Keyin men Arduino kodidagi eslatmalar qatorini yangilash uchun ushbu tezliklardan foydalanaman. Notalar majmuasi pianino ustidagi individual notalarga mos keladigan qadamli motor tezligini ushlab turadi. Nextion displeyi asosan notaning indeks raqamini Arduino -dagi notalar qatoridan yuboradi va shu bilan dvigatelni 16 xil tezlikda aylantirish uchun zarur bo'lgan kodni soddalashtiradi.
11 -qadam:+sxemalarni yakunlash
Barcha taxtalar o'chirilgan holda, keyingi qadam Arduino -ga barcha kerakli apparat ulanishlarini o'rnatishdir. Ko'rib chiqilishi kerak bo'lgan ikkita asosiy bo'lim mavjud:
- Stepper haydovchi va motor
- Kengaytirilgan Nextion taxtasi.
Siz step motorini ham, Nextion Enhanced platasini ham quvvatlantirish uchun tashqi quvvat manbaidan foydalanishingizga ishonch hosil qilishingiz kerak. Bosqichli motorli haydovchi platasining o'zi Arduino tomonidan hech qanday muammosiz quvvatlanadi, lekin qadam dvigateliga tashqi quvvat manbai kerak bo'ladi. Nextion Enhanced taxtasi ham tashqi quvvat manbaiga muhtoj, chunki Arduino xavfsiz tarzda ta'minlay oladiganidan ko'proq oqim talab qiladi.
Ishlatilgan tashqi quvvat manbaiga e'tibor bering. Men loyihaning quvvat talablarini bajarish uchun etarlicha katta quvvat manbaiga ega ekanligimga ishonch hosil qildim va bu talablarni aniqlashga yordam berish uchun tegishli ma'lumotlar jadvalidan foydalandim. Agar siz ushbu loyihani takrorlashni rejalashtirmoqchi bo'lsangiz, dvigatel, dvigatel drayveri va Nextion displeyining quvvat talablariga e'tibor bering. Arduino 5V pimidan faqat 400mA tok etkazib berishi mumkin. Hamma narsa ulanganida, men Nextion displeyini, keyin Arduino -ni ishga tushirdim. Bosqichli motor avtomatik ravishda aylana boshlaydi. Men dvigatelning yo'nalishini va/yoki tezligini o'zgartirish uchun birinchi interfeysdan foydalandim. Iltimos, Arduino kodida o'rnatilgan maksimal va minimal tezliklarga e'tibor bering. Keyin Nextion Enhanced displeyidagi ikkinchi interfeysga o'tish uchun Keyingi tugmachasidan foydalandim. Ikkinchi interfeys pianinoga o'xshaydi. Va men pianino displeyidagi tugmachani bosganimda, vosita men bosgan notaga mos keladigan tezlikni o'zgartiradi.
Mana, tugadi.
Umid qilamanki, sizga yoqadi
Tavsiya:
Videoni ESP32 bilan ijro etish: 10 qadam (rasmlar bilan)
ESP32 yordamida videoni ijro etish: Ushbu ko'rsatmalarni ESP32 yordamida video va audio ijro etish haqida nimadir ko'rsatiladi
Gapirish Arduino - Hech qanday modulsiz Arduino bilan MP3 ijro etish - PC fayllari yordamida Arduino -dan Mp3 faylini ijro etish: 6 qadam
Gapirish Arduino | Hech qanday modulsiz Arduino bilan MP3 ijro etish | PC faylini ishlatib, Arduino -dan Mp3 faylini ijro etish: Bu erda biz audio faylni ishlatmasdan mp3 faylini arduino -da qanday ijro etishni bilib olamiz, bu erda biz Arduino uchun 8 -gigagertsli chastotali 16 -bitli PCM -ni o'ynaydigan PCM kutubxonasidan foydalanamiz
Karnay yoki Flyback transformatorida PWM yordamida Arduino yordamida qo'shiqlarni (MP3) ijro etish: 6 qadam (rasmlar bilan)
Qo'shiqlarni (MP3) Arduino bilan PWM yordamida karnay yoki Flyback transformatorida ijro eting: Salom bolalar, bu mening birinchi ko'rsatmam, sizga yoqadi degan umiddaman !! Asosan, men ushbu loyihada Arduino va noutbuk o'rtasidagi ketma -ket aloqani qo'lladim. musiqa ma'lumotlarini noutbukdan Arduino -ga uzatish. Va Arduino TIMERS -dan foydalanish
Xuddi shu musiqani bir nechta xonalarda ijro eting: 3 qadam
Ko'p xonalarda bir xil musiqani ijro eting: Hammaga salom, men siz haqingizda bilmayman, lekin men butun kvartiramda bir xil musiqani eshitishni yoqtiraman. Shunday qilib, bu muammo haqida bir oz tadqiqot olib borganimdan so'ng, men bir xil Wi -Fi tarmog'iga ulangan bir nechta dinamiklarni qurishga qaror qildim
Raspberry Pi bilan ijro etish yozuvchisi: 7 qadam (rasmlar bilan)
Raspberry Pi bilan ijro etish yozuvchisi: Hammaga salom, men bu ko'rsatmada Raspberry Pi yordamida qanday yozish yozuvchisi qilganimni tushuntiraman. Qurilma Raspberry Pi modeli B+bo'lib, uning tepasida 7 ta tugma, Pi -ning usb portlaridan biriga ulangan karnay va boshqasiga ulangan mikrofon bor