Mundarija:

Osu! Klaviatura: 8 qadam (rasmlar bilan)
Osu! Klaviatura: 8 qadam (rasmlar bilan)

Video: Osu! Klaviatura: 8 qadam (rasmlar bilan)

Video: Osu! Klaviatura: 8 qadam (rasmlar bilan)
Video: 30ta maxfiy sir клавиатурадаги 30та махфий сир 2024, Iyul
Anonim
Osu! Klaviatura
Osu! Klaviatura

Men yaqinda osu deb nomlangan ritm o'yinini o'ynay boshladim! va tijorat mini klaviaturasining videosini ko'rganimdan so'ng, men o'zimni loyihalashtirish qiziqarli loyiha bo'ladi deb o'yladim. Biroz vaqt o'tgach, men uni birinchi loyiham sifatida ko'rsatma berishni ma'qul ko'rdim.

Agar siz ushbu loyihani oxirgi ko'rsatmaga qadar takrorlashni xohlasangiz, mening mehmonim bo'ling, lekin men qilgan ba'zi qarorlar eng past narx yoki eng yaxshi sifatga asoslangan emas. Ba'zi tarkibiy qismlar deyarli tanlangan, chunki men ularni yotgan edim. Agar siz buni uddalay olsangiz, men sizni loyihangizni sozlashingizga ishontiraman.

Eslatma 1: SMD komponentlari (kichik elektronika) ishlatiladi, shuning uchun agar siz ushbu loyihani takrorlasangiz, lehimlash qobiliyati talab qilinadi. Balki lehimlash oson bo'lgan versiya qo'shiladi, lekin bu chiroqlar teshikli paketga tushmaydi

Eslatma 2: Men kodni bir necha bor yangiladim va hozir 3ish versiyasiga o'tdim. Men barcha kodlarni onlayn qoldiraman, lekin oxirgi versiyadan foydalanishni tavsiya qilaman. Hozirda u funktsional imkoniyatlarga ega emas, lekin u eng yaxshi ishlashi kerak.

1 -qadam: Materiallar va tushuntirishlar

Materiallar va tushuntirishlar
Materiallar va tushuntirishlar

Loyihangizni qanday yaratganingizga qarab sizga turli komponentlar kerak bo'lishi mumkin, lekin bu komponentlar men ishlatganlardir. Agar sizda vaqtni tejashni xohlasangiz, aliexpress -ga buyurtma bering va tenglikni buyurtma qilmang.

1 Arduino pro micro + USB kabeli

3 ta Kailh BOX qizil kalitlari

3 ta 10k qarshilik (0805 SMD)

3 100nF kondansatör (0805 SMD)

4 APA102 rgb LED (5050 SMD)

3 tugmachalari

1 Ushbu loyihada taqdim etilgan bosilgan elektron karta (PCB)

Ushbu loyihada taqdim etilgan 1 ta 3D bosma quti

Nega men Arduino pro micro -dan foydalanaman?

Uno (Atmega328) kabi ko'pgina arduino platalarida USB aloqasi uchun mahalliy qo'llab -quvvatlash mavjud emas. Ha, siz ularni USB orqali osonlikcha dasturlashingiz mumkin va menimcha, vaqtinchalik echimlar bor, lekin men USB aloqasi haqida gap ketganda, men uni oddiy saqlashni yaxshi ko'raman va vaqtinchalik echimlar javob beradimi, bilmayman. Bu taxtalar USB -ulanishni amalga oshirish uchun tashqi chipdan foydalanadi, Arduino pro micro (Atmega32U4) o'rnatilgan.

Kalitlar

Siz foydalanishingiz mumkin bo'lgan ko'plab mexanik kalitlar mavjud. Kailh yoki Cherry MX dan chiziqli, teginadigan yoki bosuvchi. Sizga yoqqanini tanlang. Men Kailh kalitlarini ishlatardim, chunki ular Ailexpress -da arzon edi. Agar siz tenglikni ishlatishni tanlasangiz, sizga Kailh BOX kalitlari kerak bo'ladi. Rang tuyg'uni aniqlaydi.

Elektron komponentlar

Bu bobda ular haqida ko'p narsa tushuntirish mumkin emas, lekin agar siz tenglikni ishlatmasangiz, men lehimning qulayligi uchun oddiy teshik teshiklarini tavsiya qilaman. Afsuski, ishlatilgan lampalar teshikli paketlarda mavjud emas. Agar siz lehimlash qobiliyatingizga ishonchingiz komil bo'lmasa, SMD paketlarida simlardan foydalanishni tavsiya etmayman. Hatto tenglikni tenglamasida SMD uchun "ilg'or" lehimlash qobiliyatlari tenglashtirilgan.

Uy -joy

Men bu loyihada uy -joy bilan ta'minlayman, lekin hozircha nuqsonli. Boltlarni o'rnatish uchun o'zgartirishlar kerak, svetodiodlar uchun teshiklar optimal emas, arduino ochiq va USB ulanishi uchun uning bir qismini kesib tashlash kerak. Kelajakda yangi uy -joy qo'shilishi mumkin. Agar sizda 3D -printer bo'lsa, uni chop eting, lekin iltimos, agar biron -bir loyiha qutisini ishlatmasangiz, bu nuqsonli ishni chop etishga shoshilmang.

2 -qadam: sxematik

Sxematik
Sxematik

Loyihaning sxemasi juda oddiy, lekin men ushbu komponentni qiziqtirgan va bilmagan odamlar uchun tushuntirmoqchiman.

Arduino -ga ulanish

Kalitlar 0, 2 va 3 Arduino pinlariga ulangan, chunki ular tashqi uzilishlar sifatida ishlatilishi mumkin. Bu kod bo'limida batafsil tushuntirilgan.

Chiqib ketish davri

Sxemaning chap tomonida 3 marta nusxa ko'chirilgan sxema joylashgan. Ushbu sxema kalitni o'chirish uchun ishlatiladi. O'chirish nima ekanligini bilish uchun siz o'tish tugmachasini tushunishingiz kerak va buni tushunish qiyin emas.

Birinchi rasmni chizish uchun avval ushbu simulyatsiyaga qarang (kalitni tez bosing va quyidagi signalga qarang)

Siz tugmachani bosganingizda yoki qo'yganingizda, u sakrab chiqadi va sizning signalingiz bir necha millisekundlarda bir necha marta yuqori va pastda o'zgaradi. Arduino haqiqatan ham tezkor va shu qisqa vaqt ichida hamma past va past o'qiydi. Har safar yuqori yoki past o'qilganda, dastur tugmachalarni bosadi yoki qo'yib yuboradi, shuning uchun har bosilganda kompyuteringizga bir nechta tugma bosiladi. Ritm o'yini uchun ideal emas.

Ushbu o'chirish davri signalning pasayish chegarasini sekinlashtiradi. Arduino -ga signal tez sakrab chiqa olmaydi, shuning uchun u bir marta bosilganda o'qiladi. Keyingi haqiqiy matbuot uchun sekinlashishi haqida tashvishlanmang, chunki shunday bo'ladi.

Oldinga:

Atmaga32U4 0,2Vcc - 0,1V = 0,9 voltli raqamli past o'qiydi. Kondensatorning zo'riqishida har qanday vaqtda Vcc * e^(-t/RC) bo'ladi. Agar siz kalitni o'chirish vaqtini boshqacha o'lchasangiz, siz qarshilik va kondansatör qiymatlarini hisoblashingiz mumkin.

formulalar formasi

LEDlar

Rgb LED'lari APA102 LEDlar bo'lib, ular soat va ma'lumotlar liniyasi yordamida alohida -alohida hal qilinadi. Ularning ishlashi uchun hech qanday tashqi komponentlar kerak emas. Ko'p LEDlar uchun siz 5 voltli va erga parallel bo'lgan kondansatkichni ishlatishingiz kerak, lekin faqat 4 ta LED bilan sizga kerak emas.

3 -qadam: taxta dizayni

Kengash dizayni
Kengash dizayni

PCB JLCPCB -da ishlab chiqilgan. Men ularga homiylik qilmayman, lekin ular arzon prototiplar uchun juda yaxshi tenglikni ishlab chiqaradi. 2 dollar uchun siz bir xil taxtadan 10 ta olasiz, lekin men uchun etkazib berish taxminan 11 dollar edi. Agar siz rgb yoritishni xohlamasangiz va faqat bittasini yasashni xohlamasangiz, klaviaturani PCBsiz yasashingiz kerak.

Kengashning dizayni juda to'g'ri edi. Men faqat kalitlarga komponent qo'shishim kerak edi, lekin ba'zi videolarni ko'rganimdan keyin men o'zimni tutib oldim. Men tushungan yagona kamchilik - bu teshiklarning joylashuvi kalitlarga juda yaqin.

PCBga buyurtma berish uchun https://jlcpcb.com/ saytiga o'ting va 2 qatlamli variantni tanlang. Sizdan Gerber faylini so'raydi. ".zip" faylini yuklab oling va uni oynaga torting. Siz uni ochishingiz shart emas. Sozlamalar yaxshi bo'lishi kerak va siz davom etishingiz va buyurtmani bajarishingiz mumkin.

4 -qadam: Kosonni loyihalash va yig'ish bo'yicha maslahatlar

Kosonni loyihalash va yig'ish bo'yicha maslahatlar
Kosonni loyihalash va yig'ish bo'yicha maslahatlar
Kosonni loyihalash va yig'ish bo'yicha maslahatlar
Kosonni loyihalash va yig'ish bo'yicha maslahatlar
Kosonni loyihalash va yig'ish bo'yicha maslahatlar
Kosonni loyihalash va yig'ish bo'yicha maslahatlar
Kosonni loyihalash va yig'ish bo'yicha maslahatlar
Kosonni loyihalash va yig'ish bo'yicha maslahatlar

Dizayn

Avval aytib o'tganimdek, mening dizaynim noto'g'ri, lekin agar xohlasangiz, uni chop etishingiz mumkin. dizayn Fusion 360 -da ishlab chiqarilgan. Bu 3D modellashtirish uchun bepul dasturiy ta'minot va ixtirochi va qattiq ish tajribasi bilan ishlash juda oson edi. Koson burchaklaridagi aylanalar bosilgan joydan tozalanishni oldini oladi.

Agar siz o'z ishingizni qilmoqchi bo'lsangiz, faqat bitta narsa muhim. Sizning kalitlaringiz mahkam joylashtirilishi va harakatlana olmasligi kerak. Men o'lchamlari bilan to'rtburchaklar kesilgan rasmlarni taqdim qildim, shuning uchun siz uni Kailh BOX kalitlaridan foydalangan holda o'zingizning dizayningiz uchun ishlatishingiz mumkin.

O'rnatish

Endi yig'ish uchun zarur bo'lgan barcha komponentlar mavjud. Kalitlar lehimlanganligi sababli, bu birinchi versiyani yig'ish tartibi mavjud.

1. SMD komponentlarini lehimlang. bu rezistorlar, kondansatörler va LEDlar.

2. Arduino pro micro -ni lehimlang.

3. Lehimlashdan oldin 3 ta kalitni 3D bosilgan qopqog'iga joylashtiring. Kalitlarni lehimlagandan so'ng, qopqoqni olib tashlash mumkin emas. Kalitlarni olib tashlash tavsiya etilmaydi va ularni yo'q qilishi mumkin.

4. Endi kalitlarni joyiga lehimlang. Buni iloji boricha tezroq bajaring, chunki plastik kalitlar ularni eritib, vayron qilishi yoki sekin urish sonini keskin kamaytirishi mumkin.

5. Yig'ilgan qopqoqni 3D bosilgan qutiga joylashtiring va agar ular tugmachalarga xalaqit bermasa, ularni lenta bilan mahkamlang.

6. KeyCaps -ni kalitlarga qo'ying va siz tugatdingiz.

Tavsiyalar

Kodni yuklaganingizdan so'ng, arduino diodlarini o'chiring yoki niqoblang. Agar sizning kodingiz yuklanmasa, lekin uni tayyor mahsulot sifatida ko'rib chiqish yaxshi bo'lmasa, chiroqlar yaxshi bo'ladi. Malakali va o'tkir cımbızlar talab qilinadi.

Pastki qismidagi qisqich oyoqlari siljishni engillashtiradi va rgb nurining o'tishiga imkon beradi.

5 -qadam: V1 kodi (uskunani o'chirish)

Kod V1 (uskunani o'chirish)
Kod V1 (uskunani o'chirish)
Kod V1 (uskunani o'chirish)
Kod V1 (uskunani o'chirish)

Ushbu loyihaning kodi yangi boshlanuvchilar uchun qulay emas, shuning uchun agar siz arduino -da dasturlashni boshlayotgan bo'lsangiz, bu kod sizni biroz qo'rqitishi mumkin. Biroq, nima bo'layotganini iloji boricha yaxshiroq tushuntirishga harakat qilaman. Ba'zi narsalar keyinchalik bu matnda tushuntiriladi, shuning uchun agar sizda savollar bo'lsa, avval hamma narsani o'qing.

Kod yuklanmoqda

Avval 3 ".ino" fayllarini yuklab oling va ularni bitta papkaga joylashtiring. Agar sizda Arduino IDE bo'lmasa, uni rasmiy arduino saytidan bepul yuklab oling.

Arduino -ni shaxsiy kompyuteringizga ulang va "OSU_Keyboard_code_V1.ino" -ni oching. Asboblar panelida "Arduino/Genuino Micro" -ni tanlang. Shuningdek, asboblar bo'limida kerakli COM portini tanlang. Kodni Arduino -ga yuklash uchun ekranning yuqori chap burchagidagi tugmani bosing va u chap pastki qismida bajarilganligini bildirguncha kuting.

OSU_Keyboard_code_V1

Ta'rif, shu jumladan

Avval siz klaviatura kutubxonasini kiritishingiz kerak. Bu Arduino -ni klaviatura sifatida ishlatishga imkon beradi.

Keyin men ba'zi qiymatlarni belgilayman. Ta'rif xuddi o'zgaruvchiga o'xshaydi, lekin dastur ishlayotganda ular o'zgarmaydi. Birinchi 9 klaviatura belgisi, arduino pin raqami va port bitlari uchun.

Keyin LED ma'lumotlari va soatining port bitlari.

Shuningdek, LEDlar soni va g'ildirak burchagi uchun o'zgaruvchi aniqlanadi.

Sozlash

Kodning bu qismi faqat bir marta arduino ulanganda bajariladi.

Birinchidan, LEDlarning soat va ma'lumot pinlari chiqish sifatida, kalit pinlari esa kirish sifatida o'rnatiladi. Bu pinMode () ning ilg'or versiyasi. Agar siz "to'g'ridan -to'g'ri port manipulyatsiyasi" ni qidirsangiz.

Keyboard.begin () usb ulanishini klaviatura sifatida ishga tushiradi.

Keyingi 3 ta uzilish tugmachalarga ulanadi. Har safar kalit pinida o'zgarish aniqlansa, kichik dastur bajariladi. Bu kichik dastur bundan keyin ham amalga oshiriladi.

Loop

Arduino yoqilganda, bu qism doimiy ravishda takrorlanadi.

Men uni faqat LEDlarning rangini o'zgartirish va yangilash uchun ishlataman.

Tanaffuslar

Bu erda faqat kalit pimlarida o'zgarish aniqlanganda bajariladigan kichik dasturlar amalga oshiriladi. Ular bir -biriga o'xshashdir, faqat qaysi pinga javob berishadi.

Avval tugma bosilgan yoki qo'yilganligini tekshiradi va to'g'ri klaviatura buyrug'ini yuboradi.

LED (boshqa tartibda tushuntirilgan)

Agar siz LEDlarning qanday boshqarilishini bilmoqchi bo'lsangiz, APA102 ma'lumotlar jadvaliga qarang.

OneBit

Bu yana raqamli yozishning to'g'ridan -to'g'ri port manipulyatsiyasi versiyasi.

Birinchidan, u 0 yoki 1 yuborishi kerakligini tekshiradi va ma'lumot pinini past yoki baland ko'taradi. Keyin u soat pinini juda baland qilib yozadi va yana pastroq qilib yozadi.

OneBayte

Bu "for" tsikli bilan OneBit -ni 8 marta takrorlaydi. U birinchi bitni baytda o'qiydi va uning qiymatini oneBit funktsiyasiga o'tkazadi va keyingi 7 bit uchun ham xuddi shunday qiladi.

LedData

Bu bitta LED uchun kerakli ma'lumotlarni taqdim etish uchun oneByte -ni 4 marta takrorlaydi. Birinchi bayt 111xxxxx va xxxxx o'rnida 5 bitli yorqinlik qiymati bilan boshlanadi. Yorqinlikni 0 dan 31 gacha sozlash mumkin (2^5 = 32 daraja).

Keyingi 3 bayt ko'k, yashil va qizil qiymatlar uchun. Har bir rang uchun bitta bayt.

ColorWheelThisLed

LEDData deb nomlangan bu funktsiya rang g'ildiragidagi burchakka qarab rgb ranglarini beradi.

16 bitli qiymat - bu 60 graduslik bir xil masofadagi 6 bo'limda dividend. Rasmlarga qarash sizni yaxshiroq tushunishga yordam beradi.

(8 bitli versiya ham taqdim etilgan, lekin izoh berilgan, chunki u juda silliq)

StartEndFrame

Har safar LED -larga yangi ranglar yubormoqchi bo'lsangiz va haqiqiy rangini yangilashni xohlasangiz, boshlang'ich ramkadan foydalanish kerak.

Men faqat boshlang'ich ramkadan foydalanaman, chunki oxirgi ramka kerak emas. Boshlang'ich ramka - 4 bayt 0. Oxirgi ramka - 255 (11111111) 4 bayt.

6 -qadam: Kod V2 (taymerlar yordamida dasturiy ta'minotni o'chirish)

Kod V2 (taymerlar bilan dasturiy ta'minotni o'chirish)
Kod V2 (taymerlar bilan dasturiy ta'minotni o'chirish)

Bir muncha vaqt o'ynaganimdan so'ng, uskunani o'chirish bilan bog'liq ikki marta bosish bilan bog'liq muammolarni ko'rdim. Buni boshqa qiymatli rezistorlar yoki kondansatkichlar yordamida tuzatish mumkin edi, lekin tugmachalar va qopqoq olinmas ekan, menimcha, dasturiy ta'minotni o'chirish yaxshi echim bo'ladi. Dasturiy ta'minotni o'chirish uskunani o'chirish amalga oshirilgan yoki bajarilmaguncha ishlashi kerak. Hozirgi sozlamalarda men qopqoqni olib tashlamayman, shuning uchun rezistorlar va kondansatkichlarni joyida qoldirdim.

Men kodni oldingi versiya kabi keng tushuntirmayman, chunki tushuntirish biroz qiyinroq.

Asosan, kodning aksariyati bir xil ishlaydi va etakchi kod saqlanmagan. O'zgargan narsa - tashqi uzilishlar endi arduino funktsiyalaridan foydalanmaydi. Endi u toza C kodida ishlaydi. Va endi qo'shilgan narsa - bu dasturiy ta'minotning uzilishi. Buning uchun men AVR taymerlaridan foydalanib, sakrash to'xtaguncha ma'lum vaqt kutishdi. Taymerlar to'xtatilganligi sababli, uzilish vaqtiga tsiklda sodir bo'layotgan hech narsa ta'sir qilmaydi.

Men o'ylab topa oladigan yagona kamchilik shundaki, arduino kechiktirish funktsiyalari endi ishlatilmaydi. Chunki kechiktirish funktsiyalari Taymer 0 dan foydalanadi va bu dastur hisobdan chiqish uchun Taymer 0 dan foydalanadi.

Rasmda siz kodning qanday ishlashini ko'rishingiz mumkin. Xotira biti taymer ishlayotganligini ko'rsatadi. Tasvirlanmagan narsa - bu tugmani bosish oxirida kirish past bo'ladi. Bunday holda, tugma qo'yib yuborilgandan keyingina faqat tugma bosiladi. Bu shuni anglatadiki, kalit kompyuterga bog'liq holda ushlab turiladi. Bu kamdan -kam holatlar uchun taymer muddati tugashi bilan chek oldindan tuziladi. Agar taymer oxirida tugma bosilmasa, kalitni bo'shatish buyrug'i yuboriladi.

7 -qadam: V3 kodi (vertikal hisoblagich bilan dasturiy ta'minotni o'chirish) (tavsiya etiladi) (LED yo'q)

Kod V3 (vertikal hisoblagich bilan dasturiy ta'minotni o'chirish) (tavsiya etiladi) (LED yo'q)
Kod V3 (vertikal hisoblagich bilan dasturiy ta'minotni o'chirish) (tavsiya etiladi) (LED yo'q)

Bu kodning rezistorlarni tushirishga hojati bo'lmagan versiyasi ham bor. Har bir tugmani kirish va GROUND ga ulaganingizga ishonch hosil qiling! O'rnatilgan tortish ishlatiladi

Men, shuningdek, V2 kodida ba'zi ro'yxatdan o'tmagan presslarni boshdan kechirdim. O'ylaymanki, kod taymer va tashqi uzilish bilan juda murakkablashdi va men ba'zi istisnolarni o'tkazib yuborgan bo'lsam kerak. Shuning uchun men Internetdan dasturiy ta'minotni o'chirish usullarini qidirishdan boshladim.

(Rostini aytsam, ushbu loyihaning kamida yarmi tugmachani o'chirishga aylandi)

Bir oz qidirgandan so'ng, men ushbu xabarga duch keldim:

www.compuphase.com/electronics/debouncing….

Rostini aytsam, uning qanday ishlashini to'liq tushunishimga ancha vaqt kerak bo'ldi. Bu biroz murakkab manipulyatsiyalarni o'z ichiga oladi, lekin men buni iloji boricha osonlashtirishga harakat qilaman. Ammo mening tushuntirishlarim faqat xabarga qo'shimcha bo'ladi, shuning uchun siz hech bo'lmaganda "vertikal hisoblagichlar", "izohli dastur" va "kechikishni kamaytirish" ni o'qishingiz kerak.

Mening tushuntirishim

Men qo'shgan vaqt diagrammasi (WaveDrom -da qilingan), buni biroz matematikani tushunishni qiyinlashtirishi kerak. E'tibor bering, rasmda 2 ta hisoblagich bor, lekin mening kodim 3 ga teng. Bu uzoqroq chiqish vaqtini bildiradi.

Har bir qiymat uchun bitta bit

Vertikal hisoblagich yordamida bir vaqtning o'zida bir nechta tugmalarni parallel ravishda o'chirib qo'yish mumkin. Barcha qiymatlar Bayt (uint8_t) turiga kiradi va 8 bitdan iborat. Bizni bu baytlarning birortasi qanday qiymatga ega ekanligi qiziqtirmaydi, aksincha bizni bitlar qiziqtiradi. Chiqariladigan har bir tugma har bir baytdan faqat bittasini ishlatadi. Birinchi tugma har bir baytning faqat birinchi bitini ishlatadi, ikkinchi tugma ikkinchi bitni va boshqalarni ishlatadi.

Hammasi bir vaqtning o'zida

Bit -matematikadan foydalanib, bu pinni o'chirishni parallel ravishda bajarish mumkin. Bit -matematika juda murakkab bo'lsa -da, protsessor uchun juda samarali.

8 bitli ma'lumotlar turida buni 8 tugma uchun bajarish mumkin. Kattaroq ma'lumotlar turlaridan foydalanish bir vaqtning o'zida ko'proq to'lovlarni o'chirishga imkon beradi.

Debuniya

O'chirish tartibi har 1 millisekundda taymer uzilishi bilan amalga oshiriladi.

tugma bosilganda, davlat buziladi, bu tugma bosilishini bildiradi. Chiqarishni aniqlash uchun tugma etarlicha baland bo'lishi kerak, bu uning ma'lum vaqt davomida qaytmaganligini ko'rsatadi. Toggle tugma o'zgarishini bildirish uchun ishlatiladi. Hisoblagich bitlari … uchun ishlatiladi. qancha vaqt sakrash bo'lmaganini hisoblang.

Delta kirish va buzilgan holat o'rtasidagi farqni ko'rsatadi. Faqat farq bo'lganda hisoblagich hisoblab chiqadi. peshtaxta aniqlanganda hisoblagich tiklanadi (delta 0).

8 -qadam: Natija

Image
Image

Agar hamma narsa yaxshi bo'lsa, endi Osu o'ynash uchun ishlaydigan klaviatura bo'lishi kerak! yoqilgan. Men shaxsan hech qanday kechikishni sezmadim. Agar shunday qilsangiz, menga xabar bering. Bundan tashqari, agar savollar bo'lsa, xohlagan narsani so'rang.

V2 haqida oldingi eslatmalar va'da emas, shuning uchun bu loyihani kechiktirmang, chunki siz V2 ni kutmoqchisiz.

Umid qilamanki, sizga klaviatura yoqadi!

Osu! Ism: Thomazzz3

Muammolarni bartaraf qilish; nosozliklarni TUZATISH

Agar siz klaviaturada muammolarga duch kelyapsiz deb o'ylasangiz, avval matn muharririni oching va har bir tugmani qisqa vaqt davomida bosing.

Bir yoki bir nechta kalit ishlamayaptimi?

Lehimlash paytida siz kalitni ichkaridan yo'q qilishingiz mumkin. Agar sizda multimetr bo'lsa, uni uzluksiz/signalli signalga qo'ying, Arduino ulanmagan bo'lsa, uni kalitga parallel qo'ying va tugmani bosing. Bu jiringlashi kerak.

Siz yozgan belgilar Osu -da sozlangan kalitlarga mos kelsin! ?

Dastlabki 3 ta #Defines -dagi arduino kodidagi belgilarni o'zgartiring ('' kerak emas!).

Yoki Osu -ni o'zgartiring! sozlangan kalitlardan foydalanish uchun sozlamalar.

Bir yoki bir nechta kalit bir necha marta takrorlanadimi?

O'chirish sxemasi sizning kalitlaringiz uchun ishlamaydi yoki to'g'ri lehimlanmagan. Lehim ulanishlarini tekshiring. Agar u hali ham paydo bo'lsa, kondansatör qiymatini 1uF qilib ko'ring. PCB foydalanuvchilari uchun bu juda qiyin bo'ladi.

Agar siz LED bilan muammolarga duch kelsangiz

LEDlar miltillaydimi?

Lehim aloqasi uzilib qolishi mumkin. Agar siz PCBdan foydalansangiz, lehim qolipining bosilgan maydonga tushganligini tasdiqlang.

LEDlarning hech biri ishlamayaptimi yoki ma'lum miqdordagi LEDlar ishlamay qoladimi?

Birinchi LED konikslari orasidagi qisqa chiziqlarni tekshiring (treklarni kuzatib boring) va Arduino va yana birinchi LEDning chiqishlarida yaxshi ulangan qalay borligini tekshiring. Agar to'g'ri va hali ham nuqson tasdiqlansa, siz birinchi LEDni almashtirishingiz kerak bo'ladi.

Agar bu tuzatilsa, agar kerak bo'lsa, keyingi LEDlar uchun takrorlang.

Tavsiya: