فهرست مطالب:

اوسو! صفحه کلید: 8 مرحله (همراه با تصاویر)
اوسو! صفحه کلید: 8 مرحله (همراه با تصاویر)

تصویری: اوسو! صفحه کلید: 8 مرحله (همراه با تصاویر)

تصویری: اوسو! صفحه کلید: 8 مرحله (همراه با تصاویر)
تصویری: وقتی شب خواستگاری میری تو اتاق 😁 مچتو میگیرن 2024, نوامبر
Anonim
اوسو! صفحه کلید
اوسو! صفحه کلید

من به تازگی شروع به انجام یک بازی ریتم به نام osu کردم! و بعد از دیدن ویدئویی از یک مینی صفحه کلید تجاری ، فکر کردم که یک پروژه سرگرم کننده خواهد بود که خودم آن را طراحی کنم. مدت کوتاهی بعد از آن تصمیم گرفتم که ایده خوبی است که آن را به عنوان اولین پروژه ام در دستورالعمل ها قرار دهم.

اگر می خواهید این پروژه را دقیقاً در آخرین دستورالعمل تکرار کنید ، مهمان من باشید ، اما برخی از خواسته های من بر اساس کمترین قیمت یا بهترین کیفیت نیست. برخی از اجزا تقریباً به این دلیل انتخاب می شوند که من آنها را در اطراف دراز کشیده ام. اگر می توانید با آن کنار بیایید ، من از شما می خواهم که پروژه خود را سفارشی کنید.

توجه 1: از قطعات SMD (وسایل الکترونیکی کوچک) استفاده می شود بنابراین اگر این پروژه را تکرار می کنید مهارت های لحیم کاری مورد نیاز است. شاید یک نسخه آسان برای لحیم کاری اضافه شود ، اما این چراغ ها در بسته سوراخ قرار نمی گیرند

توجه 2: من چندین بار کد را به روز کرده ام و در حال حاضر تا نسخه 3ish هستم. همه کد ها را آنلاین می گذارم اما توصیه می کنم از آخرین نسخه استفاده کنید. در حال حاضر عملکرد led ندارد اما باید بهترین عملکرد را داشته باشد.

مرحله 1: مواد و توضیحات

مواد و توضیحات
مواد و توضیحات

بسته به نحوه انجام پروژه خود ، ممکن است به اجزای مختلفی نیاز داشته باشید ، اما این اجزا مواردی هستند که من از آنها استفاده کردم. اگر وقت دارید و می خواهید پول ذخیره کنید ، از aliexpress سفارش دهید و PCB را سفارش ندهید.

1 کابل آردوینو میکرو + USB

3 کلید Kailh BOX قرمز

3 مقاومت 10k (0805 SMD)

3 خازن 100nF (0805 SMD)

4 LED APA102 rgb (5050 SMD)

3 کلاه کلید

1 برد مدار چاپی (PCB) در این پروژه ارائه شده است

1 مورد چاپ سه بعدی در این پروژه ارائه شده است

چرا از آردوینو پرو میکرو استفاده می کنم؟

اکثر برد های آردوینو مانند Uno (Atmega328) از پشتیبانی USB برای ارتباطات USB برخوردار نیستند. بله ، شما می توانید آنها را به راحتی بر روی USB برنامه ریزی کنید و من فکر می کنم راه حل هایی وجود دارد ، اما من دوست دارم آن را در ارتباط با USB ساده نگه دارم و نمی دانم آیا راه حل ها به همان اندازه پاسخگو هستند. این بردها از یک تراشه خارجی برای برقراری ارتباط USB استفاده می کنند در حالی که Arduino pro micro (Atmega32U4) دارای آن است.

سوئیچ ها

سوئیچ های مکانیکی زیادی وجود دارد که می توانید از آنها استفاده کنید. خطی ، لمسی یا کلیکی از Kailh یا Cherry MX. هر کدام را که دوست دارید انتخاب کنید. من از سوئیچ های Kailh استفاده کردم زیرا در Ailexpress ارزان بودند. در صورت انتخاب استفاده از PCB ، به کلیدهای Kailh BOX نیاز دارید. رنگ تعیین کننده احساس است.

قطعات الکترونیکی

توضیح چندانی در مورد آنها در این فصل وجود ندارد ، اما اگر از PCB استفاده نمی کنید ، من برای سهولت لحیم کاری ، اجزای معمولی سوراخ را توصیه می کنم. متأسفانه led های مورد استفاده در بسته های حفره ای در دسترس نیستند. من همچنین توصیه نمی کنم از سیم در بسته های SMD استفاده کنید مگر اینکه به مهارت های لحیم کاری خود اطمینان داشته باشید. حتی برای SMD در PCB مهارتهای لحیم کاری "پیشرفته" معادل است.

مسکن

من در این پروژه مسکن ارائه می دهم ، اما در حال حاضر مشکل دارد. برای نصب پیچ و مهره ها نیاز به تغییرات است ، دهانه لامپ ها مطلوب نیستند ، آردوینو در معرض دید است و باید قسمتی از آن برای اتصال USB جدا شود. در آینده مسکن جدیدی ممکن است اضافه شود. اگر چاپگر سه بعدی دارید ، آن را چاپ کنید ، اما لطفاً در صورت عدم استفاده و استفاده از نوعی جعبه پروژه ، راه خود را برای چاپ این مورد معیوب کنار نگذارید.

مرحله 2: شماتیک

شماتیک
شماتیک

طرح کلی این پروژه نسبتاً ساده است ، اما من می خواهم اجزای آن را برای افرادی که علاقه مند هستند و این اجرا را نمی شناسند توضیح دهم.

اتصال به آردوینو را تغییر دهید

سوئیچ ها به پین های آردوینو 0 ، 2 و 3 متصل هستند زیرا می توان از آنها به عنوان وقفه های خارجی استفاده کرد. این بیشتر در قسمت کد توضیح داده شده است.

مدار خروج

در سمت چپ شماتیک مدار وجود دارد که 3 بار کپی می شود. این مدار برای خروج از کلید استفاده می شود. برای اینکه بدانید چه چیزی دفنسینگ است شما باید بلوتوث سوئیچ را بفهمید و درک آن سخت نیست.

ابتدا برای شبیه سازی اولین تصویر به این شبیه سازی نگاه کنید (سریع روی کلید کلیک کنید و به سیگنال زیر نگاه کنید)

هنگامی که یک کلید را فشار می دهید یا آن را رها می کنید ، باز می گردد و سیگنال شما چند بار در چند میلی ثانیه بین بالا و پایین تغییر می کند. آردوینو واقعاً سریع است و در این مدت کوتاه همه بالا و پایین را می خواند. این برنامه هر بار که یک بالا یا پایین خوانده می شود یک کلید را ارسال می کند یا می فرستد ، بنابراین با هر بار فشار دادن رایانه شما چندین فشار کلید را دریافت می کند. برای یک بازی ریتمی ایده آل نیست.

این مدار خروجی باعث کاهش سرعت لبه افتادن سیگنال می شود. سیگنال به آردوینو نمی تواند به همان سرعتی که تندرست اتفاق می افتد تغییر کند بنابراین به صورت یک فشار خوانده می شود. نگران نباشید که برای فشار واقعی بعدی به آهستگی کاهش یابد زیرا این کار را می کند.

پیشرفته:

Atmaga32U4 کمترین رقم را در 0.2Vcc - 0.1V = 0.9 ولت می خواند. ولتاژ خازن در هر زمان در تخلیه آن Vcc * e^(-t/RC) است. در صورت اندازه گیری زمان خروج متفاوت از سوئیچ ، می توانید مقادیر مقاومت و خازن خود را محاسبه کنید.

فرمول

LED ها

LED های rgb LED های APA102 هستند که به صورت جداگانه با استفاده از ساعت و خط داده قابل آدرس دهی هستند. برای کارکردن آنها به اجزای خارجی نیاز نیست. برای بسیاری از LED ها باید از خازنی به موازات 5 ولت و زمین استفاده کنید اما فقط با 4 LED به آن احتیاج ندارید.

مرحله 3: طراحی هیئت مدیره

طراحی هیئت مدیره
طراحی هیئت مدیره

PCB در JLCPCB طراحی شده است. من توسط آنها حمایت نمی شوم ، اما برای نمونه های اولیه ارزان ، آنها PCB های عالی تولید می کنند. برای 2 دلار 10 تخته از همان برد دریافت می کنید ، اما حمل و نقل برای من حدود 11 دلار بود. اگر نیازی به نورپردازی rgb ندارید و قصد ندارید فقط یکی از آنها را بسازید ، باید صفحه کلید خود را بدون PCB بسازید.

طراحی تابلو بسیار مستقیم بود. من فقط نیاز به اضافه کردن یک م componentلفه برای سوئیچ ها داشتم ، اما پس از تماشای چند ویدیو متوجه آن شدم. تنها چیزی که متوجه شدم این است که محل سوراخ ها بسیار نزدیک به سوئیچ ها است.

برای سفارش PCB به آدرس https://jlcpcb.com/ بروید و گزینه 2 لایه را انتخاب کنید. از شما فایل Gerber می خواهد. فایل ".zip" را بارگیری کرده و آن را به پنجره بکشید. نیازی نیست که آن را از حالت فشرده خارج کنید. تنظیمات باید خوب باشد و می توانید سفارش را تکمیل کنید.

مرحله 4: نکات طراحی مورد و مونتاژ

نکات طراحی و مونتاژ مورد
نکات طراحی و مونتاژ مورد
نکات طراحی و مونتاژ مورد
نکات طراحی و مونتاژ مورد
نکات طراحی و مونتاژ مورد
نکات طراحی و مونتاژ مورد
نکات طراحی و مونتاژ مورد
نکات طراحی و مونتاژ مورد

طرح

همانطور که قبلاً ذکر شد ، طراحی من دارای اشکال است ، اما در صورت تمایل می توانید آن را چاپ کنید. این یک نرم افزار مدل سازی سه بعدی رایگان است و با تجربه من از مخترع و solidworks کار با آن بسیار آسان بود. دایره های گوشه قاب برای جلوگیری از لایه برداری از سطح چاپ است.

اگر مورد خود را بسازید ، فقط یک چیز واقعاً مهم است. کلیدهای شما باید محکم قرار گرفته و قادر به حرکت نباشند. من تصاویری از برش های مربعی با ابعاد ارائه کرده ام تا با فرض استفاده از کلیدهای Kailh BOX ، از آن برای طراحی خود استفاده کنید.

مونتاژ

اکنون همه اجزای مورد نیاز برای مونتاژ را دارید. دستور مونتاژ این نسخه اول وجود دارد زیرا سوئیچ ها لحیم شده اند.

1. اجزای SMD را لحیم کنید. اینها مقاومت ها ، خازن ها و LED ها هستند.

2. Arduino pro micro را لحیم کنید.

3. قبل از لحیم کاری 3 سوئیچ را در روکش چاپ سه بعدی قرار دهید. بعد از لحیم کاری کلیدها ، روکش آن برداشته نمی شود. سرد کردن سوئیچ ها توصیه نمی شود و ممکن است آنها را خراب کند.

4. حالا کلیدها را در جای خود لحیم کنید. این کار را در اسرع وقت انجام دهید زیرا کلیدهای پلاستیکی می توانند آنها را ذوب کرده و خراب کرده یا تعداد کلیک آنها را به شدت کاهش دهند.

5. صفحه روکش مونتاژ شده را در کیس چاپ سه بعدی قرار دهید و در صورت عدم تداخل با کلیدها ، با نوار چسب محکم کنید یا از پیچ و مهره استفاده کنید.

6. keyCaps را روی سوئیچ ها قرار دهید و کار تمام است.

پیشنهادات

پس از بارگذاری کد خود ، LED های موجود در آردوینو را جدا کنید یا ماسک کنید. اگر کد شما بارگذاری نشود ، اما اگر بخواهید به عنوان یک محصول نهایی به آن نگاه کنید خوب نیست. موچین ماهر و نوک تیز مورد نیاز است.

همچنین برخی از پایه های چسبندگی در پایین برای ضد لغزش مناسب هستند و اجازه می دهند نور rgb از طریق آن بتابد.

مرحله 5: کد V1 (رفع مشکل سخت افزاری)

کد V1 (انصراف سخت افزاری)
کد V1 (انصراف سخت افزاری)
کد V1 (انصراف سخت افزاری)
کد V1 (انصراف سخت افزاری)

کد این پروژه برای مبتدیان مناسب نیست ، بنابراین اگر تازه شروع به برنامه نویسی در arduino می کنید ، این کد احتمالاً شما را کمی می ترساند. با این حال من سعی می کنم تا آنجا که می توانم توضیح دهم که چه اتفاقی می افتد. برخی از موارد بعداً در این متن توضیح داده شده است ، بنابراین اگر سوالی دارید ابتدا کل مطلب را بخوانید.

بارگذاری کد

ابتدا هر 3 فایل ".ino" را بارگیری کرده و در یک پوشه قرار دهید. اگر Arduino IDE ندارید فقط آن را به صورت رایگان در سایت رسمی arduino بارگیری کنید.

Arduino خود را به رایانه خود وصل کرده و "OSU_Keyboard_code_V1.ino" را باز کنید. در Tools Board "Arduino/Genuino Micro" را انتخاب کنید. همچنین در Tools پورت COM مناسب را انتخاب کنید. گاهی اوقات این می تواند تغییر کند. برای بارگذاری کد در Arduino خود ، فقط روی پیکان در سمت چپ بالای صفحه کلیک کنید و منتظر بمانید تا در پایین سمت چپ به شما بگوید که کامل شده است.

OSU_Keyboard_code_V1

از جمله و تعریف

ابتدا باید کتابخانه صفحه کلید را وارد کنید. با این کار می توانید از آردوینو به عنوان صفحه کلید استفاده کنید.

در مرحله بعد برخی از مقادیر را تعریف می کنم. Define درست مانند یک متغیر است اما نمی تواند در حین اجرای برنامه تغییر کند. 9 مورد اول مربوط به شخصیت صفحه کلید ، شماره پین arduino و بیت های پورت است.

سپس بیت های پورت داده ها و ساعت LED.

همچنین تعداد led ها برای زاویه چرخ رنگ متغیر است.

برپایی

این قسمت از کد تنها یکبار با اتصال arduino به سیستم اجرا می شود.

ابتدا ساعت و پایه های LED ها به عنوان خروجی و پین های سوئیچ به عنوان ورودی تنظیم می شوند. این نسخه پیشرفته pinMode () است. اگر علاقه دارید عبارت "دستکاری مستقیم پورت" را جستجو کنید.

Keyboard.begin () به سادگی اتصال usb را به عنوان صفحه کلید شروع می کند.

3 وقفه بعدی به پین های سوئیچ وصل می شوند. هر زمان که تغییری در پین سوئیچ تشخیص داده شود ، برنامه کوچکی اجرا می شود. این برنامه کوچک در ادامه ساخته خواهد شد.

حلقه

این بخش تا زمانی که آردوینو قدرت دارد به طور مداوم تکرار می شود.

من فقط از آن برای تغییر و به روز رسانی رنگ LED ها استفاده می کنم.

قطع می کند

در اینجا برنامه های کوچکی که تنها زمانی اجرا می شوند که تغییری در پین های سوئیچ تشخیص داده شود ، اجرا می شوند. آنها یکسان هستند به جز اینکه به کدام پین واکنش نشان می دهند.

ابتدا بررسی می کند که آیا دکمه فشار داده شده یا آزاد شده است و دستور صفحه کلید صحیح را ارسال می کند.

LED (به ترتیب متفاوت توضیح داده شده است)

اگر درباره نحوه کنترل LED ها کنجکاو هستید ، باید به برگه اطلاعات APA102 نگاه کنید.

OneBit

این دوباره نسخه دستکاری پورت مستقیم نوشتن دیجیتال است.

ابتدا بررسی می کند که آیا باید 0 یا 1 ارسال کند و به ترتیب پین داده را پایین یا بالا می کشد. سپس پین ساعت را بسیار کوتاه می نویسد و دوباره آن را پایین می نویسد.

OneByte

این یک بار 8 بار با حلقه "for" تکرار می شود. اولین بیت را در یک بایت می خواند و مقدار آن را به تابع oneBit منتقل می کند و همین کار را برای 7 بیت بعدی انجام می دهد.

LedData

این 4 بار یک بیت را تکرار می کند تا داده های مورد نیاز یک led را ارائه دهد. اولین بایت با 111xxxxxx و مقدار روشنایی 5 بیت در محل xxxxx شروع می شود. میزان روشنایی را می توان از 0 تا 31 (2^5 = 32 سطح) تنظیم کرد.

3 بایت بعدی مربوط به مقادیر آبی ، سبز و قرمز است. برای هر رنگ یک بایت

ColorWheelThisLed

این تابع ledData را فراخوانی می کند که بسته به زاویه ای در چرخه رنگ ، رنگ های rgb را به آن می دهد.

مقدار 16 بیت تقسیم بر 6 بخش مساوی 60 درجه است. نگاه کردن به تصاویر ممکن است به درک بهتر مطلب کمک کند.

(نسخه 8 بیتی نیز ارائه شده است اما به دلیل سوسو زدن بیش از حد نظر داده شده است)

StartEndFrame

فریم شروع باید هر بار که می خواهید رنگهای جدیدی به led ها ارسال شود و می خواهید رنگ واقعی led ها را به روز کنید ، استفاده شود.

من فقط از فریم شروع استفاده می کنم زیرا به فریم پایانی نیازی نیست. فریم شروع 4 بایت 0 است. فریم پایانی 4 بایت 255 (11111111) است.

مرحله 6: کد V2 (نرم افزار Debounce With Timers)

کد V2 (نرم افزار Debounce With Timers)
کد V2 (نرم افزار Debounce With Timers)

پس از مدتی بازی متوجه برخی از مشکلات ضربه زدن دوگانه با خرابی سخت افزار شدم. این را می توان با برخی مقاومت ها یا خازن های با ارزش دیگر برطرف کرد ، اما از آنجا که دکمه ها و درب قابل جابجایی نیستند ، فکر کردم حذف نرم افزار راه حل خوبی است. حذف نرم افزار باید کار کند در صورتی که رفع مشکل سخت افزاری اجرا شود یا خیر. در تنظیمات فعلی من نمی توانم درب را بردارم ، بنابراین من فقط مقاومت ها و خازن ها را در جای خود رها کردم.

من کد را به اندازه نسخه قبلی توضیح نمی دهم زیرا توضیح آن کمی سخت تر است.

اساساً بیشتر کد یکسان عمل می کند و کد led دست نخورده باقی می ماند. آنچه تغییر کرده این است که وقفه های خارجی دیگر از توابع آردوینو استفاده نمی کنند. در حال حاضر در کد C خالص کار می کند. و اکنون آنچه اضافه می شود وقفه نرم افزاری است. برای این منظور از تایمرهای AVR استفاده کردم تا مقدار مشخصی منتظر بمانم تا پرش متوقف شود. از آنجا که تایمرها بر اساس زمان وقفه قطع می شوند ، زمان خروج تحت تأثیر هیچ اتفاقی در حلقه قرار نمی گیرد.

تنها نقطه ضعفی که می توانم به آن پی ببرم این است که دیگر نمی توان از توابع تاخیر arduino استفاده کرد. زیرا توابع تاخیری از تایمر 0 استفاده می کند و این برنامه از تایمر 0 برای خروج از سیستم استفاده می کند.

در تصویر نحوه عملکرد تقریبی کد را مشاهده می کنید. بیت مم نشان می دهد که آیا یک تایمر در حال اجرا است. چیزی که نشان داده نمی شود این است که در انتهای دکمه فشار دهید ورودی کم است. در این حالت فقط یک کلید فشاری ارسال می شود در حالی که دکمه قبلاً آزاد شده است. این بدان معناست که کلید تا آنجا که مربوط به کامپیوتر است نگه داشته می شود. برای این نسخه نادر ، یک چک زمانی که یک زمان سنج منقضی می شود ، انجام می شود. اگر در پایان یک تایمر دکمه فشار داده نشود ، یک دستور keyrelease ارسال می شود.

مرحله 7: کد V3 (نرم افزار Debounce With Vertical Counter) (توصیه می شود) (بدون LED)

کد V3 (نرم افزار Debounce With Vertical Counter) (توصیه می شود) (بدون LED)
کد V3 (نرم افزار Debounce With Vertical Counter) (توصیه می شود) (بدون LED)

این کد همچنین دارای نسخه ای است که در آن نیازی به مقاومت های کششی ندارید. مطمئن شوید که هر دکمه را به ورودی و GROUND متصل می کنید! از کشش داخلی استفاده می شود

همچنین برخی از پرس های ثبت نشده در کد V2 را تجربه کردم. من فکر می کنم کد با تایمر و وقفه خارجی بسیار پیچیده شده است و ممکن است برخی از موارد استثنا را از دست داده باشم. به همین دلیل ، من از ابتدا با جستجوی روشهای خروج نرم افزار در اینترنت از ابتدا تلاش کردم.

(صادقانه بگویم ، حداقل نیمی از این پروژه در این مرحله به حالت دکمه درآمده است)

بعد از کمی جستجو به این پست برخوردم:

www.compuphase.com/electronics/debouncing….

صادقانه بگویم ، زمان زیادی طول کشید تا بفهمم دقیقاً چگونه کار می کند. این شامل دستکاری های کمی پیچیده است ، اما من سعی می کنم تا آنجا که ممکن است آن را آسان کنم. با این حال ، توضیحات من فقط یک افزوده برای پست خواهد بود ، بنابراین شما باید حداقل "شمارنده های عمودی" ، "اجرای حاشیه نویسی" و "کاهش تأخیر" را بخوانید.

توضیح من

نمودار زمان بندی (ساخته شده در WaveDrom) که من اضافه کردم باید درک ریاضیات را کمی درک پذیرتر کند. توجه داشته باشید که تصویر دارای 2 بیت شمارنده است ، اما کد من دارای 3 بیت است. این بدان معنی است که زمان خروج طولانی تر است.

یک بیت در هر مقدار

با اجرای شمارنده عمودی می توان چندین دکمه را به طور همزمان ، به صورت موازی ، حذف کرد. همه مقادیر از نوع Byte (uint8_t) هستند و از 8 بیت تشکیل شده است. ما نگران ارزش هر یک از این بایت ها نیستیم ، بلکه ما به بیت ها به تنهایی علاقه داریم. هر بوتونی که باید حذف شود فقط از هر بیت یک بیت استفاده می کند. دکمه اول فقط از بیت اول هر بایت استفاده می کند ، دکمه دوم از بیت دوم و غیره استفاده می کند.

همگی در یک زمان

با استفاده از ریاضیات بیت می توان این پرش های پین را به صورت موازی اجرا کرد. و اگرچه ریاضیات کمی پیچیده است ، اما برای پردازنده بسیار کارآمد است.

با نوع داده 8 بیتی می توان این کار را برای 8 دکمه انجام داد. استفاده از انواع داده های بزرگتر امکان حذف سریعتر را در یک زمان فراهم می کند.

انصراف

روال خروج هر 1 میلی ثانیه با وقفه زمان سنج اجرا می شود.

هنگامی که دکمه را فشار می دهید ، دکمه StateStat ، که حالت اعلام شده است ، به طور ناگهانی پایین می آید ، که نشان دهنده فشار یک دکمه است. برای تشخیص رهاسازی ، دکمه باید به مدت طولانی بالا باشد ، که نشان می دهد برای مدت مشخصی باز نشده است. Toggle برای نشان دادن تغییر دکمه استفاده می شود. بیت های شمارنده برای… استفاده می شود. با احتساب مدت زمانی که جهش انجام نشده است.

دلتا تفاوت بین ورودی و حالت حذف شده را نشان می دهد. فقط زمانی که اختلاف وجود داشته باشد شمارنده حساب می شود. هنگامی که گزاف گویی تشخیص داده می شود شمارنده بازنشانی می شود (دلتا 0 است).

مرحله 8: نتیجه

Image
Image

اگر همه چیز خوب پیش رفت ، اکنون باید یک صفحه کلید فعال برای بازی Osu داشته باشید! بر. من شخصاً اصلاً متوجه تأخیر نشده ام. اگر شما انجاممیدهید لطفا مرا مطلع کنید. همچنین در صورت وجود هر گونه سوال ، هر چیزی را بپرسید.

اشاره های قبلی در مورد V2 به عنوان یک وعده نیست ، بنابراین این پروژه را به تعویق نیندازید زیرا می خواهید منتظر V2 باشید.

امیدوارم از صفحه کلید خود لذت ببرید!

اوسو! نام: Thomazzz3

عیب یابی

اگر فکر می کنید با صفحه کلید خود مشکل دارید ، ابتدا ویرایشگر متن را باز کرده و هر کلید را یک بار برای مدت کوتاهی فشار دهید.

آیا یک یا چند کلید کار نمی کند؟

ممکن است هنگام لحیم کاری یک سوئیچ را به صورت داخلی خراب کرده باشید. اگر مولتی متر دارید آن را روی پیوستگی/بوق قرار دهید ، در حالی که آردوینو متصل نیست آن را موازی با کلید قرار دهید و کلید را فشار دهید. باید بوق بزند.

آیا کاراکترهایی که فقط تایپ کرده اید با کلیدهایی که در Osu پیکربندی کرده اید مطابقت دارد! ؟

در 3 #تعریف اولیه (("ضروری است!")) کاراکترهای کد آردوینو را تغییر دهید.

یا Osu خود را تغییر دهید! تنظیمات برای استفاده از کلیدهای پیکربندی شده

آیا یک یا چند کلید چند بار تکرار شده است؟

مدار خروجی احتمالاً برای کلیدهای شما کار نمی کند یا به درستی لحیم نشده است. اتصالات لحیم کاری خود را بررسی کنید. در صورت وجود مقدار خازن 1uF را امتحان کنید. این برای کاربران PCB بسیار سخت خواهد بود.

اگر با LED های خود مشکل دارید

آیا LED ها چشمک می زنند؟

اتصال لحیم کاری ممکن است شل باشد. اگر از PCB استفاده می کنید ، تأیید کنید که قلع لحیم کاری واقعاً روی صفحه روی چاپ چاپ شده است.

آیا هیچ یک از led ها کار نمی کنند یا از تعداد مشخصی LED کار نمی کنند؟

شورت ها را بین اتصالات اولین LED بررسی کنید (آهنگها را دنبال کنید) و قلع متصل شده را در خروجی های آردوینو و دوباره اولین LED را بررسی کنید. در صورت تأیید صحت و نقص ، ممکن است لازم باشد اولین LED را تعویض کنید.

در صورت رفع این مشکل در صورت نیاز LED های بعدی را تکرار کنید.

توصیه شده: