Mündəricat:

Osu! Klaviatura: 8 addım (şəkillərlə)
Osu! Klaviatura: 8 addım (şəkillərlə)

Video: Osu! Klaviatura: 8 addım (şəkillərlə)

Video: Osu! Klaviatura: 8 addım (şəkillərlə)
Video: WhatsApp-ın bu hiyləsini bilirsən? 😎 2024, Iyul
Anonim
Osu! Klaviatura
Osu! Klaviatura

Bu yaxınlarda osu adlı bir ritm oyunu oynamağa başladım! və kommersiya mini klaviaturasının videosunu gördükdən sonra özüm üçün dizayn etmək əyləncəli bir layihə olacağını düşündüm. Çox keçmədi ki, ilk proyektim olaraq onu təlimatlandıranlara yazmağın yaxşı bir fikir olacağına qərar verdim.

Bu layihəni son təlimata qədər təkrarlamaq istəyirsinizsə, mənim qonağım olun, amma etdiyim bəzi qərarlar ən aşağı qiymətə və ya ən yaxşı keyfiyyətə əsaslanmır. Bəzi komponentlər demək olar ki, sırf yalançı olduğum üçün seçilir. Əgər öhdəsindən gələ bilsəniz, layihənizi fərdiləşdirməyinizi təmin edərdim.

Qeyd 1: SMD komponentləri (kiçik elektronika) istifadə olunur, buna görə də bu layihəni təkrar etsəniz lehimləmə bacarıqları tələb olunur. Bəlkə də lehim üçün asan bir versiya əlavə ediləcək, ancaq bu ledlər çuxur paketində gəlmir

Qeyd 2: Kodu bir neçə dəfə yeniləmişəm və indi 3ish versiyasına çatmışam. Bütün kodları onlayn olaraq buraxacağam, amma son versiyanı istifadə etməyi məsləhət görürəm. Hal -hazırda idarəetmə funksiyasına malik deyil, amma ən yaxşı performansa malik olmalıdır.

Addım 1: Materiallar və izahlar

Materiallar və izahlar
Materiallar və izahlar

Layihənizi necə hazırladığınızdan asılı olaraq fərqli komponentlərə ehtiyacınız ola bilər, amma bu komponentlər istifadə etdiyim elementlərdir. Vaxtınız varsa və monyə qənaət etmək istəyirsinizsə, aliexpress formasını sifariş edin və PCB sifariş etməyin.

1 Arduino pro micro + USB kabeli

3 Kailh BOX qırmızı açarı

3 10k müqavimət (0805 SMD)

3 100nF kondansatör (0805 SMD)

4 APA102 rgb LED (5050 SMD)

3 düymələr

1 Bu layihədə təqdim olunan çap lövhəsi (PCB)

Bu layihədə təqdim olunan 1 ədəd 3D çaplı qutu

Niyə Arduino pro micro istifadə edirəm?

Uno (Atmega328) kimi əksər arduino lövhələrində USB əlaqəsi üçün yerli dəstək yoxdur. Bəli, onları USB vasitəsilə çox asanlıqla proqramlaşdıra bilərsiniz və düşünürəm ki, həll yolları var, amma USB ünsiyyətinə gəldikdə sadə olmağı sevirəm və həll yollarının o qədər həssas olub olmadığını bilmirəm. Arduino pro micro (Atmega32U4) quraşdırıldıqda, bu lövhələr USB ünsiyyətini mümkün etmək üçün xarici çipdən istifadə edir.

Açarlar

İstifadə edə biləcəyiniz bir çox mexaniki açar var. Kailh və ya Cherry MX -dən xətti, toxunma və ya tıklama. İstədiyinizi seçin. Ailexpress -də ucuz olduqları üçün Kailh açarlarından istifadə etdim. PCB istifadə etməyi seçsəniz, Kailh BOX açarlarına ehtiyacınız olacaq. Rəng hissi təyin edir.

Elektron komponentlər

Bu fəsildə bunlar haqqında izah etmək üçün çox şey yoxdur, ancaq PCB -dən istifadə etməsəniz, lehimləmə asanlığı üçün normal çuxur deşik komponentlərini tövsiyə edərdim. Təəssüf ki, istifadə olunan ledlər çuxurlu paketlərdə yoxdur. Lehimləmə bacarığınıza çox əmin olmadığınız halda SMD paketlərində tel istifadə etməyi də məsləhət görməzdim. PCB -də SMD üçün belə "inkişaf etmiş" lehimləmə bacarıqları bərabərdir.

Mənzil

Mən bu layihədə bir mənzil verirəm, amma bu anda qüsurludur. Boltların yerləşdirilməsi üçün dəyişikliklərə ehtiyac var, ledlər üçün açılışlar optimal deyil, arduino açıqdır və USB -nin uyğun olması üçün bir hissə kəsilməlidir. Gələcəkdə yeni bir mənzil əlavə edilə bilər. Bir 3D printeriniz varsa, davam edin və çap edin, ancaq bir növ layihə qutusundan istifadə etməsəniz, bu qüsurlu işi çap etmək üçün əlinizdən gələni etməyin.

Addım 2: Şematik

Şematik
Şematik

Bu layihənin sxematikası olduqca sadədir, amma maraqlı olan və bu tətbiqi bilməyən insanlar üçün komponentləri izah etmək istəyirəm.

Arduino ilə əlaqələri dəyişdirin

Açarlar Arduino 0, 2 və 3 pinlərinə bağlanır, çünki bu pinlər xarici kəsilmələr kimi istifadə edilə bilər. Bu kod bölməsində daha ətraflı izah edilmişdir.

Çıxış dövrəsi

Şemanın sol tərəfində 3 dəfə kopyalanan bir dövrə var. Bu dövrə açarı çıxarmaq üçün istifadə olunur. Silmənin nə olduğunu bilmək üçün sıçrayış anlamaq lazımdır və başa düşmək çətin deyil.

İlk şəkil çəkmək üçün əvvəlcə bu simulyasiyaya baxın (düyməni tez vurun və aşağıdakı siqnala baxın)

Bir düyməni basdığınızda və ya buraxdığınız zaman sıçrayır və siqnalınız bir neçə milisaniyə ərzində bir neçə dəfə yüksək və aşağı arasında dəyişir. Bir Arduino həqiqətən sürətlidir və bu qısa müddətdə hər yüksək və aşağı oxuyur. Proqram hər dəfə yüksək və ya aşağı oxunduqda bir düyməyə basacaq və ya buraxacaq, buna görə də hər basanda kompüteriniz bir neçə dəfə basacaq. Bir ritm oyunu üçün ideal deyil.

Bu sıçrayış dövrəsi siqnalın düşən kənarını yavaşlatacaq. Arduinoya siqnal sıçrayış baş verdikcə tez dəyişə bilməyəcək, buna görə də bir mətbuat kimi oxunacaq. Növbəti real mətbuat üçün yavaşlayacağından narahat olmayın.

Qabaqcıl:

Atmaga32U4, 0.2Vcc - 0.1V = 0.9 voltda rəqəmsal bir aşağı oxuyur. Kondansatörün boşaldılması zamanı istənilən vaxt gərginliyi Vcc * e^(-t/RC) təşkil edir. Açarda fərqli bir boşalma vaxtını ölçsəniz, müqavimət və kondansatör dəyərlərinizi hesablaya bilərsiniz.

formula forması

LEDlər

RGB LED -ləri, bir saat və məlumat xətti istifadə edərək fərdi şəkildə ünvanlanan APA102 ledlərdir. Onların işləməsi üçün heç bir xarici komponentə ehtiyac yoxdur. Bir çox LED üçün 5 volt və yerə paralel bir kondansatör istifadə etməlisiniz, ancaq 4 LED ilə buna ehtiyac yoxdur.

Addım 3: lövhənin dizaynı

Lövhə Dizaynı
Lövhə Dizaynı

PCB JLCPCB -də hazırlanmışdır. Mən onlara sponsorluq etmirəm, amma ucuz prototiplər üçün əla PCB hazırlayırlar. 2 dollara eyni lövhədən 10 alırsınız, amma göndərmə mənim üçün təxminən 11 dollar idi. Rgb işıqlandırma istəmirsinizsə və yalnız birini hazırlamağı planlaşdırmırsınızsa, PCB olmadan klaviatura düzəltməyi düşünməlisiniz.

Lövhənin dizaynı olduqca düz idi. Yalnız açarlar üçün bir komponent əlavə etməyim lazım idi, amma bəzi videolara baxdıqdan sonra özümü tutdum. Anladığım yeganə çatışmazlıq, deliklərin açarlara bir qədər yaxın olmasıdır.

PCB sifariş etmək üçün https://jlcpcb.com/ ünvanına daxil olun və 2 qatlı seçimi seçin. Sizdən Gerber faylı istəyəcək. ".zip" faylını yükləyin və pəncərəyə sürükləyin. Açmaq lazım deyil. Ayarlar yaxşı olmalıdır və davam edə və sifarişi tamamlaya bilərsiniz.

Addım 4: Kassa Dizaynı və Quraşdırma Məsləhətləri

Kassa Dizaynı və Quraşdırma Məsləhətləri
Kassa Dizaynı və Quraşdırma Məsləhətləri
Kassa Dizaynı və Quraşdırma Məsləhətləri
Kassa Dizaynı və Quraşdırma Məsləhətləri
Kassa Dizaynı və Quraşdırma Məsləhətləri
Kassa Dizaynı və Quraşdırma Məsləhətləri
Kassa Dizaynı və Quraşdırma Məsləhətləri
Kassa Dizaynı və Quraşdırma Məsləhətləri

Dizayn

Daha əvvəl qeyd edildiyi kimi, dizaynım qüsurludur, amma istəsəniz yenə də çap edə bilərsiniz. dizayn Fusion 360 -da hazırlanmışdır. Pulsuz bir 3D modelləşdirmə proqramıdır və ixtiraçı və möhkəm iş təcrübəsi ilə işləmək olduqca asan idi. Çantanın künclərindəki dairələr çap yatağından soyulmanın qarşısını almaq üçündür.

Öz işinizi qurursanız, yalnız bir şey həqiqətən vacibdir. Şalterləriniz möhkəm bir şəkildə yerləşdirilməlidir və hərəkət edə bilməz. Kailh BOX açarlarından istifadə etdiyinizi güman edərək öz dizaynınız üçün istifadə edə biləcəyiniz ölçüləri olan kvadrat kəsiklərin şəkillərini təqdim etdim.

Məclis

İndi yığmaq üçün lazım olan bütün komponentlərə sahibsiniz. Açarların lehimli olması səbəbindən bu ilk versiyanın yığılması üçün bir sifariş var.

1. SMD komponentlərini lehimləyin. bunlar rezistorlar, kondansatörlər və LED -lərdir.

2. Arduino pro micro -ni lehimləyin.

3. Lehimdən əvvəl 3 açarı 3D çap örtüyə qoyun. Açarları lehimlədikdən sonra örtük çıxarıla bilməz. Açarları sökmək məsləhət görülmür və onları məhv edə bilər.

4. İndi açarları yerində lehimləyin. Bunu mümkün qədər tez edin, çünki plastik açarlar onları əridə və məhv edə bilər və ya klik sayını kəskin şəkildə azalda bilər.

5. Yığılmış örtüyü 3 ölçülü çap qutusuna qoyun və bantla bərkidin və ya düymələrin qapaqlarına müdaxilə etməsələr boltlardan istifadə edin.

6. KeyCaps düymələrini açarlara qoyun və işiniz bitdi.

Tövsiyələr

Kodunuzu yüklədikdən sonra arduino üzərindəki LED -lərin sökülməsi və ya maskalanması. Kod yüklənməsə də, bitmiş məhsul kimi baxmaq xoş deyilsə, ledlərin olması xoşdur. Bacarıqlı və uclu cımbız tələb olunur.

Ayrıca altdakı bəzi tutma ayaqları sürüşməmək üçün yaxşıdır və rgb işığının keçməsinə icazə verin.

Addım 5: Kod V1 (hardware Debounce)

Kod V1 (hardware çıxışı)
Kod V1 (hardware çıxışı)
Kod V1 (hardware çıxışı)
Kod V1 (hardware çıxışı)

Bu layihənin kodu yeni başlayanlar üçün uyğun deyil, buna görə arduino proqramına yeni başlamısınızsa, bu kod bəlkə də sizi bir az qorxudacaq. Ancaq nə olduğunu bacardığım qədər izah etməyə çalışacağam. Bu mətndə bəzi şeylər daha sonra izah ediləcək, buna görə suallarınız varsa, əvvəlcə hər şeyi oxuyun.

Kod yüklənir

Əvvəlcə bütün 3 ".ino" fayllarını yükləyin və bir qovluğa qoyun. Arduino IDE yoxdursa, rəsmi arduino saytında pulsuz yükləyin.

Arduinonu kompüterinizə qoşun və "OSU_Keyboard_code_V1.ino" nu açın. Alətlər lövhəsində "Arduino/Genuino Micro" seçin. Həm də Alətlərdə doğru COM portunu seçin. Kodu bəzən Arduino -ya yükləmək üçün ekranın sol üst hissəsindəki oxu vurun və sol alt hissədə tamamlandığını bildirənə qədər gözləyin.

OSU_Keyboard_code_V1

Daxildir və müəyyənləşdirir

Əvvəlcə Klaviatura kitabxanasını daxil etməlisiniz. Bu, Arduino'yu klaviatura kimi istifadə etməyə imkan verir.

Sonra bəzi dəyərləri təyin edirəm. Define bir dəyişən kimidir, ancaq proqram işləyərkən dəyişə bilməzlər. İlk 9 klaviatura xarakteri, arduino pin nömrəsi və port bitləri üçündür.

Sonra LED məlumatlarının və saatın port bitləri.

Həm də LEDlərin sayı müəyyən edilir və rəng çarxının bucağı üçün dəyişəndir.

Qurmaq

Kodun bu hissəsi arduino qoşulduqda yalnız bir dəfə icra olunacaq.

Əvvəlcə LED -lərin saat və məlumat pinləri çıxış olaraq, keçid pinləri isə giriş olaraq təyin olunur. Bu pinMode () -un inkişaf etmiş versiyasıdır. Əgər maraqlanırsınızsa, "birbaşa liman manipulyasiyası" nı axtarın.

Keyboard.begin () sadəcə usb bağlantısını klaviatura olaraq başlayır.

Növbəti 3 fasilə keçid sancaqları ilə əlaqələndirilir. Hər dəfə keçid pinində bir dəyişiklik aşkar edildikdə kiçik bir proqram icra ediləcək. Bu kiçik proqram daha sonra hazırlanacaq.

Döngə

Arduino işləyərkən bu hissə davamlı olaraq təkrarlanacaq.

Yalnız LED -lərin rəngini dəyişdirmək və yeniləmək üçün istifadə edirəm.

Fasilələr

Burada yalnız keçid pinlərində dəyişiklik aşkar edildikdə icra ediləcək kiçik proqramlar edilir. Hansı pinə reaksiya verdikləri istisna olmaqla, eynidır.

Əvvəlcə düymənin basıldığını və ya buraxıldığını yoxlayır və düzgün klaviatura əmrini göndərir.

LED (fərqli qaydada izah olunur)

LED -lərin necə idarə olunduğu ilə maraqlanırsınızsa, APA102 məlumat cədvəlinə baxmalısınız.

OneBit

Bu yenə rəqəmsal yazmanın birbaşa port manipulyasiya versiyasıdır.

Əvvəlcə 0 və ya 1 göndərməli olub olmadığını yoxlayır və müvafiq olaraq məlumat pinini aşağı və ya yuxarı çəkir. Sonra saat pinini çox yüksək yazır və yenidən aşağı yazır.

OneByte

Bu, "for" döngəsi ilə OneBit -i 8 dəfə təkrar edir. İlk biti bir baytda oxuyur və dəyərini oneBit funksiyasına ötürür və növbəti 7 bit üçün də eyni şeyi edir.

LedData

Bu, bir led üçün lazım olan məlumatları təmin etmək üçün oneByte 4 dəfə təkrarlanır. İlk bayt 111xxxxx və xxxxx yerinə 5 bit parlaqlıq dəyəri ilə başlayır. Parlaqlıq 0 -dan 31 -ə qədər təyin edilə bilər (2^5 = 32 səviyyə).

Növbəti 3 bayt mavi, yaşıl və qırmızı dəyərlər üçündür. Hər rəng üçün bir bayt.

ColorWheelThisLed

Bu funksiyanı çağıran ledData, rəng çarxındakı bir açıdan asılı olaraq rgb rəngləri verir.

16 bitlik dəyər, 60 dərəcə bərabər aralıklı 6 hissəyə bölünür. Şəkillərə baxmaq daha yaxşı başa düşməyə kömək edə bilər.

(8 bitlik bir versiya da verilir, amma çox sürüşkən olduğu üçün şərh edildi)

StartEndFrame

Başlanğıc çərçivəsinin hər dəfə LED -lərə yeni rənglər göndərmək və LED -lərin əsl rəngini yeniləmək istədikdə istifadə edilməsi lazımdır.

Yalnız son çərçivəyə ehtiyac olmadığı üçün başlanğıc çərçivəsini istifadə edirəm. Başlama çərçivəsi 4 bayt 0 -dır. Son çərçivə 255 (11111111) 4 baytdır.

Addım 6: Kod V2 (Zamanlayıcılarla Proqram Debounce)

The Code V2 (Timers With Software Debounce)
The Code V2 (Timers With Software Debounce)

Bir müddət oynadıqdan sonra, cihazın sökülməsi ilə bağlı ikiqat vurma problemləri gördüm. Bu, başqa bir dəyər müqavimətçiləri və ya kondansatörlər ilə düzəldilə bilər, ancaq düymələr və qapaqlar çıxarıla bilmədiyi üçün, proqramın ləğv edilməsinin gözəl bir həll olacağını düşündüm. Proqramın geri qaytarılması, hardware sökülməsi həyata keçirilsə də edilməsə də işləməlidir. Hazırkı quruluşumda qapağı çıxarmıram, buna görə rezistorları və kondansatörləri yerində qoymuşam.

Kodu əvvəlki versiya qədər geniş izah etməyəcəyəm, çünki izah etmək bir az çətindir.

Əsasən kodun çoxu eyni şəkildə işləyir və led kodu toxunulmaz qalır. dəyişən odur ki, xarici fasilələr artıq arduino funksiyalarından istifadə etmir. İndi təmiz C kodunda işləyir. Və indi əlavə edilən proqram kəsilməsidir. Bunun üçün sıçrayış dayanana qədər müəyyən bir müddət gözləmək üçün AVR taymerlərindən istifadə etdim. Taymerlər kəsildiyinə görə, geri dönmə dövrədə baş verən heç bir şeydən təsirlənmir.

Araşdıra biləcəyim yeganə dezavantaj, arduino gecikmə funksiyalarının artıq istifadə edilə bilməməsidir. Gecikmə funksiyaları Timer 0 -dan istifadə etdiyindən və bu proqram çıxarmaq üçün Timer 0 -dan istifadə edir.

Şəkildə kodun necə işlədiyini görə bilərsiniz. Mem bit, bir taymerin işlədiyini göstərir. Təsvir edilməyən şey, düyməni basmağın sonunda girişin aşağı olmasıdır. Bu vəziyyətdə, düymə buraxıldıqdan sonra yalnız bir düyməni basmaq olar. Bu o deməkdir ki, açar kompüterə aiddir. Bu nadir istisna üçün bir taymerin müddəti bitdikdə bir çek əvvəlcədən hazırlanacaq. Taymerin sonunda düyməyə basılmazsa, açar buraxma əmri göndəriləcək.

Addım 7: Kod V3 (Vertical Counter ilə proqram Debounce) (tövsiyə olunur) (LED yoxdur)

Code V3 (Vertical Counter ilə Debounce proqramı) (tövsiyə olunur) (LED yoxdur)
Code V3 (Vertical Counter ilə Debounce proqramı) (tövsiyə olunur) (LED yoxdur)

Bu kodun rezistorların aşağı çəkilməsinə ehtiyac duymadığınız bir versiyası da var. Hər düyməni girişə və GROUND -a bağladığınızdan əmin olun! Daxili çəkmə istifadə olunur

V2 kodunda bəzi qeydiyyatsız preslər də yaşadım. Düşünürəm ki, zamanlayıcı və xarici fasilə ilə kod çox mürəkkəb oldu və bəzi istisnaları qaçırdım. Bu səbəbdən, İnternetdən proqram çıxartma üsullarını axtarmağa başladım.

(Düzünü desəm, bu layihənin ən azı yarısı bu anda düyməni silməyə çevrildi)

Bir az araşdırdıqdan sonra bu yazıya rast gəldim:

www.compuphase.com/electronics/debouncing….

Düzünü desəm, bunun tam olaraq necə işlədiyini başa düşməyim xeyli vaxt aldı. Bu olduqca mürəkkəb bit manipulyasiyalarını əhatə edir, amma bunu mümkün qədər asanlaşdırmağa çalışacağam. Ancaq şərhlərim yalnız yazıya bir əlavə olacaq, buna görə ən azından "şaquli sayğacları", "şərhli bir tətbiq" və "gecikməni azaltmağı" oxumalısınız.

Mənim izahım

Əlavə etdiyim vaxt diaqramı (WaveDrom -da hazırlanmışdır) bunu bit riyazi anlayışı ən azından bir az daha anlaşıqlı etməlidir. Qeyd edək ki, şəklin 2 sayğac biti var, amma mənim kodum 3 -ə malikdir. Bu daha uzun çəkilmə vaxtı deməkdir.

Dəyər başına bir bit

Şaquli sayğac tətbiqi ilə paralel olaraq eyni anda birdən çox düyməni çıxarmaq mümkündür. Bütün dəyərlər Bayt (uint8_t) tipindədir və 8 bitdən ibarətdir. Bu baytların hər hansı bir dəyərə sahib olması bizi maraqlandırmır, əksinə bitlərin özü ilə maraqlanırıq. Borclanacaq hər bir düymə hər baytdan yalnız bir bit istifadə edir. Birinci düymə hər baytın yalnız ilk bitini, ikinci düymə isə ikinci biti və s.

Hamısı eyni zamanda

Bit riyazi istifadə edərək, bu pin debouncesini paralel olaraq həyata keçirmək mümkündür. Və bit riyaziyyat olduqca mürəkkəb olsa da, prosessor üçün çox səmərəlidir.

8 bit məlumat növü ilə bunu 8 düymə üçün etmək mümkündür. Daha böyük məlumat növlərinin istifadəsi bir anda daha çox borc çıxarmağa imkan verir.

Çıxış

Çıxma rutini hər 1 milisaniyədə bir taymer fasiləsi ilə həyata keçirilir.

Düymə basıldığında, pozulmuş vəziyyət olan Dövlət, bir düyməyə basıldığını göstərən bir anda aşağı enəcək. Bir buraxılışı aşkar etmək üçün düymənin kifayət qədər uzun müddət yüksək olması lazımdır ki, bu da müəyyən bir müddət ərzində geri dönmədiyini göstərir. Keçid düymə dəyişikliyini göstərmək üçün istifadə olunur. Sayğac bitləri… üçün istifadə olunur. bir sıçrayış olmadığını nə qədər hesablayıram.

Delta, giriş və ləğv edilmiş vəziyyət arasındakı fərqi göstərir. Yalnız bir fərq olduqda sayğac sayılacaq. bir sıçrama aşkar edildikdə sayğac sıfırlanacaq (delta 0 -dır).

Addım 8: Nəticə

Image
Image

Hər şey yaxşı gedirsə, indi Osu oynamaq üçün işləyən bir klaviatura olmalıdır! üzərində Şəxsən mən heç bir gecikmə görmədim. Əgər edirsinizsə, mənə bildirin. Həm də hər hansı bir sualınız varsa, bir şey soruşmaqdan çekinmeyin.

V2 haqqında əvvəlki qeydlər bir söz olaraq nəzərdə tutulmur, buna görə də bu layihəni təxirə salmayın, çünki V2 -ni gözləmək istəyirsiniz.

Ümid edirəm klaviaturadan zövq alırsınız!

Osu! Adı: Thomazzz3

Giderme

Klaviatura ilə problem yaşadığınızı düşünürsünüzsə, əvvəlcə mətn redaktorunu açın və qısa müddət ərzində hər düyməni bir dəfə basın.

Bir və ya birdən çox düymə işləmir?

Lehim edərkən bir açarı daxili olaraq məhv etməyiniz mümkündür. Bir multimetreniz varsa, onu davamlılıq/səs siqnalı üzərinə qoyun, Arduino bağlı olmadıqda açara paralel qoyun və düyməni basın. Bip səsi gəlməlidir.

Yazdığınız simvollar Osu -da konfiqurasiya etdiyiniz düymələrə uyğun olsun! ?

Arduino kodundakı simvolları ilk 3 #Defines -də dəyişdirin ('' lazım deyil!).

Ya da Osu dəyişdirin! konfiqurasiya edilmiş düymələrdən istifadə etmək üçün parametrlər.

Bir və ya bir neçə düymə bir neçə dəfə təkrarlanır?

Çıxarma dövrəsi, ehtimal ki, açarlarınız üçün işləmir və ya düzgün lehimlənməmişdir. Lehim bağlantılarınızı yoxlayın. Hələ də baş verərsə, 1uF bir kondansatör dəyərini sınayın. PCB istifadəçiləri üçün bu çox çətin olacaq.

LED -lərinizlə probleminiz varsa

LEDlər titrəyirmi?

Bir lehim bağlantısı boş ola bilər. PCB -dən istifadə edirsinizsə, lehimləmə qabının çapdakı səthə axdığını təsdiqləyin.

Ledlərin heç biri işləmir və ya müəyyən sayda LED işləmir?

İlk LED -in birləşmələri arasında şort olub olmadığını yoxlayın (parçaları izləyin) və Arduinonun çıxışlarında və yenidən ilk LED -də yaxşı bağlı qalay olub olmadığını yoxlayın. Doğru təsdiq edildikdə və hələ də qüsur varsa, ilk LED -i dəyişdirməlisiniz.

Bu düzəldərsə, lazım olduqda növbəti LEDlər üçün təkrarlayın.

Tövsiyə: