Talaan ng mga Nilalaman:

Pasadyang Macro Mechanical Keypad: 12 Hakbang (na may Mga Larawan)
Pasadyang Macro Mechanical Keypad: 12 Hakbang (na may Mga Larawan)

Video: Pasadyang Macro Mechanical Keypad: 12 Hakbang (na may Mga Larawan)

Video: Pasadyang Macro Mechanical Keypad: 12 Hakbang (na may Mga Larawan)
Video: BEST VALORANT team EVER? Fnatic win Masters Tokyo! — Plat Chat VALORANT Ep. 138 2024, Hulyo
Anonim
Pasadyang Macro Mechanical Keypad
Pasadyang Macro Mechanical Keypad
Pasadyang Macro Mechanical Keypad
Pasadyang Macro Mechanical Keypad
Pasadyang Macro Mechanical Keypad
Pasadyang Macro Mechanical Keypad
Pasadyang Macro Mechanical Keypad
Pasadyang Macro Mechanical Keypad

Sa Instructable na ito, dadalhin kita sa mga pangunahing kaalaman sa paglikha ng iyong sariling 6 keyed macropad, na kinokontrol ng isang Arduino. Dadalhin kita sa iyo kung ano ang kailangan mo, kung paano ito tipunin, paano i-program ito, at kung paano ito mapahusay o gawin itong iyong sarili.

Matapos ang labis na pagsasaliksik, hindi talaga ako nakakahanap ng mahusay na gabay sa kung paano gumawa ng isang macro keypad, o isang kamay na may wired keyboard sa pangkalahatan. Kaya't nagpasya akong gawin ito sa aking sarili, sa pinakasimpleng paraan na posible, nang walang mga diode, resistor, o anupaman. Nais ko ring magkaroon ng isang natatanging modular keyboard, kung saan makakakuha ako ng anumang mga bahagi na kailangan ko, ito ang una sa maraming iba pang mga bahagi. Ang inspirasyon ng modyul na ito ay mula sa mga arrow key sa isang keyboard, na maipasok ito sa iyong bulsa, at dadalhin ito saanman kung kailangan mo ng ilang dagdag na mga pindutan on the go.

Dahil sa kung paano ginawa ang keypad na ito, lubos kong inirerekumenda na basahin mo ang lahat ng Maituturo bago ka gumawa ng anumang mga desisyon sa pagbili.

Sinubukan ko ring gawin ang Makatuturo sa isang lohikal na pagkakasunud-sunod, ngunit hindi ako bumuo ng lohikal, kaya maaaring mas mahusay na lumaktaw sa pagkakasunud-sunod ng mga hakbang depende sa kung paano ka bumuo.

Hakbang 1: Pagkuha ng Mga Bahagi

Pagkuha ng Mga Bahagi
Pagkuha ng Mga Bahagi

Ang pinakamahabang hakbang ay narito mismo, pagbili ng mga piyesa at paghihintay sa kanilang maipadala. Ang mga link sa Amazon ay magiging Amazon Amazon. Ang mga bahagi na kakailanganin mo ay:

  1. Mga switch ng mekanikal na Key

    • Pinili ko ang mga switch ng Gateron na may malinaw na mga tuktok mula dito (Ang mga malinaw na tuktok ay ginagawang madali ang susunod na hakbang, ang pinaka-karaniwang mga uri ng switch ay sakop din doon)
    • Ang iba pang mga lugar na bibilhin ay matatagpuan dito sa ilalim ng iyong paboritong seksyon ng switch

      Masidhing inirerekumenda ko rin ang pagsasaliksik dito sa kung anong switch ang nais mo dito sa ilalim ng seksyong 'Feels'

  2. Mga mekanikal na Keycap

    • Tiyaking tugma ang mga ito sa iyong switch na pinili mo!

      Siguraduhin din na ang mga ito ay back light na magkatugma upang mabago mo ang kulay

    • Ang mga vendor ay matatagpuan dito sa ilalim ng seksyong 'Novelty Keys (karaniwang pagmamanupaktura)', maliban kung nais mo ang isang buong hanay ng Keycap
  3. Maaaring matugunan ang mga piraso ng RGB LED (Opsyonal, ngunit lubos na inirerekomenda)

    • Bumili ako ng katulad sa mga ito mula sa Amazon

      • Tiyaking ang mga LED ay WS2812B LEDs, tatanggapin nila ang isang mas mababang boltahe.
      • Maaari ka ring bumili ng 3mm regular na LED ng iyong paboritong kulay na gagamitin, ngunit kakailanganin mo ng resistors
  4. Isang katugmang HID micro controller (Gumamit ako ng isang Pro Micro)

    • Binili ko ang mga ito mula sa Amazon para sa pinakamahusay na deal

      Maaari kang bumili ng iba pang mga micro controler, ngunit tiyakin na pareho silang pareho ng Arduino at HID (human input device) na magkatugma

  5. Isang 128x32 I2C OLED display

    Binili ko ito mula sa Amazon

  6. Pag-access sa isang 3D printer

    • Subukan kasama ang mga lokal na aklatan o paaralan sa paligid mo at tingnan kung mayroon silang 3D printer
    • Personal na hindi ako gumamit ng isang serbisyong online, ngunit maaari mo ring gamitin ang mga iyon (katulad nito)
  7. Manipis na Wire
  8. Kailangan ng Mga Pangkalahatang Kasangkapan

    • Panghinang na Bakal at Maghinang
    • Mga Side Cutter Plier
    • Maliit na Mga File (Medyo opsyonal)
    • Mainit na Pandikit at Pandikit
    • Screwdriver at mga tornilyo na iyong pinili

Hakbang 2: Mga Pagbabago ng Keyswitch

Mga Pagbabago ng Keyswitch
Mga Pagbabago ng Keyswitch
Mga Pagbabago ng Keyswitch
Mga Pagbabago ng Keyswitch
Mga Pagbabago ng Keyswitch
Mga Pagbabago ng Keyswitch

Simulang i-disassemble ang mga switch na iyong binili. Ginagawa namin ito upang payagan ang ilaw na lumiwanag nang mas mahusay upang maabot ang aming mga keycaps. Kung pinili mo ang mga keycaps na hindi sumusuporta sa RGB, laktawan ang hakbang na ito.

Kumuha ng 2 maliit na wedges (Gumamit ako ng 2 flathead screwdriver bits) at itulak sa ilalim ng mga tab sa gilid ng switch. Pagkatapos maglagay ng isang bagay sa pagitan ng tuktok at ibaba upang hindi ito isara. Magpatuloy upang itulak ang mga tab ng kabilang panig, kaya't walang mga tab na dapat pa ring hawakan ang tuktok. Pagkatapos nito, tapusin at i-pop ang tuktok ng switch. Karaniwan ay may apat na bahagi, ang tuktok at ilalim ng pambalot, tagsibol, at ang tangkay (sliding bahagi ng switch na humahawak sa keycap).

Simulang gupitin ang maliliit na piraso ng labas ng kaso upang payagan ang higit na ilaw. Gupitin muna ang tab na humahawak sa switch sa plato. Pagkatapos ay gupitin ang kaunti ng orihinal na LED na dumaan, (ang bahagi na may 4 na butas, iyon ay para sa mga binti ng LEDs). Dahan-dahang binawasan ang tab na iyon sa loob upang bumaba sa ibaba. Pagkatapos ay magpatuloy upang i-cut hanggang sa cylindrical center ng switch na humahawak sa tagsibol. Hindi namin kailangang lumayo pa kaysa doon. Pagkatapos nito, palawakin nang kaunti ang butas, sa pamamagitan ng dahan-dahan na pagputol ng magkabilang panig sa mga paunang hinulma na suporta. Ang isa pang opsyonal na hakbang ay i-file ito, upang gawing mas maganda, at mas mababa sa jagged. Siguraduhin na mayroong maliit na walang mga plastik na piraso sa loob ng pambalot mula dito, dahil hindi mo nais na ma-stuck ang switch. Tiyaking gawin ang mga pagbawas na ito nang mabagal at maliit, dahil nasira ko ang ilang mga kaso mula sa lapad ng mga cutter sa gilid na pinipilit ang kaso.

Kung ang tuktok na kalahati ng iyong switch ay hindi malinaw din, subukang baguhin ito upang payagan ang ilaw na lumiwanag. Subukang unti-unti nang hindi binabali ang switch, dahil hindi mo nais na mahulog ang tangkay. Ang isang posibleng solusyon ay maaaring upang gupitin ang piraso ng plastik na magtataglay ng isang normal na LED, at iwanan ang plastik na nagpapanatili sa tangkay na nakapaloob, at isasara lamang ito.

Hakbang 3: Pag-print ng 3d

Pag-print ng 3d
Pag-print ng 3d

Kakailanganin mong i-download ang isa sa mga zip file sa ibaba, at i-print ang mga ito ng 3d. Magkakaroon ng iba't ibang mga bersyon depende sa gusto mo. Magkakaroon ng isang folder kasama ang lahat ng normal na mga file ng stl dito (KeybArrowSTLFiles), at isa kasama ang mga file ng imbensyon ng Autodesk (KeybArrowSourceFiles), upang mabago mo ang mga file at baguhin ang mga ito sa iyong sariling mga pangangailangan. Ang mga file ay bahagyang naiiba mula sa kung ano ang nai-print ko, ito ay dahil mayroong ilang mga kakulangan sa disenyo, at naramdaman kong mapabuti ko sila. Ang halimbawa ay magiging mga panig ng kaso, ang sa akin ay medyo masyadong mataas kaya ang mga keycaps ay hindi itulak hanggang sa ibaba, dapat ayusin iyon ng mga bagong file.

Ang disenyo ng mga ito ay medyo kumplikado, na may higit sa 30+ na mga hakbang. Ang sasabihin ko lang ay kung nais mong mag-disenyo ng isang kaso para sa ibang laki, dapat mong tiyakin na mayroon kang karanasan sa medyo kumplikadong mga disenyo ng 3d. Hindi talaga para sa mga taong bago sa disenyo ng 3d.

Tandaan na ang pareho ng mga file ng pambalot ay nasa isang degree na 3 degree, at dapat mong i-anggulo ang mga ito nang patag sa kama

Hakbang 4: Pagtitipon Kung Ano ang Mayroon Ka Ngayon

Pagpupulong Kung Ano ang Mayroon Ka Ngayon
Pagpupulong Kung Ano ang Mayroon Ka Ngayon
Pagpupulong Kung Ano ang Mayroon Ka Ngayon
Pagpupulong Kung Ano ang Mayroon Ka Ngayon
Pagpupulong Kung Ano ang Mayroon Ka Ngayon
Pagpupulong Kung Ano ang Mayroon Ka Ngayon
Pagpupulong Kung Ano ang Mayroon Ka Ngayon
Pagpupulong Kung Ano ang Mayroon Ka Ngayon

Ngayon na mayroon kaming lahat ng aming mga bahagi, at mayroon kaming mga naka-print na bahagi ng 3d, oras na upang tipunin ito nang kaunti!

Ilagay ang lahat ng 6 na mga switch sa plato, at idikit ito sa lugar. Kailangan nating idikit ang mga ito dahil pinutol namin ang mga tab na humahawak nito sa lugar. Iminumungkahi kong maghintay na ilagay sa OLED dahil hindi mo nais na madulas ito.

Susunod, gupitin ang 6 na LED at ilagay ang mga ito sa LED plate. Ang mga parisukat sa plato ay upang matulungan kang ihanay ang mga LED. Ang mga parisukat na LEDs ay magkakasya sa kanila, kaya maaari kang mag-print ng 3d ng isa pa upang matulungan ang pagkakahanay, o i-linya lamang ito mula sa likuran. Siguraduhin na ang mga arrow ay tumuturo sa iba pang mga LED, tulad ng DO na solder sa DI. Gamitin ang mga parisukat na iyon upang ipako sa mga LED na may mainit na pandikit, at hawakan ang mga ito sa lugar at hintaying hawakan ng pandikit.

Gumamit ako ng isang plate na prototype para sa mga switch upang hawakan ang mga LED (sa mga imahe) dahil hindi ko nais na sayangin ang filament, at nagpasya na muling gamitin. Ang bagong file ay hindi makakaapekto sa anumang bagay, gawin lamang itong mas simpleng pag-align.

Hakbang 5: Pag-set up ng OLED

Pag-set up ng OLED
Pag-set up ng OLED
Pag-set up ng OLED
Pag-set up ng OLED
Pag-set up ng OLED
Pag-set up ng OLED

Inirerekumenda ko ang paggamit ng Instructable na ito para sa isang masusing lakad. Napakahusay nilang ginawa sa pagpapaliwanag nito.

Kakailanganin mong i-download at i-import ang library na ito at ang library na ito upang gumana ang code.

I-wire muna ito. Wire VCC sa VCC, at GND sa GND. Pagkatapos i-wire ang mga pin ng SDA at SCL. Ang mga SDA at SCL na pin ay maaaring magkakaiba mula sa bawat Arduino, ngunit sa pro micro, ang SDA ay wired hanggang sa pin 2, at ang SCL ay wired up upang i-pin 3. Maghanap ng isang pinout ng iyong micro controller kung hindi ka sigurado sa kung anong mga pin ang SDA at ang SCL ay naka-wire sa.

Susunod ay upang makuha ito sa pagpapakita at paggawa ng mga imahe. Magkakaroon ng mga file sa ibaba kung paano ito gumagana. Ang unang hakbang ay ang paggamit ng code ng ScreenScan (orihinal na ibinigay ng Arduino dito). I-upload ang code sa Pro Micro at buksan ang Serial reader (sa ilalim ng tab na mga tool sa itaas). Babasahin ka nito pabalik at address ng OLED. Kung ang iyong address ay 0x3C, hindi mo na kailangang baguhin ang anuman. Kung hindi ito, kailangan mong pumunta at baguhin ang address sa ssd1306_128x32_i2c code at ang pangwakas na code (pinangalanang ArrowKeypad) upang ito ay gumana nang maayos.

Ngayon subukan ang halimbawa ng code na kasama sa Adafruit ssd1306 library na para sa 128x32 i2c code (pinangalanang ssd1306_128x32_i2c)

Pagkatapos nito, panatilihin ang Arduino, at subukang ihanay ang OLED sa switch plate, pagkatapos ay i-off ito at subukang idikit ito sa lugar. Malamang na hindi mo masusubukan ang unang pagsubok na ito, ngunit panatilihin ang pagsasaayos upang subukang gawing nakahanay ito, upang hindi ito angulo kapag nakumpleto ito. Iminumungkahi ko ang pagdikit ng isang gilid nang kaunti, at suriin bago mo idikit ang kabilang panig upang matiyak na hindi ito madulas.

I-download ang code ngayon, at gamitin ang iba pang mga file ng code sa Hakbang 8 sa paglaon sa Instructable na ito

Hakbang 6: Paghihinang

Paghihinang
Paghihinang

Ang isang Fritzing file ay magagamit sa ibaba. Papayagan ka nitong makipag-ugnay sa circuitry at kung umalis ka sa pag-click at paghawak, maaari mong makita kung anong mga wire ang nakakonekta (naka-highlight sa mga dilaw na tuldok) na mga file na kailangang i-import sa Fritzing bago mo buksan ang file ay bababa sa ibaba (para sa ang Pro Micro at LEDs).

Tiyaking ang mga pin na nilagyan ng label na "MOSI, MISO o SCLK" ay UNUSED o magdudulot ito ng mga glitches sa OLED

Matapos i-cut ang 6 LEDs sa iisang piraso, at idikit ang mga ito sa plato. Ilagay ang soldering iron sa mga tanso na tanso, at magdagdag ng panghinang sa bawat isa sa mga pad. Gupitin ang maliliit na piraso ng kawad at hubasin ang kalahati nito, iikot ito, pagkatapos ay kunin ang iba pang kalahati at iikot ang kawad. Kailangang hawakan ang kawad gamit ang mga pliers o ilang mga kamay na tumutulong sa paghihinang, habang hinahawakan mo ito sa lugar ng solder. Magdagdag ng higit pang panghinang upang hawakan ito doon ng maayos. Maghinang lahat ng mga LED sa hilera nang magkasama. Gupitin ang isang kawad, at solder ito sa dulo ng LED sa unang hilera, gamit ang label na 'DO' o 'D-', at ikonekta ito sa unang LED sa pangalawang hilera na may label na 'DI' o 'D + '. Maaari mo ring gawin ito sa 5v at GND din, ngunit mas madali kung ang mga unang LED 5v at GND sa bawat hilera ay magkakasamang naka-wire. Wire ang 5v wire sa VCC, Data pin sa anumang digital pin (ang code ay itinakda bilang 10) at GND sa isang GND sa Arduino.

Upang makilala ng Arduino ang isang input, ang mga switch ay kailangang kumonekta sa lupa sa isang pin ng data. Kaya, maaari kang maghinang ng isang kawad upang ikonekta ang lahat ng 6 na switch sa lupa. Maghinang ng isang kawad sa bawat switch, at kung maaari, subukang baguhin ang mga kulay ng kawad upang subaybayan kung anong switch ang kung anong wire. Pakanin ang mga wire sa pamamagitan ng LED plate at i-wire ang mga ito sa isang data pin sa Arduino (Gumamit ako ng mga data pin na 5-9 para dito)

Ang dalawang switch sa gilid ay may iba't ibang mga pag-andar, ang isa ay isang reset switch para sa programa, habang ang isa ay isang switch ng pag-andar, na lilipat sa pagitan ng mga layer ng Keypad upang mabilis na mabago ang mga pagpapaandar ng mga pindutan. Ang tuktok na switch, ay wired upang i-reset (RST) at GND, kapag nakakonekta, sanhi ito ng pag-reset. Ang ilalim na switch ay wired hanggang sa pin 18, na kung saan ay may label na A0 sa Pro Micro. Bigyan ang iyong sarili ng isang slack sa switch wires, dahil kailangan mo pa ring mag-slide sa mga plato, at masyadong maliit ang isang kawad ay hindi papayagan ang plate na isingit sa tuktok.

Hakbang 7: Panimula sa Programming

Panimula sa Programming
Panimula sa Programming

Bago mo nais na isara ang kaso, nais mong subukan ito at tiyakin na gagana ito. Maaari kang lumaktaw sa hakbang 11 upang tipunin ito ngayon. Nalaman ko lamang na ang pagsubok dito muna ay nakakatulong upang mabawasan ang dami ng mga oras na buksan at isara mo ito. Kahit na hindi ito dapat makaapekto nang husto, ginamit ko ang bersyon ng Arduino IDE na 1.8.3, kaya't kung mayroon kang mga isyu, subukang gamitin ang bersyon na ito. Ang code ay nasa Hakbang 5, ito ay isang zip file na kakailanganin mong i-extract at i-upload sa pamamagitan ng Arduino.

Magkakaroon ng maraming mga piraso ng code sa ibaba. Ang isa ay ang pangwakas na code, ang dalawa ay upang subukan ang OLED (Isa upang subukan, isa upang hanapin ang address), at ang isa ay upang subukan ang RGB. Gamitin ang pangwakas na code upang subukan ang mga switch.

Kung nais mong mag-disenyo ng iyong sariling code, itinuturo ko iyon sa susunod na 3 mga hakbang, ngunit lubos na mainam kung nais mong gamitin ang aking code, o gawin ito at baguhin ito.

Ang ilang mga pangunahing kaalaman sa pag-program na ito

  • Sa ilalim ng tab na "Mga Tool", pagkatapos ay ang tab na "Lupon", itakda ito sa isang Arduino Leonardo (Maliban kung mayroon kang isang micro controller na naiiba mula sa Pro Micro)
  • Gamitin ang switch ng pag-reset tuwing nag-a-upload ka ng code sa Pro Micro. Nalaman ko na kapag ang compiling bar ay puno na, at nag-a-upload pa rin, magandang panahon na i-flick ang switch on at i-off sa programa. (Kung hindi mo ito gagawin, mabibigo lamang ang pag-upload.)
  • Lahat ng ginamit na Aklatan ay dapat na mai-install at mai-import

    Upang mag-import, pumunta sa tab na mga tool at i-click ang isama ang library. (Tandaan din, ang aking mga halimbawa ng code sa webpage ay kailangang magkaroon ng paligid ng pangalan ng library, hindi ko maipasok ang mga ito sa seksyon ng halimbawa ng code sa mga susunod na ilang hakbang)

  • Ang mga aklatan ng LED at OLED ay sisimulan bilang mga bagay, maaari mong pangalanan ang mga ito kung anuman, ngunit alang-alang sa pagpapakita ay pangalanan ko silang 'strip' at 'display'

    Tumawag sa mga pagpapaandar mula sa isang bagay sa pamamagitan ng pagta-type ng pangalan ng object, paglalagay ng isang panahon, pagkatapos ay pag-type ng pagpapaandar na nais mong gamitin

Susunod na subukan ang mga LED, i-upload ang code, at tiyaking gumagana ang lahat. Kung walang gumagana, ang iyong nawawalang isang pin na pupunta sa kanila, suriin ang iyong paghihinang ng unang LED.

Panghuli, gamitin ang pangwakas na code upang subukan ang iyong mga switch. Ito dapat ang pinakamadaling gawin. Tandaan na ngayon, pagkatapos mag-upload ng ilang HID code, kakailanganin mong i-reset ang Arduino sa tuwing mag-a-upload ka ng code dito. I-reset lamang ito sa kalahati sa pamamagitan ng pag-upload nito at dapat itong gumana.

Hakbang 8: Pag-program ng Mga switch

Pagprogram ng mga switch
Pagprogram ng mga switch
Pagprogram ng mga switch
Pagprogram ng mga switch

Sa labas ng lahat ng mga programa, ang mga switch ay ang hindi gaanong kumplikado. Upang makilala ito bilang isang keyboard, ang kailangan mo lang gamitin ay ang Arduino Keyboard library, at mga kondisyong pahayag. Tiyaking sa ilalim ng tab na Mga Tool, ang Lupon ay nakatakda sa isang Arduino Leonardo kung gumagamit ka ng isang Pro Micro na tulad ko.

Bago kami magsimula sa mga kondisyong pahayag, kailangan naming i-setup ang mga pin. Kailangan lang namin ito upang tumakbo nang isang beses, kaya ilagay ito sa void setup. Magsimula sa pinMode (PinNum, INPUT_PULLUP); Sinasabi nito sa Arduino na ang PinNum ay umaasa ng isang input, at nagdaragdag ito ng isang pullup risistor (upang hindi namin kailangan na mag-wire ng anuman sa hardware)

Ang input pullup ay may 2 estado, mababa at mataas. Babasahin ng Arduino ang LOW sa isang pin kapag nakakonekta ito sa Ground (GND) at babasahin ang TAAS kapag na-disconnect ito. Upang malaman kung ano ang binabasa ng pin, gumagamit kami ng digitalRead (PinNum).

Simula sa mga pangunahing kaalaman, gumagamit kami ng kondisyon kung ang mga pahayag upang malaman kung ang susi ay pinindot. Gusto namin itong tumakbo nang paulit-ulit kaya nais naming mailagay ito sa void loop. Kung ang susi ay nakarehistro bilang "LOW" pagkatapos ay nais naming mapindot ang key, at ilalabas ang key kapag ang input ay "TAAS". Kaya upang gawin ito, nag-i-code kami kung (digitalRead (PinNum) == LOW) {[Code for when the button was press]} and code if (digitalRead (PinNum) == HIGH) {[Code for when the button is dirilis] }

Para sa code para sa keyboard, i-import ang library ng Keyboard. Maglagay ng isang keyboard.begin (); sa walang bisa na pag-set up. Pagkatapos sa loob ng aming mga kondisyon na pahayag, gumagamit kami ng keyboard.press ([key]); at keyboard.release ([key]); o keyboard.releaseAll (); kung mayroon kang maraming mga pindutan na pinindot. Maaari mo ring gamitin ang keyboard.print ([String]); at keyboard.println ([String]) upang mag-print ng mga string, tulad ng isang password. ang print at println ay magkatulad, ngunit ang println ay nagdaragdag lamang ng isang ENTER, kaya awtomatiko itong pumupunta sa susunod na linya.

Hakbang 9: Programming ang OLED

Programming ang OLED
Programming ang OLED
Programming ang OLED
Programming ang OLED
Programming ang OLED
Programming ang OLED

Simula sa pagprograma sa OLED, kakailanganin mong magkaroon ng pangunahing setup code. Karaniwang sinasabi nito sa computer kung saan matatagpuan ang iyong OLED, ang laki nito, at kung paano ito nai-program. Kapag mayroon ka ng setup code para sa OLED, sa pag-aakalang nagpapakita ka lamang ng teksto, dapat na medyo simple ito sa programa. Isama muna ang mga aklatan ng Wire at SSD1306.

Tukuyin ang OLED_RESET bilang 4, at isama ang library ng SSD1306 sa iyong code. Ilagay ang display ng Adafruit_SSD1306 (OLED_RESET); sa iyong code upang simulan ang paggamit ng Adafruit SSD1306 library.

Magsimula sa Serial.begin (9600); pagkatapos ay display.begin (SSD1306_SWITCHCAPVCC, 0x3C); upang simulan ang i2C display na may address ng 0x3C (maliban kung nagbago ito sa hakbang 5). Ilagay ang pareho sa mga ito sa walang bisa na pag-set up dahil kailangan lang nilang tumakbo nang isang beses.

Bago mo i-program ang display, dapat mong tiyakin na gumagamit ka ng display.clearDisplay. Kung hindi mo gagawin kung ano ang na-input ay mag-o-overlap, at depende sa kung ano ang binago, ay hindi mababasa. Nais mo ring itakda ang pinagmulan, kaya gamitin ang display.setCursor (0, 0); upang maitakda ito sa isang punto sa iyong display, ilagay ang (0, 0) upang i-reset ito pabalik sa simula. Upang maitakda ang laki ng teksto, gamitin ang display.setTextSize (1); Hindi ako magiging mas malaki kaysa sa 1, mas malaki ito kaysa sa inaasahan.

Kahit na ang aming display ay monochrome, kailangan naming itakda ang kulay ng teksto, kaya pinaprogram namin ito tulad ng display.setTextColor (WHITE);

Ngayon na na-import mo ang iyong silid-aklatan at ang iyong display object, maaari mo na itong simulang i-program. Upang magdagdag ng teksto, gamitin ang display.print (); at display.println (); upang mai-print ang mga string. Muli, ang pag-print ay hindi nagdaragdag ng pagbalik habang ang println ay awtomatikong bumalik sa susunod na linya kapag may na-print muli.

Bago ka makakuha ng anumang ipapakita, kailangan mong i-update ang OLED, at sabihin ito na mag-update, gumamit ka ng display.display (); na walang mga parameter at mag-a-update ito.

Ang code ay dapat magmukhang ganito ngayon:

// Code Made by Foster Phillips

# isama ang Adafruit_SSD1306.h # isama ang Wire.h # tukuyin ang OLED_RESET 4 Adafruit_SSD1306 display (OLED_RESET); void setup () {pinMode (SWITCH, INPUT_PULLUP); Serial.begin (9600); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); pagkaantala (2000); display.clearDisplay (); display.setTextSize (1); display.setTextColor (PUTI); } void loop () {display.display (); pagkaantala (2000); display.clearDisplay (); display.setTextSize (1); display.setCursor (0, 0); display.println ("Hello World!"); display.println ("Kamusta Mga Tagubilin!"); }

Ang Makatuturo na ito at ang link na Github na ito ay kapwa napakahusay na sanggunian para sa pagto-troubleshoot, at matuto nang higit pa sa pag-program ng display ayon sa pagkakabanggit.

Hakbang 10: Pag-program ng mga LED

Pagprograma ng mga LED
Pagprograma ng mga LED
Pagprograma ng mga LED
Pagprograma ng mga LED
Pagprograma ng mga LED
Pagprograma ng mga LED

Ang mga LED ay makatuwiran ding simple. Gagamitin namin ang Adafruit Neopixel library. Sa personal, ang NeoPixel library ay halos kapareho sa programa sa Pagproseso, kung na-program mo na iyan.

Mayroong unang code sa pag-setup, pagtugon sa kung anong library ang ginagamit namin, at pagse-set up ng isang array na karaniwang sinasabi kung gaano karaming mga LED ang nasa pin, kung ano ang pin para sa data, at kung paano ito nai-program. Ginagawa ito sa isang halimbawa tulad ng Adafruit_NeoPixel strip = Adafruit_NeoPixel (6, 10, NEO_GRB + NEO_KHZ800); Ipinapaliwanag nito na mayroong 6 LEDs, ang pin ay pin number 10, at iyon ang gumagamit ng NEO_GRB + NEO_KZH800 uri ng mga address na maaaring i-address. Kadalasan ang huling pagtatalo ay hindi kailangang hawakan, ang mga LED strips na ginamit ko ay hindi kailangan ng nagbago.

Pagkatapos nito kailangan mo ng strip.begin (); ipinapakita ang pagpapaandar na handa ka na upang simulang gamitin ang mga ito. Walang kailangang maging sa mga braket.

Kapag mayroon ka na, maaari kang tumawag ng iba't ibang mga pag-andar gamit ang strip. [Function]

Isa sa kakailanganin mong malaman ay ang strip.setPixelColour. Mayroon itong 4 na pag-andar sa mga braket. Mayroon kang LED sa 'array' ng mga LED (tandaan, ang Mga Array ay nagsisimula sa 0) at ang mga kaukulang halaga ng Pula, berde, at Asul mula sa 0-255. Papayagan ka nitong ihalo ang nais na mga halagang Red Green at Blue upang makakuha ng isang kulay na nais mo. Ang code ay dapat magmukhang: strip.setPixelColour (0, 0, 255, 255); kung nais mo ng isang kulay na cyan sa unang LED.

Kailangan ding ipadala sa LED ang data na iyon, na kung saan ay kung ano ang strip.show (); ay I-a-update nito ang mga pixel pagkatapos mong mabago ang isang bagay sa kanila. Walang kailangang pumasok sa mga braket.

Ang code ay dapat magmukhang:

// Code Made by Foster Phillips

#include Adafruit_NeoPixel.h #define PIN 10 #define Num 6 Adafruit_NeoPixel strip = Adafruit_NeoPixel (Num, PIN, NEO_GRB + NEO_KHZ800); void setup () {strip.begin (); strip.show (); } void loop () {strip.setPixelColor (0, 255, 0, 0); strip.setPixelColor (1, 255, 0, 0); strip.setPixelColor (2, 255, 0, 0); strip.setPixelColor (4, 255, 0, 0); strip.setPixelColor (3, 0, 0, 255); strip.setPixelColor (5, 0, 0, 255); strip.show (); }

Mahahanap ang karagdagang impormasyon dito.

Hakbang 11: Pagtitipon

Pagtitipon!
Pagtitipon!
Pagtitipon!
Pagtitipon!
Pagtitipon!
Pagtitipon!

Marahil ito ang pinakamadaling hakbang, at ang pinaka-cool.

Magsimula sa pamamagitan ng paglalagay at pag-slide sa Pro Micro papunta sa pagsasara ng kaso. Idikit ito sa lugar na may ilang mainit na pandikit.

Ang kaso / pagsasara ay idinisenyo upang maaari mong gilid ang switch plate at LED plate. I-slide lang ito, at depende sa kung paano mo ito nai-print, maaaring kailanganin mong i-file o i-cut ang loob ng mga slide upang alisin ang ilang overhang plastic.

Pagkatapos nito, kunin ang iyong mga turnilyo at i-jam lamang ito doon at gumawa ng iyong sariling mga butas ng tornilyo. Wala akong mga tukoy na mga thread ng turnilyo kapag dinisenyo ko ang mga file, kaya't gumawa ako ng butas nang halos laki ng isang tornilyo at inikot ito sa aking sarili. Ang pag-init nito ng isang mas magaan ay makakatulong upang mabuo ito sa tornilyo na kailangan mo, at karaniwang palakasin ang mga layer. Siguraduhin na hindi masyadong itulak sa mga turnilyo, o maaari mong hubarin ang ulo. Gumamit ako ng mga key key ng Allen upang mabawasan ang panganib na ito.

Pagkatapos ay itulak lamang ang mga key cap papunta sa mga pindutan. Pagkatapos ito ay medyo tapos na! Ang aking bersyon ng Arrow Key Macropad ay kumpleto na!

Hakbang 12: Ang Iyong Sariling Mga Pagpapabuti

Ngayon na alam mo kung paano gawin ang aking bersyon, maaari kang gumawa ng iyong sarili! Ang mga keyboard ay maaaring masabing tungkol sa pagpapahayag ng iyong sarili, kaya't ang pagkakaroon lamang ng disenyo ng iba ay hindi masaya maliban kung binago mo ito upang magkasya sa iyo! Maraming mga pagpapabuti na maaari mong gawin! Narito ang ilang mga pagpapabuti na nais kong idagdag o maisip!

  • Program Tetris at iba pang mga simpleng laro
  • Gawin itong bluetooth
  • Payagan itong basahin ang data mula sa mga slideview at ipakita itong isa sa OLED (Ipakita ang slide number at pangalan ng slide)
  • Gumawa ng isang buong sukat na keyboard o mas malaking macropad gamit ang diskarteng ito

    Kakailanganin mong malaman kung paano gumawa ng isang switch matrix para dito

  • Mas maraming mga pagpipilian sa kulay ang programa
  • Mga macros ng programa para sa mga laro, pag-edit ng video, atbp.
  • Gamitin ang mga file ng mapagkukunan ng Autodesk Inventor upang makagawa ng iyong sariling kaso, o baguhin ito upang maging natatanging iyo!
  • Magdagdag ng isang sound board upang doble ito bilang isang music player

Magsaya sa paggawa! Huwag mag-atubiling magdagdag ng mga tip o hilingin sa akin na linawin!

Kung nais mong makita ang pag-unlad ng iba pang mga bahagi, isaalang-alang ang pag-check sa aking Instagram. Salamat sa pagbabasa ng aking Instructable!

Paligsahan ng Microcontroller
Paligsahan ng Microcontroller
Paligsahan ng Microcontroller
Paligsahan ng Microcontroller

Runner Up sa Microcontroller Contest

Inirerekumendang: