Мазмуну:

Osu! Баскычтоп: 8 кадам (Сүрөттөр менен)
Osu! Баскычтоп: 8 кадам (Сүрөттөр менен)

Video: Osu! Баскычтоп: 8 кадам (Сүрөттөр менен)

Video: Osu! Баскычтоп: 8 кадам (Сүрөттөр менен)
Video: ЧУПАКАБРА ма, әлде ЖЫН ба?#тылсымдүние #td #төреденбірвидео 2024, Июль
Anonim
Osu! Баскычтоп
Osu! Баскычтоп

Жакында осу аттуу ритм оюнун ойной баштадым! жана коммерциялык мини клавиатуранын видеосун көргөндөн кийин, мен өзүмдү долбоорлоо кызыктуу долбоор болот деп ойлогом. Ошондон көп өтпөй мен аны биринчи долбоорум катары үйрөткүчтөргө коюу жакшы болот деп чечтим.

Эгерде сиз бул долбоорду акыркы көрсөтмөсүнө чейин кайталоону кааласаңыз, анда менин коногум болуңуз, бирок мен жасаган чечимдердин айрымдары эң төмөнкү баага же сапатка негизделген эмес. Кээ бир компоненттер дээрлик таза тандалып алынган, анткени мен аларды тегеректеп жаткам. Эгерде сиз муну чече алсаңыз, мен сизге долбооруңузду ыңгайлаштырууга кепилдик берем.

Эскертүү 1: SMD компоненттери (кичинекей электроника) колдонулат, андыктан бул долбоорду кайталасаңыз, ширетүү жөндөмү талап кылынат. балким, оңой оңой версиясы кошулат, бирок бул ледтер тешик пакетте келбейт

Эскертүү 2: Мен кодду бир нече жолу жаңырттым жана азыр 3ish версиясына чейин жеттим. Мен бардык кодду онлайнда калтырам, бирок акыркы версиясын колдонууну сунуштайм. Учурда ал жетектөөчү функцияларга ээ эмес, бирок ал эң жакшы аткаруучу болушу керек.

1 -кадам: материалдар жана түшүндүрмөлөр

Материалдар жана түшүндүрмөлөр
Материалдар жана түшүндүрмөлөр

Долбоорду кантип жасооңузга жараша сизге ар кандай компоненттер керек болушу мүмкүн, бирок бул компоненттер мен колдонгондор. Эгер убактыңыз болсо жана монини сактагыңыз келсе, aliexpress формасына заказ кылыңыз жана ПХБга заказ кылбаңыз.

1 Arduino pro micro + USB кабели

3 Kailh BOX кызыл өчүргүчтөр

3 10k каршылык (0805 SMD)

3 100nF конденсатор (0805 SMD)

4 APA102 rgb LED (5050 SMD)

3 баскычтар

1 Бул долбоордо каралган басылган схема (PCB)

Бул долбоордо каралган 3D басылган 1 корпус

Эмне үчүн мен Arduino pro micro колдонуп жатам?

Uno (Atmega328) сыяктуу ардуино такталарынын көбүндө USB байланышы үчүн жергиликтүү колдоо жок. Ооба, сиз аларды USB аркылуу өтө оңой программалай аласыз жана менин оюмча, аны чечүүнүн жолдору бар, бирок мен USB байланышына келгенде аны жөнөкөй сактоону жакшы көрөм жана мен чечем, эгерде жооп берер -билбейм. Бул такталар USB байланышын мүмкүн кылуу үчүн тышкы чипти колдонушат, ал эми Arduino pro micro (Atmega32U4) орнотулган.

Коммутаторлор

Сиз колдоно турган көптөгөн механикалык которгучтар бар. Сызыктуу, тийүүчү же Kailh же Cherry MXден чыкылдатуу. Сизге жакканын тандаңыз. Мен Kailh өчүргүчтөрүн колдондум, анткени алар Ailexpressте арзан болчу. Эгерде сиз PCB колдонууну тандасаңыз, сизге Kailh BOX которгучтары керек болот. Түс сезимди аныктайт.

Электрондук компоненттер

Бул бөлүмдө алар жөнүндө түшүндүрүү үчүн көп нерсе жок, бирок эгер сиз ПХБны колдонбосоңуз, анда мен кадимки эле тешик компоненттерин ширетүүнү жеңилдетүүнү сунуштаар элем. Тилекке каршы, колдонулган ледтер тешик пакеттерде жок. Эгерде сиз ширетүү жөндөмүңүзгө абдан ишенбесеңиз, SMD пакеттеринде зымдарды колдонууну сунуштабайт элем. ПХБда SMD үчүн да "өнүккөн" ширетүү жөндөмү барабар.

Турак жай

Мен бул долбоордо турак -жай менен камсыз кылам, бирок ал учурда кемчиликтүү. Болтторду орнотуу үчүн өзгөртүүлөр керек, леддердин тешиктери оптималдуу эмес, ардуино ачыкка чыгып, USB туура келиши үчүн бир бөлүгүн кесип салыш керек. Келечекте жаңы турак жай кошулушу мүмкүн. Эгерде сизде 3D принтер бар болсо, аны басып чыгарыңыз, бирок эгер сиз проект кутусунун кандайдыр бир түрүн колдонбосоңуз, анда бул кемчиликсиз ишти басып чыгарууга жол бербеңиз.

2 -кадам: Схема

Схемалык
Схемалык

Бул долбоордун схемасы абдан жөнөкөй, бирок мен кызыккан жана бул ишке ашырууну билбеген адамдар үчүн компоненттерди түшүндүргүм келет.

Ардуиного туташууларды которуңуз

Коммутаторлор 0, 2 жана 3 Arduino казыктарына туташтырылган, анткени ал казыктар тышкы үзгүлтүктөр катары колдонулушу мүмкүн. Бул дагы код бөлүмүндө түшүндүрүлөт.

Чыгуу схемасы

Схеманын сол жагында 3 жолу көчүрүлгөн схема бар. Бул схема которууну өчүрүү үчүн колдонулат. Дебунинг эмне экенин билүү үчүн, өтүү секирүүсүн түшүнүү керек жана түшүнүү кыйын эмес.

Биринчи сүрөттү тартуу үчүн бул симуляцияны карап көрүңүз (которгучту бат басып, төмөнкү сигналды караңыз)

Сиз которгучту басканда же коё бергенде, ал секирет жана сигналыңыз бир нече миллисекунд үчүн бир нече жолу жогорку жана төмөн алмашат. An Arduino чындыгында тез жана бул кыска убакыттын ичинде ар бир жогорку жана төмөн окуйт. Программа жогорку же төмөн окулган сайын баскычты же релизди жиберет, ошондуктан сиздин компьютериңиз бир нече баскычты алат. Ритм оюну үчүн идеалдуу эмес.

Бул секирүү схемасы сигналдын түшүүчү четин жайлатат. Ардуиного берилген сигнал секирүү сыяктуу тез өзгөрө албайт, ошондуктан ал бир басуу катары окулат. Кийинки реалдуу басма сөз үчүн жай түшүп калат деп кабатыр болбоңуз, анткени ал болот.

Өркүндөтүлгөн:

Atmaga32U4 0.2Vcc - 0.1V = 0.9 вольттогу санариптик төмөн окуйт. Конденсатордун чыңалуусу каалаган убакта Vcc * e^(-t/RC). Эгерде сиз которгучта башка чыгуунун убактысын өлчөсөңүз, анда сиз резистор менен конденсатордун маанилерин эсептей аласыз.

формула формасы

Светодиоддор

Rgb диоддору APA102 леддери болуп саналат, алар саат жана маалымат линиясын колдонуу менен жекече даректелет. Аларды иштетүү үчүн тышкы компоненттердин кереги жок. Көптөгөн светодиоддор үчүн 5 вольтко жана жерге параллель болгон конденсаторду колдонушуңуз керек, бирок 4 эле светодиод менен анын кереги жок.

3 -кадам: Дизайн Дизайн

Тактанын дизайны
Тактанын дизайны

ПХБ JLCPCBде иштелип чыккан. Мен аларга демөөрчүлүк кылбайм, бирок арзан прототиптер үчүн алар мыкты ПХБ жасашат. 2 доллар үчүн сиз ошол эле тактанын 10ун аласыз, бирок жеткирүү мен үчүн болжол менен 11 доллар болчу. Эгерде сиз rgb жарык берүүнү каалабасаңыз жана бирөөсүн жасоону пландабасаңыз, клавиатураңызды ПХБсыз жасоону ойлонушуңуз керек.

Тактайдын дизайны абдан түз эле. Мен жөн гана өчүргүчтөрдүн компонентин кошушум керек болчу, бирок кээ бир видеолорду көргөндөн кийин мен аны кармап калдым. Мен түшүнгөн бир гана кемчилик - тешиктердин жайгашуусу өчүргүчтөргө бир аз жакын.

ПКБга заказ кылуу үчүн https://jlcpcb.com/ дарегине өтүңүз жана 2 катмарлуу жолду тандаңыз. Бул сизден Gerber файлын сурайт. ".zip" файлын жүктөп алып, терезеге сүйрөңүз. Аны ачуунун кажети жок. Орнотуулар жакшы болушу керек жана сиз буйрутмаңызды уланта аласыз.

4 -кадам: Дизайн жана Ассамблея Кеңештери

Дизайн жана монтаждоо боюнча кеңештер
Дизайн жана монтаждоо боюнча кеңештер
Дизайн жана монтаждоо боюнча кеңештер
Дизайн жана монтаждоо боюнча кеңештер
Дизайн жана монтаждоо боюнча кеңештер
Дизайн жана монтаждоо боюнча кеңештер
Дизайн жана монтаждоо боюнча кеңештер
Дизайн жана монтаждоо боюнча кеңештер

Дизайн

Мурда айтылгандай, менин дизайным кемчиликтүү, бирок эгер кааласаңыз, дагы эле басып чыгара аласыз. Дизайн Fusion 360та жасалган. Бул бекер 3D моделдөө программасы жана ойлоп табуучудан жана Solidworks менен болгон тажрыйбам менен иштөө абдан оңой болгон. Корпустун бурчтарындагы тегерекчелер басып чыгарылган жердин сыйрылуусуна жол бербөө үчүн.

Эгерде сиз өзүңүздүн жеке ишиңизди жасасаңыз, анда бир гана нерсе абдан маанилүү. Сиздин өчүргүчтөрүңүз бекем жайгашып, кыймылдай албай турушу керек. Мен Kailh BOX өчүргүчтөрүн колдонуп, өзүңүздүн дизайныңыз үчүн колдоно ала турган өлчөмдөгү төрт бурчтуктун сүрөттөрүн бердим.

Ассамблея

Эми сизде чогултуу үчүн керектүү бардык компоненттер бар. Бул биринчи версияны чогултуу буйругу бар, анткени өчүргүчтөр ширетилген.

1. SMD компоненттерин ширетүү. бул резисторлор, конденсаторлор жана диоддор.

2. Arduino pro micro'ду ширетүү.

3. 3 өчүргүчтү ширетүүдөн мурун 3D басып чыгарылган мукабасына салыңыз. Коммутаторлорду кошкондон кийин капкакты алып салуу мүмкүн эмес. Коммутаторлорду тазалоо сунушталбайт жана аларды жок кылышы мүмкүн.

4. Эми өчүргүчтөрдү ордуна коюңуз. Муну мүмкүн болушунча тезирээк жасаңыз, анткени пластикалык өчүргүчтөр аларды эритип, талкалайт же чыкылдатуу санын кескин түрдө азайта алат.

5. Чогулган капкакты 3D басып чыгарылган корпуска салып, эгер клавиатурага тоскоолдук кылбаса, скотч менен бекитип же болтторду колдонуңуз.

6. keyCapsты өчүргүчтөргө койгула, жана бүттү.

Сунуштар

Кодуңузду жүктөгөндөн кийин arduinoдогу диоддорду өчүрүү же маска кылуу. Эгерде кодуңуз жүктөлбөсө, ледтер жакшы, бирок даяр продукт катары кароо жакшы эмес. Чебер жана учтуу пинцет талап кылынат.

Ошондой эле түбүндөгү кээ бир кармоочу буттар тайып кетүүгө жакшы жана rgb жарыгы аркылуу жаркырап турсун.

5 -кадам: Code V1 (аппараттык дебун)

Code V1 (аппараттык дебюндун)
Code V1 (аппараттык дебюндун)
Code V1 (аппараттык дебюндун)
Code V1 (аппараттык дебюндун)

Бул долбоордун коду башталгычтарга ылайыктуу эмес, андыктан эгер сиз ардуинодо программаны жаңыдан баштап жатсаңыз, анда бул код сизди бир аз коркутушу мүмкүн. Бирок мен эмне болуп жатканын колумдан келишинче түшүндүрүүгө аракет кылам. Кээ бир нерселер кийинчерээк ушул текстте түшүндүрүлөт, андыктан суроолор болсо, алгач баарын окуп чыгыңыз.

Код жүктөлүүдө

Адегенде бардык 3 ".ino" файлдарын жүктөп алып, бир папкага салыңыз. Эгерде сизде Arduino IDE жок болсо, аны расмий arduino сайтына бекер жүктөп алыңыз.

Ардуинону компьютериңизге туташтырып, "OSU_Keyboard_code_V1.ino" ачыңыз. Куралдар тактасынан "Arduino/Genuino Micro" тандаңыз. Ошондой эле Куралдарда туура COM портун тандаңыз. Кодду Arduinoго жүктөө үчүн, экрандын жогорку сол жагындагы жебени чыкылдатыңыз жана ал сол жактын аягында бүткөнүн айтмайынча күтө туруңуз.

OSU_Keyboard_code_V1

Анын ичинде жана аныктоо

Биринчиден, клавиатура китепканасын кошуу керек. Бул Arduino клавиатурасы катары колдонууга мүмкүндүк берет.

Андан кийин мен кээ бир баалуулуктарды аныктайм. Define жөн эле өзгөрмө сыяктуу, бирок программа иштеп жатканда алар өзгөртө албайт. Биринчи 9 клавиатура белгиси, arduino пин номери жана порт биттери үчүн.

Андан кийин LED маалыматтарынын жана сааттардын порт биттери.

Ошондой эле леддердин саны аныкталган жана түстүү дөңгөлөктүн бурчунун өзгөрмөсү.

Жайгашуу

Коддун бул бөлүгү arduino сайылганда бир гана жолу аткарылат.

Биринчиден, светодиоддордун саат жана маалымат казыктары чыгаруу катары, ал эми которгуч казыктар - кириш катары коюлат. Бул pinMode () өркүндөтүлгөн версиясы. Эгер сизди кызыктырса, "түз порт манипуляциясын" издеңиз.

Keyboard.begin () жөн гана USB туташуусун клавиатура катары баштайт.

Кийинки 3 үзгүлтүк коммутаторго туташтырылган. Которуу пининде өзгөрүү аныкталган сайын кичинекей программа аткарылат. Бул кичинекей программа андан ары жасалат.

Loop

Бул бөлүк ардуино иштеп турганда тынымсыз кайталанат.

Мен аны диоддордун түсүн өзгөртүү жана жаңыртуу үчүн гана колдоном.

Үзгүлтүктөр

Бул жерде кичине программалар, алар которгуч казыктарында өзгөрүү болгондо гана аткарылат. Алар окшош, алар кайсы пинге жооп беришет.

Алгач ал баскычтын басылганын же бошотулганын текшерет жана туура клавиатура буйругун жөнөтөт.

LED (башка тартипте түшүндүрүлөт)

Эгерде сиз светодиоддор кантип көзөмөлдөнөрүн билгиңиз келсе, APA102 маалымат барагын караңыз.

OneBit

Бул дагы санариптик жазуунун түз порт манипуляциясы.

Биринчиден, ал 0 же 1 жөнөтүшү керекпи же жокпу текшерет жана тийиштүү түрдө маалымат пинин төмөн же жогору тартат. Андан кийин сааттын учун бийик кыска жазат жана кайра төмөн жазат.

OneByte

Бул "for" цикли менен OneBit 8 жолу кайталанат. Ал биринчи битти байтта окуп, анын маанисин oneBit функциясына өткөрүп берет жана кийинки 7 бит үчүн да ушундай кылат.

LedData

Бул бир LED үчүн керектүү маалыматтарды берүү үчүн oneByte 4 жолу кайталанат. Биринчи байт xxxxx ордуна 111xxxxx жана 5 бит жарыктыгы менен башталат. Жарыктыкты 0дон 31ге чейин коюуга болот (2^5 = 32 деңгээл).

Кийинки 3 байт көк, жашыл жана кызыл баалуулуктар үчүн. Ар бир түс үчүн бир байт.

ColorWheelThisLed

Бул функция ledData деп аталат, бул түс дөңгөлөгүндөгү бурчка жараша rgb түстөрүн берет.

16 биттик мааниси 6 градуска тең бирдей аралыкта бөлүнгөн 6 дивиденд. Сүрөттөрдү карап көрүү жакшыраак түшүнүүгө жардам берет.

(8 биттик версия да берилет, бирок ал өтө жылмакай болгондуктан комментарийленген)

StartEndFrame

Баштоо фреймди ар дайым ledsке жаңы түстөрдү жөнөткүңүз келсе жана леддердин чыныгы түсүн жаңыртууну кааласаңыз керек.

Мен баштоо фреймин гана колдоном, анткени endframe кереги жок. Старт кадры 4 байт 0. Аягы кадр 255 4 байт (11111111).

6 -кадам: Code V2 (Таймер менен программалык камсыздоонун Debounce)

Code V2 (таймерлер менен программалык камсыздоо)
Code V2 (таймерлер менен программалык камсыздоо)

Бир аз ойногондон кийин, мен аппараттык дебюндун кош таптоо көйгөйлөрүн байкадым. Бул кандайдыр бир башка резисторлор же конденсаторлор менен чечилиши мүмкүн, бирок баскычтар менен капкак алынбай тургандыктан, программалык камсыздоону четтетүү жакшы чечим болмок деп ойлогом. Программалык камсыздоонун жабдуулары иштей башташы керек, же болбосо. Учурдагы орнотуумда мен капкакты алып салбайм, ошондуктан резисторлорду жана конденсаторлорду ордунда калтырдым.

Мен кодду мурунку версиядагыдай кеңири түшүндүрбөйм, анткени түшүндүрүү бир аз кыйыныраак.

Негизинен коддун көбү бирдей иштейт жана жетектелген код тийбей калат. өзгөргөн нерсе - тышкы үзгүлтүктөр мындан ары arduino функцияларын колдонбойт. Азыр ал таза C кодунда иштейт. Ал эми азыр программалык камсыздоону үзгүлтүккө учуратуу. Бул үчүн мен AVR таймерин колдонуп, секирүү токтогонго чейин белгилүү бир убакытты күттүк. Таймерлер үзгүлтүккө учурагандыктан, баш тартуу убактысы циклде болуп жаткан нерселерге таасир этпейт.

Мен ойлоп тапкан жалгыз жетишпеген жагы, arduino кечигүү функцияларын мындан ары колдонууга болбойт. Кечигүү функциялары Таймер 0ди колдонот жана бул программа дебер кылуу үчүн Таймер 0 колдонот.

Сүрөттө сиз коддун болжол менен кантип иштээрин көрө аласыз. Mem бит таймер иштеп жаткандыгын көрсөтөт. Сүрөттөлбөгөн нерсе - бул баскычтын аягында басуу аз. Бул учурда, баскыч бошотулганда, бир гана баскыч жөнөтүлөт. Бул ачкыч компьютерге тиешелүү болуп калат дегенди билдирет. Бул сейрек кездешүү үчүн таймердин мөөнөтү бүткөндө чек алдын ала түзүлөт. Эгерде таймердин аягында баскыч басылбаса, баскычты бошотуу буйругу жөнөтүлөт.

7 -кадам: Code V3 (Vertical Counter менен программалык камсыздоо Debounce) (сунушталат) (LED жок)

Code V3 (Vertical Counter менен программалык камсыздоо Debounce) (сунушталат) (LED жок)
Code V3 (Vertical Counter менен программалык камсыздоо Debounce) (сунушталат) (LED жок)

Бул коддун резисторлорду түшүрүүнүн кереги жок версиясы бар. Ар бир баскычты киргизүү менен GROUNDга туташтырганыңызды текшериңиз! Камтылган тартма колдонулат

Мен дагы V2 кодунда катталбаган пресстерди башыман өткөрдүм. Менимче, код таймер жана тышкы үзгүлтүккө учуроо менен өтө эле татаал болуп калды, мен кээ бир өзгөчөлүктөрдү сагындым. Ушул себептен улам, мен нөлдөн баштап интернеттен программалык камсыздоону жоюу ыкмаларын издедим.

(чынын айтсам, бул долбоордун жок дегенде жарымы бул учурда баскычтан чыгарылган)

Бир аз издегенден кийин бул постко туш болдум:

www.compuphase.com/electronics/debouncing….

Чынын айтсам, анын кантип иштээрин толук түшүнүү үчүн мага бир топ убакыт керек болду. Бул бир аз татаал бит манипуляцияларды камтыйт, бирок мен аны мүмкүн болушунча жеңилдетүүгө аракет кылам. Бирок менин түшүндүрмөлөрүм постко кошумча гана болот, андыктан сиз жок дегенде "вертикалдуу эсептегичтерди", "аннотацияланган ишке ашырууну" жана "кечигүүнү азайтууну" окушуңуз керек.

Менин түшүндүрмөм

Мен кошкон убакыт диаграммасы (WaveDromдо жасалган) бул математиканы жок дегенде бир аз түшүнүктүүрөөк кылышы керек. Сүрөттө 2 каршы бит бар, бирок менин кодумда 3 бар экенине көңүл буруңуз. Бул узунураак дебюнду билдирет.

Ар бир наркына бир бит

Вертикалдуу эсептегичти ишке ашыруу менен бир эле учурда бир нече баскычты параллелдүү түрдө өчүрүү мүмкүн. Бардык баалуулуктар Байт (uint8_t) түрүндө жана 8 биттен турат. Биз бул байттардын биринин кандай мааниге ээ экенине кызыкпайбыз, тескерисинче бизди биттер кызыктырат. Карызга алынуучу ар бир батон ар бир байттын бир битин гана колдонот. Биринчи баскыч ар бир байттын биринчи битин гана колдонот, экинчи баскыч экинчи битти ж.

Ошол эле учурда

Бит математиканы колдонуу менен бул пин -дебонду параллелдүү түрдө аткарууга болот. Жана, математика абдан татаал болгону менен, процессор үчүн абдан эффективдүү.

8 биттик маалымат түрү менен 8 баскыч үчүн муну жасоого болот. Чоңураак маалымат түрлөрүн колдонуу бир убакта көбүрөөк дебунциялоого мүмкүндүк берет.

Дебунга чыгуу

Чыгуу тартиби ар бир 1 миллисекундда таймердин үзүлүшү менен аткарылат.

баскычы басылганда, басылган абал болгон мамлекет, бир заматта төмөн түшөт, бул баскычты басууну билдирет. Релизди аныктоо үчүн, баскыч узак убакыт бою жогору болушу керек, бул анын белгилүү бир убакытка чейин секирбегенин билдирет. Toggle баскычтын өзгөрүшүн көрсөтүү үчүн колдонулат. Эсептегичтер… үчүн колдонулат. канча убакыт секирик болбогонун эсептөө.

Delta киргизүү менен дебюндалган абалдын ортосундагы айырманы көрсөтөт. Айырмасы болгондо гана эсептегич эсептелет. секирүү аныкталганда эсептегич баштапкы абалга келтирилет (дельта 0).

8 -кадам: Жыйынтык

Image
Image

Эгер баары ойдогудай болсо, азыр Osu ойноо үчүн жумушчу клавиатура болушу керек! боюнча Жеке мен эч кандай кечигүүнү байкаган жокмун. Эгер мүмкүн болсо, мага кабарлап коюңуз. Ошондой эле кандайдыр бир суроолор болсо, эч нерсе сурабаңыз.

V2 жөнүндө мурунку айтылгандар убада катары айтылган эмес, андыктан бул долбоорду кийинкиге калтырбаңыз, анткени сиз V2ди күткүңүз келет.

Сизге клавиатураңыз жагат деп ишенем!

Osu! аты -жөнү: Thomazzz3

Мүчүлүштүктөрдү оңдоо

Эгерде сиз клавиатураңыз менен көйгөйлөр бар деп ойлосоңуз, адегенде текст редакторун ачыңыз жана ар бир баскычты кыска убакытка бир жолу басыңыз.

Бир же бир нече ачкыч иштебейби?

Балким, сиз ширетүү учурунда өчүргүчтү ички жактан жок кылсаңыз болот. Эгерде сизде мультиметр бар болсо, аны үзгүлтүксүздүккө/бипингге коюңуз, Arduino туташпай турганда аны которгучка параллель коюп, баскычты басыңыз. Бул бип болушу керек.

Сиз азыр эле жазган тамгалар Осуда конфигурацияланган баскычтарга дал келеби? ?

Ардуино кодундагы белгилерди биринчи 3 #Definesте өзгөртүңүз ('' керексиз!).

Же Осуңду алмаштыр! конфигурацияланган баскычтарды колдонуу үчүн орнотуулар.

Бир же бир нече баскычтар бир нече жолу кайталанабы?

Чыгуу схемасы сиздин өчүргүчтөрүңүз үчүн иштебейт же туура ширетилген эмес. Сиздин ширетүүчү байланыштарыңызды текшериңиз. Эгерде ал дагы эле пайда болсо, анда 1uF конденсаторунун маанисин байкап көрүңүз. Бул PCB колдонуучулар үчүн абдан оор болот.

Эгерде сизде светодиоддоруңуз менен кыйынчылыктар болсо

Светодиоддор жаркылдайбы?

Бир ширетүүчү байланыш бош болушу мүмкүн. Эгерде сиз ПКБны колдонсоңуз, анда ширетүүчү калай чындыгында басма бетине агып кеткенин ырастаңыз.

Светодиоддордун бири да иштебейби же белгилүү сандагы светодиоддор иштебейби?

Биринчи LEDдин конекцияларынын ортосундагы шорттарды текшериңиз (тректерди ээрчиңиз) жана Arduino жана дагы биринчи LEDдин чыгууларында жакшы туташкан калай бар экендигин текшериңиз. Эгерде туура тастыкталса жана дагы деле кемчилик болсо, анда сиз биринчи диодду алмаштырышыңыз керек болот.

Эгер бул оңдолсо, анда керек болсо кийинки LED үчүн кайталаңыз.

Сунушталууда: