Talaan ng mga Nilalaman:

Osu! Keyboard: 8 Hakbang (na may Mga Larawan)
Osu! Keyboard: 8 Hakbang (na may Mga Larawan)

Video: Osu! Keyboard: 8 Hakbang (na may Mga Larawan)

Video: Osu! Keyboard: 8 Hakbang (na may Mga Larawan)
Video: 🟠 HOTWAV NOTE 12 - DETAILED REVIEW and TESTS 2024, Hulyo
Anonim
Osu! Keyboard
Osu! Keyboard

Kamakailan nagsimula akong maglaro ng isang ritmo na laro na tinatawag na osu! at pagkatapos makita ang isang video ng isang komersyal na mini keyboard naisip ko na magiging isang masayang proyekto na magdisenyo ng isa sa aking sarili. Hindi nagtagal pagkatapos ay nagpasya akong isang magandang ideya na ilagay ito sa mga itinuturo bilang aking unang proyekto.

Kung nais mong kopyahin ang proyektong ito eksakto sa huling tagubilin pagkatapos ay maging panauhin ko, ngunit ang ilan sa mga desicyong ginawa ko ay hindi batay sa pinakamababang presyo o pinakamahusay na kalidad. Ang ilang mga sangkap ay napili halos pulos dahil napahiga ako sa kanila. Kung maaari mong hawakan ito ay hikayatin ko kang ipasadya ang iyong proyekto.

Tandaan 1: Ang mga sangkap ng SMD (maliit na electronics) ay ginagamit kaya kung kinaya mo ang proyektong ito ay kinakailangan ng mga kasanayan sa paghihinang. marahil isang madaling maghinang na bersyon ay maidaragdag ngunit ang mga leds na ito ay hindi darating sa trough hole package

Tandaan 2: Na-update ko ang code nang maraming beses at hanggang sa bersyon 3ish ngayon. Iiwan ko ang lahat ng code sa online ngunit inirerekumenda kong gamitin mo ang huling bersyon. Kasalukuyan itong hindi humantong sa pag-andar ngunit dapat ito ang pinakamahusay na gumaganap.

Hakbang 1: Mga Kagamitan at Paliwanag

Mga Kagamitan at Paliwanag
Mga Kagamitan at Paliwanag

Nakasalalay sa kung paano mo ginawa ang iyong proyekto maaaring kailanganin mo ng iba't ibang mga bahagi, ngunit ang mga sangkap na ito ang ginamit ko. Kung mayroon kang oras at nais na makatipid mony, mag-order form aliexpress at huwag mag-order ng PCB.

1 Arduino pro micro + USB cable

3 Kailh BOX pulang switch

3 10k risistor (0805 SMD)

3 100nF capacitor (0805 SMD)

4 APA102 rgb LED (5050 SMD)

3 Mga Keycap

1 Naka-print na circuit board (PCB) na ibinigay sa proyektong ito

1 3D naka-print na kaso na ibinigay sa proyektong ito

Bakit ako gumagamit ng isang Arduino pro micro?

Karamihan sa mga arduino board tulad ng Uno (Atmega328) ay walang katutubong suporta para sa komunikasyon sa USB. Oo maaari mong i-program ang mga ito sa USB nang napakadali at sa palagay ko may mga workaround, ngunit nais kong panatilihing simple pagdating sa komunikasyon sa USB at hindi ko alam kung ang mga workaround ay tumutugon din. Ang mga board na iyon ay gumagamit ng isang panlabas na maliit na tilad upang gawing posible ang komunikasyon sa USB samantalang ang Arduino pro micro (Atmega32U4) ay naka-built in.

Ang mga switch

Maraming mga mechanical switch na maaari mong gamitin. Linear, tactile o clicky mula sa Kailh o Cherry MX. Piliin kung alin ang gusto mo. Ginamit ko ang mga switch ng Kailh sapagkat ang mga ito ay mura sa Aileiksi. Kung pinili mong gamitin ang PCB kakailanganin mo ang mga switch ng Kailh BOX. Tinutukoy ng kulay ang pakiramdam.

Ang mga elektronikong sangkap

Hindi gaanong maipaliwanag ang tungkol sa mga ito sa kabanatang ito, ngunit kung hindi mo gagamitin ang PCB Gusto ko bang magrekomenda ng normal na mga bahagi ng butas ng butas para sa kadalian ng paghihinang. Sa kasamaang palad ang mga ginamit na leds ay hindi magagamit sa mga pakete ng butas ng butas. Hindi ko rin inirerekumenda na gumamit ng mga wire sa mga pakete ng SMD maliban kung ikaw ay Tiwala sa iyong mga kasanayan sa paghihinang. Kahit na para sa SMD sa isang PCB na "advanced" na mga kasanayan sa paghihinang ay napapantayan.

Ang pabahay

Nagbibigay ako ng isang pabahay sa proyektong ito, ngunit ito ay sa sandaling ito ay nagkamali. Kinakailangan ang mga pagbabago upang magkasya ang mga bolt, ang mga bukana para sa mga leds ay hindi pinakamainam, ang arduino ay nakalantad at ang isang bahagi ay kailangang gupitin upang magkasya ang USB. Sa hinaharap maaaring maidagdag ang isang bagong pabahay. Kung mayroon kang isang 3D printer magpatuloy at i-print ito, ngunit mangyaring huwag lumayo sa iyong paraan upang mai-print ang kasong may kamaliang ito kung wala ka at gumamit lamang ng ilang uri ng kahon ng proyekto.

Hakbang 2: Ang Skematika

Ang Iskolar
Ang Iskolar

Ang eskematiko para sa proyektong ito ay medyo simple, ngunit nais kong ipaliwanag ang mga bahagi para sa mga taong interesado at hindi alam ang pagpapatupad na ito.

Lumipat ng mga koneksyon sa Arduino

Ang mga switch ay konektado sa Arduino pin 0, 2 at 3 sapagkat ang mga pin na iyon ay maaaring magamit bilang panlabas na pagkagambala. Ito ay karagdagang ipinaliwanag sa seksyon ng code.

Ang circuit ng debounce

Sa kaliwang bahagi ng eskematiko ay isang circuit na nakopya ng 3 beses. Ginagamit ang circuit na ito upang madaig ang switch. Upang malaman kung ano ang pag-debug ay kailangan mong maunawaan ang switch bouncing at hindi mahirap maunawaan.

Una tingnan ang simulation na ito upang magpinta ng isang unang larawan (i-click ang switch nang mabilis at tingnan ang signal sa ibaba)

Kapag pinindot mo o pinakawalan ang isang switch ito ay tumatalbog at ang iyong signal ay kahalili sa pagitan ng mataas at mababa ng maraming beses para sa ilang milliseconds. Ang isang Arduino ay talagang mabilis at nagbabasa ng bawat mataas at mababa sa maikling panahong ito. Ang programa ay magpapadala ng isang susi pindutin o palabasin sa tuwing babasahin ang isang mataas o mababa kaya sa bawat pagpindot sa iyong computer ay makakatanggap ng maraming mga key press. Hindi perpekto para sa isang laro ng ritmo.

Ang debounce circuit na ito ay magpapabagal sa pagbagsak ng gilid ng signal. Ang signal sa Arduino ay hindi makakabago nang mabilis hangga't nagaganap ang pag-bouncing kaya't mababasa ito bilang isang pindutin. Huwag mag-alala tungkol sa pagbagsak nito upang mabagal para sa susunod na tunay na pindutin dahil gagawin ito.

Advanced:

Ang Atmaga32U4 ay nagbabasa ng isang digital na mababa sa 0.2Vcc - 0.1V = 0.9 volt. Ang boltahe ng capacitor sa anumang oras sa paglabas nito ay Vcc * e ^ (- t / RC). Kung susukatin mo ang ibang oras ng pag-debug sa iyong switch maaari mong kalkulahin ang iyong mga halaga ng risistor at kapasitor.

form form

Ang mga LED

Ang rgb LEDs ay mga APA102 leds na kung saan ay isa-isang addressing gamit ang isang orasan at linya ng data. Hindi kailangan ng mga panlabas na sangkap upang gumana ang mga ito. Para sa maraming mga LED dapat mong gamitin ang isang capacitor kahilera sa 5 volt at ground ngunit sa 4 na LEDs hindi mo na kailangan ito.

Hakbang 3: Ang Disenyo ng Lupon

Ang Disenyo ng Lupon
Ang Disenyo ng Lupon

Ang PCB ay dinisenyo sa JLCPCB. Hindi ako nai-sponsor ng mga ito ngunit para sa murang mga prototype gumagawa sila ng mga excelent na PCB. Para sa 2 dolyar nakakuha ka ng 10 ng parehong board, ngunit ang pagpapadala ay halos 11 dolyar para sa akin. Kung hindi mo ninanais na gugustuhin ang pag-iilaw ng rgb at planong gumawa ng isa lamang, dapat mong isaalang-alang ang paggawa ng iyong keyboard nang walang PCB.

Ang disenyo ng board ay medyo tuwid. Kailangan ko lamang magdagdag ng isang bahagi para sa mga switch, ngunit pagkatapos ng panonood ng ilang video ay nakuha ko ito. Ang tanging bagay na napagtanto kong pagkukulang ay ang paglalagay ng mga butas ay medyo malapit sa mga switch.

Upang mag-order ng PCB pumunta sa https://jlcpcb.com/ at piliin ang 2 layered na pagpipilian. Hihilingin sa iyo para sa isang Gerber file. i-download ang file na ".zip" at i-drag ito sa window. Hindi mo kailangang i-unzip ito. Ang mga setting ay dapat na maayos at maaari kang magpatuloy at kumpletuhin ang order.

Hakbang 4: Mga Disenyo ng Kaso at Mga Tip sa Assembly

Mga Tip sa Disenyo ng Kaso at Assembly
Mga Tip sa Disenyo ng Kaso at Assembly
Mga Tip sa Disenyo ng Kaso at Assembly
Mga Tip sa Disenyo ng Kaso at Assembly
Mga Tip sa Disenyo ng Kaso at Assembly
Mga Tip sa Disenyo ng Kaso at Assembly
Mga Tip sa Disenyo ng Kaso at Assembly
Mga Tip sa Disenyo ng Kaso at Assembly

Disenyo

Tulad ng mensioned dati, ang aking disenyo ay may pagkukulang ngunit maaari mo pa ring i-print ito kung nais mo. ang disenyo ay ginawa sa Fusion 360. Ito ay isang libreng 3D modeling software at sa aking karanasan mula sa imbentor at solidworks medyo madali itong gumana. Ang mga bilog sa sulok ng kaso ay upang maiwasan ang pagbabalat mula sa naka-print.

Kung gumawa ka ng iyong sariling kaso isang bagay lamang ang talagang mahalaga. Ang iyong mga switch ay kailangang mailagay nang mahigpit at hindi makagalaw. Nagbigay ako ng mga larawan ng mga square cutout na may sukat upang maaari mo itong magamit para sa iyong sariling disenyo na ipinapalagay na gumagamit ka ng mga switch ng Kailh BOX.

Assembly

Ngayon mayroon kang lahat ng mga sangkap na kinakailangan upang tipunin. Mayroong isang order upang tipunin ang unang bersyon na ito sapagkat ang mga switch ay solder.

1. Paghinang ng mga bahagi ng SMD. ito ang mga resistors, capacitor at LEDs.

2. Maghinang ng Arduino pro micro.

3. Ilagay ang 3 switch sa 3D naka-print na coverplate bago maghinang. Ang takip ng takip ay hindi maaaring alisin pagkatapos na maghinang ng mga switch. Ang pagpapalabas ng mga switch ay hindi pinapayuhan at maaaring sirain ang mga ito.

4. Ngayon maghinang ang mga switch sa lugar. Gawin ito nang mabilis hangga't maaari dahil ang mga switch ng plastik ay maaaring matunaw at masira ang mga ito o mabawasan nang husto ang kanilang mga pag-click.

5. Ilagay ang naka-assemble na coverplate sa naka-print na kaso ng 3D at i-secure sa tape o gumamit ng mga bolt kung hindi sila makagambala sa mga keycap.

6. Ilagay ang keyCaps sa mga switch at tapos ka na.

Mga Rekomendasyon

Desiler o takipin ang mga LED sa arduino pagkatapos i-upload ang iyong code. Ang mga leds ay magaling magkaroon kung ang iyong code ay hindi mag-upload ngunit hindi magandang tingnan bilang isang natapos na produkto. Kinakailangan ang kasanayan at matulis na sipit.

Gayundin ang ilang mga paa sa paghawak sa ilalim ay maganda para sa anti slip at hayaang lumiwanag ang ilaw ng rgb.

Hakbang 5: Ang Code V1 (hardware Debounce)

Ang Code V1 (hardware Debounce)
Ang Code V1 (hardware Debounce)
Ang Code V1 (hardware Debounce)
Ang Code V1 (hardware Debounce)

Ang code para sa proyektong ito ay hindi magiliw sa baguhan kaya kung nagsisimula ka lamang mag-program sa arduino kung gayon ang code na ito ay posibleng matakot ka nang kaunti. Subalit susubukan kong ipaliwanag kung ano ang nangyayari sa abot ng aking makakaya. Ang ilang mga bagay ay ipinaliwanag sa kalaunan sa tex na ito kaya kung mayroon kang mga katanungan mangyaring basahin muna ang buong bagay.

Pag-upload ng code

I-download muna ang lahat ng 3 ".ino" na mga file at ilagay ang mga ito sa isang folder. Kung wala kang Arduino IDE i-download lamang ito nang libre sa opisyal na site ng arduino.

Ikonekta ang iyong Arduino sa iyong PC at buksan ang "OSU_Keyboard_code_V1.ino". Sa Tools Board piliin ang "Arduino / Genuino Micro". Gayundin sa Tools piliin ang tamang COM port. Minsan ito ay maaaring magbago. Upang mai-upload ang code sa iyong Arduino mag-click lamang sa arrow sa kanang tuktok ng screen at maghintay hanggang sabihin sa iyo na nakumpleto ito sa kaliwang ibabang bahagi.

OSU_Keyboard_code_V1

Kasama at pagtukoy

Una kailangan mong isama ang library ng Keyboard. Ginagawa nitong posible na gamitin ang Arduino bilang isang keyboard.

Susunod na tinukoy ko ang ilang mga halaga. Ang kahulugan ay tulad ng isang variable ngunit hindi nila mababago habang tumatakbo ang programa. Ang unang 9 ay para sa character na keyboard, numero ng pin ng arduino at mga port bit.

Pagkatapos ang mga port bit ng LED data at orasan.

Gayundin ang bilang ng mga leds ay tinukoy at isang variable para sa anggulo ng kulay ng gulong.

Pag-set up

Ang bahaging ito ng code ay maisasagawa lamang nang isang beses kapag ang arduino ay naka-plug in.

Una ang orasan at mga data pin ng mga LED ay itinakda bilang mga output at ang mga switch pin bilang mga input. Ito ang advanced na bersyon ng pinMode (). Kung interesado kang maghanap para sa "direktang pagmamanipula ng port".

Simula lamang ng Keyboard.begin () ang koneksyon sa usb bilang keyboard.

Susunod na 3 mga pagkagambala ay naka-link sa mga switch switch. Sa tuwing may napansin na pagbabago sa switch pin isang maliit na programa ang naisakatuparan. Ang maliit na program na ito ay gagawin pa.

Loop

Ang bahaging ito ay patuloy na ulitin habang ang arduino ay pinalakas.

Ginagamit ko lang ito upang baguhin at i-update ang kulay ng mga LED.

Nakagambala

Dito ang mga maliliit na programa, na naisasagawa lamang kapag ang isang pagbabago ay napansin sa mga switch switch, ay ginawa. Magkapareho ang mga ito maliban sa kung aling pin ang reaksyon nila.

Sinusuri muna nito kung ang pindutan ay pinindot o inilabas at nagpapadala ng tamang utos sa keyboard.

LED (ipinaliwanag sa ibang pagkakasunud-sunod)

Kung gusto mong malaman kung paano kontrolado ang mga LED dapat mong tingnan ang datasheet ng APA102.

OneBit

Ito muli ang direktang bersyon ng pagmamanipula ng port ng digital na pagsulat.

Una susuriin nito kung dapat itong magpadala ng 0 o 1 at ayon sa pagkakabanggit hinihila ang data pin na mababa o mataas. Pagkatapos ay isinusulat nito ang orasan na mataas ang pin at napakaliit at isinusulat ito nang mababa ulit.

OneByte

Inuulit nito ang oneBit ng 8 beses sa isang "para" na loop. Binabasa nito ang unang bit sa isang byte at ipinapasa ang halaga nito sa oneBit function at ginagawa ang pareho para sa susunod na 7 bits.

LedData

Inuulit nito ang oneByte ng 4 na beses upang maibigay ang data na kinakailangan para sa isang led. Ang unang byte ay nagsisimula sa 111xxxxx at isang 5 bit na halaga ng ningning sa lugar ng xxxxx. Ang ilaw ay maaaring itakda mula 0 hanggang 31 (2 ^ 5 = 32 mga antas).

Ang susunod na 3 byte ay para sa asul, berde at pulang mga halaga. Isang byte para sa bawat kulay.

ColorWheelThisLed

Ang pagpapaandar na ito ay tumatawag sa ledData ay binibigyan ito ng mga kulay ng rgb depende sa isang anggulo sa kulay ng gulong.

Ang 16 bit na halaga ay dividend sa 6 pantay na spaced na seksyon ng 60 degree. Ang pagtingin sa mga imahe ay maaaring makatulong sa iyo na higit na maunawaan.

(isang 8 bit na bersyon ay ibinigay din ngunit nagkomento dahil ito ay masyadong flickery)

StartEndFrame

Ang start frame ay kailangang gamitin sa tuwing nais mong magpadala ng mga bagong kulay sa mga leds at nais na i-update ang aktwal na kulay ng mga leds

Gumagamit lang ako ng start frame dahil hindi kinakailangan ang endframe. Ang start frame ay 4 bytes ng 0. Ang end frame ay 4 bytes ng 255 (11111111).

Hakbang 6: Ang Code V2 (software na Pag-debate sa Mga Timer)

Ang Code V2 (software Debounce With Timers)
Ang Code V2 (software Debounce With Timers)

Makalipas ang ilang sandali ng paglalaro napansin ko ang ilang mga problema sa pag-tap ng dobleng sa pag-deb deb ng hardware. Maaari itong maayos sa ilang iba pang mga resistors o capacitor ng halaga, ngunit dahil ang mga pindutan at talukap ng mata ay hindi naaalis naisip ko ang pag-debug ng software ay magiging isang magandang solusyon. Ang pag-debug ng software ay dapat na gumana ng wether hardware debounce ay ipinatupad o hindi. Sa aking kasalukuyang pag-setup ay hindi ko tinanggal ang takip kaya't iniwan ko lamang ang mga resistors at capacitor.

Hindi ko ipaliwanag ang code nang malawakan tulad ng naunang bersyon dahil medyo mahirap ipaliwanag.

Karaniwan ang karamihan sa mga code ay gumagana nang pareho at ang led code ay naiwang hindi nagalaw. ang nagbago ay ang mga panlabas na pagkagambala ay hindi na gumagamit ng mga function ng arduino. Ngayon ay gumagana ito sa purong C code. At ngayon kung ano ang idinagdag ay makagambala ang software. Para sa mga ito ginamit ko ang mga timer ng AVR upang maghintay ng isang tiyak na tagal ng oras hanggang sa tumigil ang pagba-bounce. Dahil ang mga timer ay nakakagambala batay sa oras ng pagbagsak ay hindi naiimpluwensyahan ng anumang nangyayari sa loop.

Ang tanging downside na maaari kong makabuo ay ang mga pagpapaandar ng pagkaantala ng arduino ay hindi na maaaring gamitin. Dahil ang mga pagpapaandar na pagpapaandar ay gumagamit ng Timer 0 at ang program na ito ay gumagamit ng Timer 0 upang mag-debounce.

Sa imahe maaari mong makita kung paano gumagana ang code. Ipinapahiwatig ng mem bit kung tumatakbo ang isang timer. Ang hindi inilalarawan ay ang kaso na sa dulo ng pindutan pindutin ang input ay mababa. Sa kasong ito isang keypress lamang ang ipapadala habang ang pindutan ay inilabas na. Na nangangahulugang ang susi ay pipigilan hanggang sa ang computer ay nababahala. Para sa bihirang pagbubukod na ito ang isang tseke ay preformed kapag nag-expire ang isang timer. Kung sa pagtatapos ng isang timer ang pindutan ay hindi pinindot, isang keyrelease na utos ang ipapadala.

Hakbang 7: Ang Code V3 (software Debounce With Vertical Counter) (inirerekumenda) (walang LED)

Ang Code V3 (software Debounce With Vertical Counter) (inirekomenda) (walang LED)
Ang Code V3 (software Debounce With Vertical Counter) (inirekomenda) (walang LED)

Ang code na ito AY mayroon ding isang bersyon kung saan hindi mo kailangan ng pull down resistors. Tiyaking ikinonekta mo ang bawat pindutan sa input at GROUND! Ginamit ang build-in na pull-up

Naranasan ko rin ang ilang mga hindi rehistradong pagpindot sa code V2. Sa palagay ko ang code ay naging kumplikado lamang sa timer nito at panlabas na nakakagambala at maaaring napalampas ko ang ilang mga pagbubukod. Para sa kadahilanang ito sterted ako mula sa simula sa paghahanap sa internet para sa mga pamamaraan ng pag-debounce ng software.

(sa totoo lang, hindi bababa sa kalahati ng proyektong ito ay naging pindutan ng pag-debit sa puntong ito)

Pagkatapos ng ilang paghahanap ay nahanap ko ang post na ito:

www.compuphase.com/electronics/debouncing….

Upang maging matapat, natagalan ako upang lubos kong maunawaan kung paano ito eksaktong gumagana. Nagsasangkot ito ng ilang masalimuot na kaunting manipulasyon, ngunit susubukan kong gawin itong kasing dali hangga't maaari. Gayunpaman, ang aking mga paliwanag ay magiging isang karagdagan lamang sa post kaya dapat mo man lang basahin ang "mga patayong counter", "isang anotadong pagpapatupad" at "pagbawas ng latency".

Ang paliwanag ko

Ang diagram ng tiyempo (ginawa sa WaveDrom) na idinagdag ko ay dapat gawin itong mahirap maunawaan ang bit matematika kahit papaano mas maintindihan. Tandaan na ang imahe ay may 2 counter bits, ngunit ang aking code ay may 3. Nangangahulugan ito ng mas mahabang oras ng pag-debounce.

Isang piraso bawat halaga

Gamit ang patayong counter pagpapatupad posible na i-debug ang maraming mga pindutan nang sabay, sa kahanay. Ang lahat ng mga halaga ay uri ng Byte (uint8_t) at binubuo ng 8 bits. hindi kami nag-aalala kung anong halaga ang naglalaman ng alinman sa mga byte na ito, ngunit sa halip ay interesado kami sa mga piraso sa kanilang sarili. Ang bawat buton na maipapapula ay gumagamit lamang ng isang piraso ng bawat byte. Ang unang pindutan ay gumagamit lamang ng unang piraso ng bawat byte, ang pangalawang pindutan ay gumagamit ng pangalawang bit atbp.

Lahat nang sabay

Sa pamamagitan ng paggamit ng bit math posible na maisagawa ang mga pin debounces na ito sa parallel. At, kahit na ang bit matematika ay medyo kumplikado, napakahusay para sa processor.

Sa isang uri ng 8 bit na data posible na gawin ito para sa 8 mga pindutan. Ang paggamit ng mas malalaking mga datatypes ay nagbibigay-daan para sa higit pang mga pag-debounce nang sabay-sabay.

Ang debate

Isinasagawa ang nakagawian na debounce bawat 1 millisecond na may isang nakakagambala na timer.

kapag ang pindutan ay pinindot ang pindutan ng Estado, na kung saan ay ang debzed estado, ay emedeately pumunta mababa, na nagpapahiwatig ng isang pindutan pindutin. Upang makita ang isang paglabas ang pindutan ay dapat na mataas para sa sapat na haba, na nagpapahiwatig na hindi ito nag-bounce para sa isang tiyak na oras. Ginagamit ang Toggle upang ipahiwatig ang isang pagbabago ng pindutan. Ginagamit ang mga counter bit para sa …. binibilang kung gaano katagal hindi nagkaroon ng isang bounce.

Ipinapahiwatig ng Delta ang isang pagkakaiba sa pagitan ng input at ng na-debond na estado. Kapag may pagkakaiba lamang ay bibilangin ang counter. ang counter ay mare-reset kapag may nakita na isang bounce (ang delta ay 0).

Hakbang 8: Ang Resulta

Image
Image

Kung naging maayos ang lahat dapat mayroon ka na ngayong gumaganang keyboard upang i-play ang Osu! sa Hindi ko napansin ang anumang latency sa lahat. Kung mangyaring ipaalam sa akin. Gayundin kung mayroong anumang mga katanungan huwag mag-atubiling magtanong ng kahit ano.

Ang mga nakaraang pagbanggit tungkol sa isang V2 ay hindi tinukoy bilang isang pangako kaya huwag ipagpaliban ang proyektong ito dahil nais mong maghintay para sa V2.

Inaasahan kong nasiyahan ka sa iyong keyboard!

Osu! pangalan: Thomazzz3

Pag-troubleshoot

Kung sa palagay mo nagkakaroon ka ng mga problema sa iyong keyboard, buksan muna ang isang text editor at pindutin ang bawat key nang isang beses sa isang maikling panahon.

Hindi gagana ang isa o maraming susi?

Posibleng nawasak mo ang isang switch sa loob habang naghihinang. Kung mayroon kang isang multimeter ilagay ito sa pagpapatuloy / beeping, ilagay ito parallel sa switch habang ang Arduino ay hindi konektado at pindutin ang key. Dapat itong beep.

Ang mga character ba na na-type mo lang ay tumutugma sa mga key na na-configure mo sa Osu! ?

Baguhin ang mga character sa arduino code sa unang 3 #Defines ( hindi nessecary!).

O baguhin ang iyong Osu! mga setting upang magamit ang mga naka-configure na key.

Ang isa o maramihang mga susi ay paulit-ulit na ilang beses?

Ang debounce circuit ay maaaring hindi gumana para sa iyong mga switch o hindi wastong na-solder. Suriin ang iyong mga koneksyon sa solder. Kung nangyayari pa rin ito subukan ang isang halaga ng capacitor ng 1uF. Napakahirap para sa mga gumagamit ng PCB.

Kung nagkakaproblema ka sa iyong mga LED

Kumikislap ba ang mga LED?

Ang isang koneksyon sa solder ay maaaring maluwag. Kung gagamitin mo ang PCB kumpirmahin ang soldering lata na realy na dumaloy sa pad sa print.

Wala ba sa mga leds ang gumagana o mula sa isang tiyak na bilang ng mga LED na tumitigil sa paggana?

Suriin ang mga shorts sa pagitan ng mga koneksyon ng unang LED (sundin ang mga track) at suriin para sa mahusay na konektadong lata sa mga output ng Arduino at muli ang unang LED. Kung nakumpirma na tama at depekto pa rin maaaring kailanganin mong palitan ang unang LED.

Kung inaayos nito ulitin ito para sa mga susunod na LED kung kinakailangan.

Inirerekumendang: