Mundarija:
- 1 -qadam: Barcha qismlarni yig'ish
- 2 -qadam: OLED -displeyni ulash
- 3 -qadam: Buzzerni ulash
- 4 -qadam: Barcha apparat ulanishlari tugallandi
- 5 -qadam: kutubxona va ekran protokollarini ishga tushirish
- 6 -qadam: Qo'shiq mavzusidagi qo'shiq
- 7 -qadam: ishga tushirish paytida qo'shiqni ijro etish
- 8 -qadam: Rasmlarni bitmaplarga aylantirish
- 9 -qadam: Displeyingizga qarab piksellar sonini sozlash
- 10 -qadam: Bitmap massivini yaratish
- 11 -qadam: Tasvirlarni ketma -ketlikda ko'rsatish
- 12 -qadam: Butun kod:
- 13 -qadam: Natijalar:
Video: PUBG mavzusidagi qo'shiq+Arduino bilan animatsiya!: 13 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Assalomu alaykum va bu qiziqarli darsga xush kelibsiz! Hammangiz sog' -salomat bo'lishingizni tilayman. Bu kichik, ammo ajoyib loyiha PUBG mavzusidagi qo'shiqni ijro etish va hatto arduino yordamida o'yin animatsiyalarini yaratish haqida.
Ishlatiladigan komponentlar juda oson mavjud va ularni non paneliga yig'ish juda oson. Men butun bino va kodlash jarayonini bu ko'rsatma bilan bo'lishaman, oxirigacha turing!
Loyiha haqida tasavvurga ega bo'lish uchun sizga videoni ko'rishni tavsiya qilaman:) Agar sizga yoqqan bo'lsa, videoni yoqtiring va baham ko'ring. Agar mening qurilishim sizga yoqsa, kanalimga obuna bo'lishni o'ylab ko'ring. Rahmat!
Shunday qilib, kechiktirmasdan, boshlaylik!
1 -qadam: Barcha qismlarni yig'ish
Qurilish asosan ushbu loyihaning asosiy yadrosi bo'lgan Arduino Nano -dan iborat. Siz mashhur Arduino Uno, Arduino Pro Mini, Arduino Mega va boshqalar kabi Arduino -ning boshqa variantlaridan foydalanishingiz mumkin. Animatsiya va tasvirlarni ko'rsatish uchun men 0,96 dyuymli OLED -displey bilan ketishga qaror qildim, o'lchamlari 128 dan 64 pikselgacha. Bu displey I2C protokoliga ega bo'lgan arduino interfeysi bo'lishi mumkin, bu ma'lumot va soat uchun atigi ikkita simni talab qiladi, bu ulanishlar sonini kamaytiradi va loyihani ixcham qiladi. PUBG mavzusidagi ohangni ijro etish uchun men 5V signalli signaldan foydalanardim, u musbat pinni 6 -raqamli arduino piniga ulab, Arduino -ning eriga tushdi.
Bu loyiha uchun zarur bo'lgan qismlar ro'yxati:
- Arduino Nano (yoki siz tanlagan boshqa arduino taxtasi)
- 0,96 dyuymli OLED displeyli modul
- 5V signalli signal
- Jumper simlari
- Non paneli
- Arduino dasturlash kabeli
2 -qadam: OLED -displeyni ulash
OLED displeyini arduino -dan ulash uchun jami 4 ta ulanish kerak:
Arduino uchun VV 5V
Gnd Gnd Arduino
Arduino uchun SDA A4
Arduino SC5 A5
Arduino A4 va A5 pinlari analog kirishning bir nechta maqsadlariga, shuningdek I2C aloqasi uchun pinlarga xizmat qiladi. Bu erda biz ekran moduli bilan aloqa qilish uchun I2C protokoli pinlaridan foydalanganmiz.
Ushbu loyihada ishlatilgan Adafruit kutubxonasiga havola:
3 -qadam: Buzzerni ulash
5V signalining ijobiy va salbiy ta'minot terminali mavjud.
Arduino -ning ijobiy D6 pinli (raqamli pin 6) (siz arduino -ning istalgan raqamli pinidan foydalanishingiz mumkin)
Salbiy pin Gnd Arduino
Biz D6 raqamli pinida kerakli ohangni yaratmoqchimiz, bunda ohang chalinadi.
4 -qadam: Barcha apparat ulanishlari tugallandi
OLED -displey va ovozli signalning barcha kerakli ulanishlari tugallandi. Keling, loyihaning dasturiy tomonini tushunish uchun davom etamiz.
5 -qadam: kutubxona va ekran protokollarini ishga tushirish
Butun dastur 3 qismga bo'lingan:
- Asosiy dastur tasvirni va ohangni ishga tushirish va ketma -ketligini o'z ichiga oladi
- "pitches.h" fayli musiqiy notalar ro'yxati va tegishli chastotadan iborat
- ko'rsatiladigan rasmlarning bitmaplaridan iborat "pictures.h" fayli.
Rasmni OLED displey uchun bitmap massiviga qanday o'zgartirish jarayoni kelgusi bosqichlarda muhokama qilinadi.
Men sizga butun kodni qo'shib qo'yaman, bu sizga ko'rsatma:)
6 -qadam: Qo'shiq mavzusidagi qo'shiq
Men Internetda PUBG mavzusidagi qo'shiqni o'z ichiga olgan asosiy yozuvlarni qidirib topdim va keyin ularni ohanglar qatoriga qo'shdim.
Ko'p vaqtni ijro etish va ohanglar ketma -ketligini takrorlash bilan men har bir notani qancha vaqt chalish kerakligi bilan bog'liq vaqt oralig'ini yaratdim. Musiqa va davomiylik majmuasining kombinatsiyasi qo'shiqni ijro etish uchun to'liq ma'lumotni o'z ichiga oladi.
7 -qadam: ishga tushirish paytida qo'shiqni ijro etish
Menda ohanglar ketma -ketligini tuzish uchun ishlatilgan jami 63 ta eslatma bor. "Loop" dan foydalanib, har bir nota o'rtasida oldindan belgilangan pauza bilan notalar va davomiylik qatorini takrorlash orqali butun ketma -ketlik bir marta ijro etiladi, chunki bu kod qismi bo'sh sozlamalarda (). Qizig'i shundaki, ushbu loyihaning kodlaridan hech biri arduino kodining bo'sh voidini () ishlatmaydi, chunki men rasmlarni faqat bir marta o'ynatmoqchiman. Albatta, agar siz takrorlanadigan ketma -ketlikni xohlasangiz, uni void loop () funktsiyasiga kiritish kerak.
8 -qadam: Rasmlarni bitmaplarga aylantirish
Loyihaning qiziqarli qismi - tasvirni piksel zichligiga qarab OLED displey uchun bitmap massiviga aylantirish jarayoni. Buning uchun men maxsus bitmaplarni yaratishga imkon beruvchi onlayn prefekturani topdim.
Ushbu onlayn dastur uchun havola:
Bu ilovani yaratgan ajoyib ijodkorlarga rahmat, bu mening ishimni ancha osonlashtiradi.
Havolaga kirganingizda, avval siz bitmap yaratmoqchi bo'lgan rasmni yuklashingiz kerak. Bu erda e'tiborga olish kerak bo'lgan narsa shundaki, siz juda ko'p rang kontrasti bo'lmagan tasvirlarni tanlashga harakat qilishingiz kerak, yaxshi natijalarga erishish uchun gradientlarsiz, bir nechta qat'iy ranglar bilan yopishtirishga harakat qiling.
9 -qadam: Displeyingizga qarab piksellar sonini sozlash
Keyingi bosqichda biz tasvir o'lchamini displey o'lchamiga qarab o'zgartirishimiz kerak. Bizning OLED displeyimiz uchun uning kengligi 28 piksel va balandligi 64 piksel, men uni rasmda ko'rsatilgandek sozlaganman. Rasm ravshanligini ta'minlash uchun yorqinlik chegarasini o'rnating (bu erda aniq ranglar bilan tasvirni ishlatishning afzalligi, rang gradyanlari qanchalik ko'p bo'lsa, monoxromli displeyda tasvir sifati pasayadi, chunki u yorqinlik chegarasini buzadi.).
Keyingi qadam - tasvirni mutanosibligini saqlagan holda ekranga joylashtirish va variantlar mavjud bo'lgan simmetriyani sozlash. Siz kerakli tasvirni olish uchun ushbu variantlarni o'rganishingiz mumkin. Malumot uchun siz ham oldindan ko'rishning ajoyib variantini olasiz!
10 -qadam: Bitmap massivini yaratish
Rasm parametrlarini moslashtirgandan so'ng, keyingi bosqichda Arduino kodini chiqish formati sifatida tanlang va kerakli bitmap massivini olish uchun yaratish tugmasini bosing!
Mana! siz rasmingizni kerakli bitmap qatoriga muvaffaqiyatli o'zgartirdingiz. Men bu jarayonni jami 7 ta rasm uchun qildim va saqladim.
11 -qadam: Tasvirlarni ketma -ketlikda ko'rsatish
Tasvirlarni ko'rsatish uchun men Arduino millis () funktsiyasidan foydalanib, chizish () funktsiyasini chaqirdim, bu asosan displeyni tozalash buyruqlar to'plami, OLED -ga bitmap massivini tuzish va displeyni ishga tushirish. Asosiy mantiq shundaki, har 3,5 soniyadan so'ng tasvir o'zgartiriladi va keyingi rasm ko'rsatiladi. Xo'sh, 3,5 soniya - bu yagona raqam emas, men shuni aniqladimki, agar men butun ohang davomiyligini 7 ta tasvirga bo'lsam, har bir displeyda taxminan 3,5 soniya bor. Agar xohlasangiz, bunga ko'proq rasm qo'shishingiz va har bir tasvirni ko'rsatish vaqtini qisqartirishingiz mumkin.
Kod parchalari millis () funktsiyasiga asoslanib, funktsiyalar qanday chaqirilishini tushuntiradi.
Rasmlarning butun bitmap massivlari "pictures.h" faylida saqlanadi
12 -qadam: Butun kod:
Bu erda men siz bilan o'ynash va tajriba o'tkazish uchun kodni almashaman!
Hammasi yaxshi bo'lib tuyulgach, uni taxtaga yuklash vaqti keldi:)
13 -qadam: Natijalar:
Ko'rib turganingizdek, rasmlar ajoyib bo'lib chiqdi! Va ohang ham shunday bo'ldi! Umid qilamanki, siz namoyish to'liq bo'lgan videoni ko'rdingiz.
Umid qilamanki, Arduino -ning PUBG versiyasi barcha o'yinlar va elektron ixlosmandlari uchun qiziqarli loyihadir.
Iltimos, o'z fikr -mulohazalaringizni sharhlarda baham ko'ring va har qanday takliflar bilan bo'lishing, shuningdek, men ishlayotgan OLED seriyasining bir qismi bo'lgani uchun ko'proq kanallarimga obuna bo'ling. Agar siz bu qiziqarli loyihani qursangiz, menga xabar bering:)
Keyingi safargacha.
Tavsiya:
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'l bilan amalga oshirildi: 8 qadam (rasmlar bilan)
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'lga qo'yildi: 1 yil davomida 2 xil joyda muvaffaqiyatli ishlaganimdan so'ng, men quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasining loyiha rejalari bilan bo'lishaman va uning qanday qilib uzoq vaqt yashay oladigan tizimga aylanganini tushuntiraman. quyosh energiyasidan o'tgan davrlar. Agar ergashsangiz
Twinky bilan eng zo'r Arduino robot bilan tanishing: 7 qadam (rasmlar bilan)
Twinky bilan eng zo'r Arduino roboti bilan tanishing: Salom, men sizga "Jibo" ni o'zim qanday yaratganimni o'rgataman. lekin "Twinky" deb nomlangan, men buni ochib bermoqchiman … Bu nusxa emas! Men ikkiyuzlamachilik bilan qurardim va shundan keyingina shunga o'xshash narsaning mavjudligini tushundim: bu erda
Budilnik bilan DIY aqlli o'lchov (Wi-Fi, ESP8266, Arduino IDE va Adafruit.io bilan): 10 qadam (rasmlar bilan)
Budilnik bilan DIY aqlli o'lchov (Wi-Fi, ESP8266, Arduino IDE va Adafruit.io bilan): Oldingi loyihamda men Wi-Fi bilan aqlli hammom o'lchovini ishlab chiqdim. U foydalanuvchi vaznini o'lchashi, uni mahalliy ko'rsatishi va bulutga yuborishi mumkin. Bu haqda batafsil ma'lumotni quyidagi havola orqali olishingiz mumkin: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Arduino MIDI klaviaturasi qo'shiq o'rgatish LEDlari bilan: 8 qadam
Arduino MIDI klaviaturasi qo'shiq o'rgatish LEDlari bilan: bu sizga MIDI klaviaturasini yaratish bo'yicha qo'llanma, sizga qo'shiq o'rgatish uchun LEDlar va qaysi qo'shiq tanlanganligini ko'rsatish uchun LCD. LEDlar ma'lum bir qo'shiq uchun qaysi tugmachalarni bosish kerakligini ko'rsatib beradi. Qo'shiqni chap va o'ng tugmachalari bilan tanlang
Arduino Theremin qo'shiq kuylovchi: 6 qadam (rasmlar bilan)
Arduino Theremin qo'shiqchi qo'g'irchoq: Arduino haqidagi maktab loyihasi uchun men uni qo'shiqchi muppet qilish uchun o'rnatilgan terminli muppet yaratdim. Og'zining ichida fotosel bor, u piezo signaliga ulanadi, shuning uchun siz og'zini ochganingizda va yopganingizda maydon o'zgaradi