Turinys:

Individuali mechaninė makrokomandų klaviatūra: 12 žingsnių (su paveikslėliais)
Individuali mechaninė makrokomandų klaviatūra: 12 žingsnių (su paveikslėliais)

Video: Individuali mechaninė makrokomandų klaviatūra: 12 žingsnių (su paveikslėliais)

Video: Individuali mechaninė makrokomandų klaviatūra: 12 žingsnių (su paveikslėliais)
Video: Топ 5 скрытых полезных программ Windows 10 2024, Liepa
Anonim
Individualizuota mechaninė makrokomandų klaviatūra
Individualizuota mechaninė makrokomandų klaviatūra
Individualizuota mechaninė makrokomandų klaviatūra
Individualizuota mechaninė makrokomandų klaviatūra
Individualizuota mechaninė makrokomandų klaviatūra
Individualizuota mechaninė makrokomandų klaviatūra
Individualizuota mechaninė makrokomandų klaviatūra
Individualizuota mechaninė makrokomandų klaviatūra

Šioje instrukcijoje aš supažindinsiu su pagrindais, kaip sukurti savo 6 raktų makropadą, valdomą „Arduino“. Aš jums pasakysiu, ko jums reikia, kaip jį surinkti, kaip užprogramuoti ir kaip patobulinti ar padaryti jį savo.

Po daugelio tyrimų aš tikrai negalėjau rasti puikaus vadovo, kaip sukurti makro klaviatūrą ar apskritai rankinę klaviatūrą. Taigi nusprendžiau tai padaryti pats, kuo paprasčiau, be diodų, rezistorių ar dar ko nors. Aš taip pat norėjau turėti unikalią modulinę klaviatūrą, kurioje galėčiau paimti visas reikalingas dalis, tai yra pirmoji iš daugelio kitų dalių. Šio modulio įkvėpimo šaltinis buvo rodyklių klavišai klaviatūroje, galimybė jį įdėti į kišenę ir pasiimti bet kur, jei prireiktų kelių papildomų mygtukų kelyje.

Dėl to, kaip buvo sukurta ši klaviatūra, labai rekomenduoju prieš priimant bet kokį pirkimo sprendimą perskaityti visą instrukciją.

Aš taip pat bandžiau sukurti „Instructable“logiška tvarka, tačiau nesukuriu loginės konstrukcijos, todėl galbūt geriau praleisti veiksmų eilės tvarka, priklausomai nuo to, kaip kuriate.

1 žingsnis: gaukite dalis

Dalių gavimas
Dalių gavimas

Ilgiausias žingsnis yra čia pat, perkant dalis ir laukiant, kol jos bus išsiųstos. „Amazon“nuorodos bus Kanados „Amazon“. Dalys, kurių jums reikės:

  1. Mechaniniai rakto jungikliai

    • Iš čia renkuosi „Gateron“jungiklius su skaidriomis viršutinėmis dalimis (skaidrūs viršeliai palengvina kitą žingsnį, ten taip pat pateikiami dažniausiai naudojami jungikliai)
    • Kitos pirkimo vietos yra čia, jūsų mėgstamiausių jungiklių skiltyje

      Taip pat labai rekomenduoju čia šiek tiek ištirti, kokio jungiklio norėtumėte čia, skiltyje „Jausmai“

  2. Mechaniniai raktų dangteliai

    • Įsitikinkite, kad jie suderinami su jūsų pasirinktu jungikliu!

      Taip pat įsitikinkite, kad jie suderinami su apšvietimu, kad galėtumėte pakeisti spalvą

    • Pardavėjus rasite čia, skiltyje „Naujoviški raktai (standartinė gamyba)“, nebent norite viso raktų paketo rinkinio
  3. Adresuojamos RGB LED juostos (pasirenkama, bet labai rekomenduojama)

    • Aš ką nors panašaus nusipirkau iš „Amazon“

      • Įsitikinkite, kad šviesos diodai yra WS2812B šviesos diodai, jie gali priimti žemesnę įtampą.
      • Taip pat galite nusipirkti 3 mm įprastus mėgstamos spalvos šviesos diodus, tačiau jums reikės rezistorių
  4. HID suderinamas mikrovaldiklis (naudojau „Pro Micro“)

    • Aš nusipirkau juos iš „Amazon“už geriausią pasiūlymą

      Galite nusipirkti kitų mikrovaldiklių, tačiau įsitikinkite, kad jie suderinami su „Arduino“ir HID (žmogaus įvesties įrenginiais)

  5. 128x32 I2C OLED ekranas

    Aš nusipirkau tai iš „Amazon“

  6. Prieiga prie 3D spausdintuvo

    • Pabandykite su aplinkinėmis bibliotekomis ar mokyklomis ir pažiūrėkite, ar jie turi 3D spausdintuvą
    • Aš asmeniškai niekada nesinaudojau internetine paslauga, bet jūs taip pat galite ja naudotis (kažkas panašaus)
  7. Plonas laidas
  8. Reikalingi bendri įrankiai

    • Lituoklis ir lydmetalis
    • Šoninės pjovimo replės
    • Maži failai (šiek tiek neprivaloma)
    • Karšto klijų pistoletas ir klijai
    • Jūsų pasirinktas atsuktuvas ir varžtai

2 žingsnis: rakto jungiklio pakeitimai

Rakto jungiklio modifikacijos
Rakto jungiklio modifikacijos
Rakto jungiklio modifikacijos
Rakto jungiklio modifikacijos
Rakto jungiklio modifikacijos
Rakto jungiklio modifikacijos

Pradėkite ardyti įsigytus jungiklius. Mes tai darome, kad šviesa geriau skleistųsi ir pasiektų raktų dangtelius. Jei pasirinkote klavišų dangtelius, kurie nepalaiko RGB, praleiskite šį veiksmą.

Paimkite 2 mažus pleištus (aš naudoju 2 plokščio galvutės atsuktuvus) ir stumkite po jungikliu esančiais skirtukais. Tada įdėkite kažką tarp viršaus ir apačios, kad jis neužsidarytų. Toliau stumkite kitos pusės skirtukus, todėl jokie skirtukai vis tiek neturėtų laikyti viršaus. Po to užbaikite ir nuimkite jungiklio viršutinę dalį. Paprastai yra keturios dalys: korpuso viršuje ir apačioje, spyruoklė ir stiebas (stumdoma jungiklio dalis, kurioje yra raktų dangtelis).

Pradėkite pjauti mažus gabalėlius iš dėklo apačios, kad praeitų daugiau šviesos. Pirmiausia nupjaukite skirtuką, laikantį plokštelės jungiklį. Tada perpjaukite šiek tiek pradinio šviesos diodo (dalis su 4 skylėmis, skirta šviesos diodų kojoms). Lėtai nukirpkite tą skirtuką viduje, kad nusileistumėte iki apačios. Tada pjaukite iki cilindrinio jungiklio, laikančio spyruoklę, centro. Mums nereikia eiti toliau. Po to šiek tiek išplėskite skylę, lėtai nupjaudami abi puses iš anksto suformuotomis atramomis. Kitas neprivalomas žingsnis yra nufotografuoti, kad jis būtų gražesnis ir mažiau nelygus. Įsitikinkite, kad korpuso viduje nėra daug plastikinių gabalėlių arba jų nėra, nes nenorite, kad jungiklis įstrigtų. Būtinai atlikite šiuos pjūvius lėtai ir smulkiai, nes keletą šoninių pjaustytuvų pločio sulaužiau, todėl korpusas buvo atskirtas.

Jei viršutinė jungiklio pusė taip pat nėra aiški, pabandykite ją pakeisti, kad šviesa galėtų sklisti. Pabandykite po truputį, nesulaužydami jungiklio, nes nenorite, kad stiebas iškristų. Galimas sprendimas gali būti iškirpti plastiko gabalėlį, kuriame būtų įprastas šviesos diodas, ir palikti plastiką, kuris laikytų kotelį uždarytą, ir tik padengti.

3 žingsnis: 3D spausdinimas

3D spausdinimas
3D spausdinimas

Turite atsisiųsti vieną iš žemiau esančių ZIP failų ir atspausdinti juos 3D formatu. Bus įvairių versijų, priklausomai nuo to, ko norite. Bus aplankas su visais įprastais stl failais („KeybArrowSTLFiles“) ir vienas su „Autodesk“išradėjų failais („KeybArrowSourceFiles“), kad galėtumėte modifikuoti failus ir pakeisti juos pagal savo poreikius. Failai šiek tiek skiriasi nuo tų, kuriuos spausdinau, taip buvo todėl, kad buvo keletas dizaino trūkumų ir jaučiau, kad galėčiau juos patobulinti. Pavyzdys būtų korpuso šonai, mano buvo šiek tiek per aukštai, todėl klavišų dangteliai nebus nuspausti iki galo, nauji failai turėtų tai išspręsti.

Jų dizainas buvo gana sudėtingas, daugiau nei 30 žingsnių. Aš tik pasakysiu, kad jei norite suprojektuoti kitokio dydžio dėklą, turėtumėte įsitikinti, kad turite patirties kuriant sudėtingus 3D dizainus. Tai tikrai netinka žmonėms, kurie dar nėra susipažinę su 3D dizainu.

Atminkite, kad abu korpuso failai yra 3 laipsnių kampu, todėl juos reikia pastatyti ant lovos

4 žingsnis: Surinkite tai, ką turite iki šiol

Surinkite tai, ką turite iki šiol
Surinkite tai, ką turite iki šiol
Surinkite tai, ką turite iki šiol
Surinkite tai, ką turite iki šiol
Surinkite tai, ką turite iki šiol
Surinkite tai, ką turite iki šiol
Surinkite tai, ką turite iki šiol
Surinkite tai, ką turite iki šiol

Dabar, kai turime visas dalis ir turime 3D spausdintas dalis, laikas jas šiek tiek surinkti!

Įdėkite visus 6 jungiklius į plokštelę ir priklijuokite. Mums reikia juos klijuoti, nes nupjauname skirtukus, kurie jį laiko. Siūlau palaukti, kol įdėsite OLED, nes nenorite, kad jis būtų pasviręs.

Tada išjunkite 6 šviesos diodus ir padėkite juos ant LED plokštės. Ant plokštelės esantys kvadratai padės suderinti šviesos diodus. Kvadratiniai šviesos diodai į juos tilps, todėl galite 3D spausdinti kitą, kad būtų lengviau suderinti, arba tiesiog išklijuoti jį iš galo. Įsitikinkite, kad rodyklės nukreiptos į kitus šviesos diodus, nes DO būtų lituojamas prie DI. Naudokite tuos kvadratus, kad klijuotumėte šviesos diodus karštais klijais, laikykite juos vietoje ir palaukite, kol klijai laikysis.

Naudojau prototipo plokštę, skirtą jungikliams laikyti šviesos diodus (vaizduose), nes nemėgstu švaistyti gijų ir nusprendžiau pakartotinai naudoti. Naujas failas nieko nedarys, tiesiog palengvinkite lygiavimą.

5 veiksmas: OLED nustatymas

OLED nustatymas
OLED nustatymas
OLED nustatymas
OLED nustatymas
OLED nustatymas
OLED nustatymas

Aš rekomenduoju naudoti šį „Instructable“išsamiam pasivaikščiojimui. Jie tikrai gerai padėjo tai paaiškinti.

Kad kodas veiktų, turėsite atsisiųsti ir importuoti šią biblioteką ir šią biblioteką.

Pirmiausia prijunkite. Prijunkite VCC prie VCC ir GND į GND. Tada prijunkite SDA ir SCL kaiščius. Kiekvieno „Arduino“SDA ir SCL kaiščiai gali skirtis, tačiau „pro micro“SDA yra prijungtas prie 2 kaiščio, o SCL - iki 3 kaiščio. Jei nesate tikri, kokie SDA kaiščiai ir SCL yra prijungti.

Kitas dalykas - rodyti ir kurti vaizdus. Žemiau bus failai, kaip tai padaryti. Pirmasis žingsnis yra naudoti „ScreenScan“kodą (iš pradžių čia pateikė „Arduino“). Įkelkite kodą į „Pro Micro“ir atidarykite serijos skaitytuvą (įrankių skirtuke viršuje). Jis perskaitys jus ir OLED adresą. Jei jūsų adresas yra 0x3C, jums nieko nereikia keisti. Jei taip nėra, turite eiti ir pakeisti ssd1306_128x32_i2c kodo adresą ir galutinį kodą (pavadintą „ArrowKeypad“), kad jis tinkamai veiktų.

Dabar išbandykite pavyzdinį kodą, kuris buvo įtrauktas į „Adafruit ssd1306“biblioteką ir 128x32 „i2c“kodą (pavadintą „ssd1306_128x32_i2c“).

Po to palaikykite „Arduino“įjungtą ir pabandykite sujungti OLED ant jungiklio plokštės, tada išjunkite ir pabandykite klijuoti. Šio pirmojo bandymo greičiausiai nesulauksite, tačiau toliau koreguokite ir pabandykite jį suderinti, kad jis nebūtų pakreiptas, kai jis bus baigtas. Siūlau šiek tiek priklijuoti vieną pusę ir prieš klijuojant patikrinti kitą pusę, kad įsitikintumėte, jog ji nėra pasvirusi.

Atsisiųskite kodą dabar ir naudokite kitus kodo failus, atliktus šios instrukcijos 8 veiksme

6 žingsnis: litavimas

Litavimas
Litavimas

Fritzing failas bus pateiktas žemiau. Tai leis jums sąveikauti su grandine, o jei kairiuoju pelės klavišu spustelėsite ir palaikysite, pamatysite, kokie laidai yra prijungti (paryškinti geltonais taškais), kuriuos reikia importuoti į „Fritzing“prieš atidarant failą. „Pro Micro“ir šviesos diodai).

Įsitikinkite, kad kaiščiai „MOSI, MISO arba SCLK“yra Nenaudojami, nes kitaip jie nesukels OLED

Supjaustę 6 šviesos diodus į atskiras juosteles ir priklijuodami juos prie plokštelės. Uždėkite lituoklį ant varinių pagalvėlių ir įpilkite lituoklio į kiekvieną trinkelę. Nupjaukite mažus vielos gabalėlius ir nuimkite pusę, susukite, tada nuimkite kitą pusę ir pasukite vielą. Vielą reikės laikyti replėmis arba lituoti padedančiomis rankomis, kol ją prilaikysite lydmetaliu. Pridėkite daugiau lydmetalio, kad jis būtų gražiai laikomas. Lituokite visus eilės šviesos diodus kartu. Nupjaukite laidą ir prilituokite prie šviesos diodo galo pirmoje eilutėje su etikete „DO“arba „D-“ir prijunkite prie pirmojo antrosios eilutės šviesos diodo su etikete „DI“arba „D+““. Tai galite padaryti ir su 5v ir GND, tačiau lengviau, jei pirmieji šviesos diodai 5v ir GND kiekvienoje eilutėje yra sujungti. Prijunkite 5 V laidą prie VCC, duomenų kaiščio prie bet kurio skaitmeninio kaiščio (kodas yra nustatytas kaip 10), o GND - į „Arduino“GND.

Kad „Arduino“atpažintų įvestį, jungikliai turi būti prijungti prie duomenų kaiščio. Taigi, galite lituoti vieną laidą, kad prijungtumėte visus 6 jungiklius prie žemės. Lituokite vieną laidą prie kiekvieno jungiklio ir, jei įmanoma, pabandykite pakeisti laido spalvas, kad galėtumėte sekti, koks jungiklis yra viela. Perkelkite laidus per LED plokštę ir prijunkite juos prie „Arduino“duomenų kaiščio (tam naudojau 5–9 duomenų kaiščius)

Du šoniniai jungikliai turi skirtingas funkcijas, vienas yra programavimo iš naujo nustatymo jungiklis, o kitas - funkcijų jungiklis, kuris perjungs klaviatūros sluoksnius, kad greitai pakeistų mygtukų funkcijas. Viršutinis jungiklis yra prijungtas prie atstatymo (RST) ir GND, kai prijungtas, jis sukelia atstatymą. Apatinis jungiklis yra prijungtas prie 18 kaiščio, kuris „Pro Micro“pažymėtas kaip A0. Suteikite sau šiek tiek laisvės jungiklio laidams, nes jums vis tiek reikia stumti plokštes, o per mažas laidas neleis plokštės įsiskverbia per viršų.

7 žingsnis: Įvadas į programavimą

Įvadas į programavimą
Įvadas į programavimą

Prieš uždarydami dėklą, turite jį išbandyti ir įsitikinti, kad jis veikia. Galite pereiti prie 11 veiksmo, kad jį surinktumėte dabar. Aš tik pastebiu, kad jo išankstinis bandymas padeda sumažinti atidarymo ir uždarymo kartų skaičių. Nors tai neturėtų daryti didelės įtakos, aš naudojau „Arduino IDE“1.8.3 versiją, taigi, jei turite problemų, pabandykite naudoti šią versiją. Kodas yra 5 veiksme, tai yra ZIP failas, kurį turėsite išgauti ir įkelti per „Arduino“.

Žemiau bus keli kodo gabalai. Vienas bus galutinis kodas, du - OLED testavimą (vienas - testavimui, vienas - adreso paieškai), o kitas - RGB. Norėdami patikrinti jungiklius, naudokite galutinį kodą.

Jei norite sukurti savo kodą, aš to mokysiu per kitus 3 veiksmus, tačiau visiškai gerai, jei norite naudoti mano kodą arba jį paimti ir pakeisti.

Kai kurie šio programavimo pagrindai

  • Skirtuke „Įrankiai“, tada skirtuke „Lenta“nustatykite jį į „Arduino Leonardo“(nebent turite mikrovaldiklį, kuris skiriasi nuo „Pro Micro“)
  • Naudokite atstatymo jungiklį kiekvieną kartą, kai įkeliate kodą į „Pro Micro“. Radau, kad kai kompiliavimo juosta bus pilna ir vis dar įkeliama, tinkamas laikas įjungti ir išjungti jungiklį, kad būtų pradėta programa. (Jei to nepadarysite, įkelti nepavyks.)
  • Visos naudojamos bibliotekos turi būti įdiegtos ir importuotos

    Norėdami importuoti, eikite į įrankių skirtuką ir spustelėkite įtraukti biblioteką. (Taip pat atkreipkite dėmesį, kad mano kodo pavyzdžiai tinklalapyje turi turėti aplink bibliotekos pavadinimą, negalėjau jų įvesti kodo pavyzdžio skiltyje, atlikus kelis kitus veiksmus)

  • Šviesos diodų ir OLED bibliotekos bus inicijuojamos kaip objektai, galite jas pavadinti bet kokiais pavadinimais, tačiau dėl parodymo aš jas pavadinsiu „juostele“ir „ekranu“

    Skambinkite funkcijoms iš objekto įvesdami objekto pavadinimą, pažymėdami tašką, tada įvesdami funkciją, kurią norite naudoti

Toliau išbandykite šviesos diodus, įkelkite kodą ir įsitikinkite, kad jie visi veikia. Jei niekas neveikia, jums trūksta smeigtuko, eikite į juos, patikrinkite, ar lituojamas pirmasis šviesos diodas.

Galiausiai naudokite galutinį kodą, kad išbandytumėte savo jungiklius. Tai turėtų būti lengviausia padaryti. Atminkite, kad dabar, įkėlę tam tikrą HID kodą, turėsite iš naujo nustatyti „Arduino“kiekvieną kartą, kai į jį įkeliate kodą. Tiesiog įkelkite jį įpusėjus ir jis turėtų veikti.

8 žingsnis: jungiklių programavimas

Jungiklių programavimas
Jungiklių programavimas
Jungiklių programavimas
Jungiklių programavimas

Iš visų programavimo jungikliai yra mažiausiai sudėtingi. Norėdami, kad ji būtų pripažinta klaviatūra, jums tereikia naudoti „Arduino“klaviatūros biblioteką ir sąlyginius teiginius. Įsitikinkite, kad skirtuke Įrankiai lenta yra nustatyta į „Arduino Leonardo“, jei naudojate „Pro Micro“, kaip aš.

Prieš pradėdami nuo sąlyginių teiginių, turime nustatyti kaiščius. Mums tai reikia paleisti tik vieną kartą, todėl įtraukite tai į tuštumos sąranką. Pradėkite nuo pinMode (PinNum, INPUT_PULLUP); Tai sako „Arduino“, kad „PinNum“tikisi įvesties ir prideda prisitraukimo rezistorių (kad mums nereikėtų prijungti jokios aparatūros)

Įvesties traukimas turi 2 būsenas: LOW ir HIGH. „Arduino“ant kaiščio nuskaitys LOW, kai bus prijungtas prie žemės (GND), o atjungus - „HIGH“. Norėdami sužinoti, ką smeigtukas skaito, naudojame „DigitalRead“(„PinNum“).

Pradėdami nuo pagrindų, norėdami sužinoti, ar klavišas buvo paspaustas, naudojame sąlyginius if teiginius. Mes norime, kad tai kartotųsi, todėl norime, kad tai būtų panaikinta. Jei raktas buvo užregistruotas kaip „LOW“, norime, kad klavišas būtų paspaustas, o raktas būtų atleistas, kai įvestis yra „HIGH“. Taigi, norėdami tai padaryti, mes koduojame, jei (digitalRead (PinNum) == LOW) {[Mygtuko paspaudimo kodas]} ir jei (digitalRead (PinNum) == HIGH) {[Mygtuko atleidimo kodas] }

Norėdami gauti klaviatūros kodą, importuokite klaviatūros biblioteką. Įdėkite klaviatūrą.begin (); tuštumos sąrankoje. Tada sąlyginių teiginių viduje naudojame klaviatūrą.paspauskite ([klavišas]); ir klaviatūra.paleiskite ([klavišas]); arba klaviatūra.releaseAll (); jei paspaustumėte kelis klavišus. Taip pat galite naudoti klaviatūrą.print ([String]); ir klaviatūra.println ([eilutė]) spausdinti eilutes, pvz., slaptažodį. print ir println yra panašūs, tačiau println tiesiog prideda ENTER, todėl automatiškai pereina į kitą eilutę.

9 veiksmas: OLED programavimas

OLED programavimas
OLED programavimas
OLED programavimas
OLED programavimas
OLED programavimas
OLED programavimas

Pradėdami nuo OLED programavimo, turėsite turėti pagrindinį sąrankos kodą. Tai iš esmės nurodo kompiuteriui, kur yra jūsų OLED, jo dydį ir kaip jis užprogramuotas. Kai turėsite OLED sąrankos kodą, darant prielaidą, kad rodote tik tekstą, jį programuoti turėtų būti gana paprasta. Pirmiausia įtraukite „Wire“ir SSD1306 bibliotekas.

Apibrėžkite OLED_RESET kaip 4 ir į savo kodą įtraukite SSD1306 biblioteką. Įdėkite „Adafruit_SSD1306“ekraną (OLED_RESET); į savo kodą, kad pradėtumėte naudoti „Adafruit SSD1306“biblioteką.

Pradėkite nuo Serial.begin (9600); tada display.begin (SSD1306_SWITCHCAPVCC, 0x3C); inicijuoti „i2C“ekraną 0x3C adresu (nebent jis buvo pakeistas atlikus 5 veiksmą). Įdėkite abu šiuos parametrus į negaliojančius, nes juos reikia paleisti tik vieną kartą.

Prieš programuodami ekraną, įsitikinkite, kad naudojate display.clearDisplay. Jei to nepadarysite, tai, kas buvo įvesta, sutaps ir priklausomai nuo to, kas buvo pakeista, nebus įskaitoma. Taip pat norite nustatyti kilmę, todėl naudokite display.setCursor (0, 0); Norėdami nustatyti jį ekrane esančiame taške, padėkite (0, 0), kad grąžintumėte jį į pradžią. Norėdami nustatyti teksto dydį, naudokite display.setTextSize (1); Aš nenorėčiau būti daug didesnis nei 1, jis yra daug didesnis nei tikėtasi.

Nors mūsų ekranas yra vienspalvis, turime nustatyti teksto spalvą, todėl programuojame jį kaip display.setTextColor (BALTAS);

Dabar, kai jūsų biblioteka yra importuota ir rodomas objektas, galite pradėti ją programuoti. Norėdami pridėti tekstą, naudokite display.print (); ir display.println (); spausdinti stygas. Vėlgi, spausdinimas neprideda grąžos, o „println“automatiškai grįžta į kitą eilutę, kai kažkas vėl spausdinama.

Prieš gaudami ką nors parodyti, turite atnaujinti OLED ir liepti atnaujinti, naudojate display.display (); be parametrų ir jis bus atnaujintas.

Kodas dabar turėtų atrodyti maždaug taip:

// Fosterio Phillipso sukurtas kodas

#include Adafruit_SSD1306.h #include Wire.h #define OLED_RESET 4 „Adafruit_SSD1306“ekranas (OLED_RESET); void setup () {pinMode (SWITCH, INPUT_PULLUP); Serial.begin (9600); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); vėlavimas (2000 m.); display.clearDisplay (); display.setTextSize (1); display.setTextColor (BALTA); } void loop () {display.display (); vėlavimas (2000 m.); display.clearDisplay (); display.setTextSize (1); display.setCursor (0, 0); display.println („Labas pasaulis!“); display.println ("Sveiki, nurodymai!"); }

Ši „Instructable“ir ši „Github“nuoroda yra labai geros nuorodos trikčių šalinimui ir atitinkamai daugiau informacijos apie ekrano programavimą.

10 veiksmas: šviesos diodų programavimas

Šviesos diodų programavimas
Šviesos diodų programavimas
Šviesos diodų programavimas
Šviesos diodų programavimas
Šviesos diodų programavimas
Šviesos diodų programavimas

Šviesos diodai taip pat yra gana paprasti. Mes naudosime „Adafruit Neopixel“biblioteką. Asmeniškai „NeoPixel“biblioteka yra labai panaši į programavimą apdorojant, jei kada nors tai programavote.

Yra pirmasis sąrankos kodas, nurodantis, kokią biblioteką naudojame, ir nustatomas masyvas, kuriame iš esmės nurodoma, kiek šviesos diodų yra ant kaiščio, koks kaištis skirtas duomenims ir kaip jis užprogramuotas. Tai daroma naudojant tokį pavyzdį kaip Adafruit_NeoPixel strip = Adafruit_NeoPixel (6, 10, NEO_GRB + NEO_KHZ800); Tai paaiškina, kad yra 6 šviesos diodai, kaištis yra kaiščio numeris 10, o tai reiškia NEO_GRB + NEO_KZH800 tipo adresines juostas. Paprastai paskutinio argumento nereikia liesti, mano naudojamoms LED juostoms to keisti nereikėjo.

Po to jums reikia juostelės.begin (); funkcija, rodanti, kad esate pasirengęs pradėti juos naudoti. Niekas neturi būti skliausteliuose.

Kai tai padarysite, galite iškviesti įvairias funkcijas naudodami juostą. [Funkcija]

Viena, kurią turėsite žinoti, yra strip.setPixelColour. Tai skliausteliuose turi 4 funkcijas. Šviesos diodai yra šviesos diodų „masyve“(atminkite, kad masyvai prasideda nuo 0) ir atitinkamos raudonos, žalios ir mėlynos spalvos vertės nuo 0 iki 255. Tai leis jums sumaišyti norimas raudonos žalios ir mėlynos reikšmes, kad gautumėte norimą spalvą. Kodas turėtų atrodyti taip: strip.setPixelColour (0, 0, 255, 255); jei pirmame šviesos diode norėjote žydros spalvos.

Šviesos diodui taip pat reikia atsiųsti tuos duomenis, o tai yra strip.show (); daro. Jis atnaujins taškus, kai ką nors su jais pakeisite. Į skliaustus nieko nereikia eiti.

Kodas turėtų atrodyti taip:

// Fosterio Phillipso sukurtas kodas

#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 (); }

Daugiau informacijos rasite čia.

11 žingsnis: Surinkimas

Surinkimas!
Surinkimas!
Surinkimas!
Surinkimas!
Surinkimas!
Surinkimas!

Tai turbūt lengviausias ir šauniausias žingsnis.

Pradėkite uždėdami ir stumdami „Pro Micro“ant korpuso uždarymo. Klijuokite jį į vietą karštais klijais.

Dėklas/uždarymas buvo suprojektuotas taip, kad galėtumėte įstumti jungiklio plokštę ir šviesos diodų plokštę. Tiesiog įstumkite ją į vidų ir, priklausomai nuo to, kaip ją atspausdinote, gali prireikti padengti arba iškirpti skaidrių vidų, kad pašalintumėte plastiką.

Po to pasiimkite varžtus ir tiesiog įstrigkite ten ir padarykite savo varžtų skyles. Kurdamas failus neturėjau specifinių varžtų sriegių, todėl tiesiog padariau maždaug varžto dydžio skylę ir įsukau ją į save. Šildymas žiebtuvėliu padės suformuoti reikiamą varžtą ir paprastai sustiprins sluoksnius. Įsitikinkite, kad per daug nespaudžiate varžtų, kitaip galite nuimti galvą. Šiai rizikai sumažinti naudojau šešiakampius raktus.

Tada tiesiog paspauskite klavišų dangtelius ant klavišų. Tada tai beveik padaryta! Mano rodyklių klavišų makrokomandos versija baigta!

12 žingsnis: jūsų patobulinimai

Dabar, kai žinote, kaip sukurti mano versiją, galite sukurti savo! Klaviatūros neabejotinai gali reikšti saviraišką, todėl tiesiog turėti kažkieno dizainą nėra smagu, nebent jį modifikuojate taip, kad tiktų jums! Galite padaryti daug patobulinimų! Štai keletas patobulinimų, kuriuos norėčiau pridėti ar pagalvoti!

  • Programuoti „Tetris“ir kitus paprastus žaidimus
  • Padarykite tai „Bluetooth“
  • Leiskite jam skaityti skaidrių demonstravimo duomenis ir rodyti juos kaip vieną OLED (rodyti skaidrės numerį ir skaidrės pavadinimą)
  • Naudodamiesi šia technika, sukurkite viso dydžio klaviatūrą arba didesnę makrokomandą

    Norėdami tai padaryti, turite išmokti sudaryti jungiklio matricą

  • Užprogramuokite daugiau spalvų variantų
  • Programuoti žaidimų, vaizdo įrašų redagavimo ir kt. Makrokomandas.
  • Naudokite „Autodesk Inventor“šaltinio failus, kad sukurtumėte savo atvejį, arba pakeiskite jį, kad jis būtų unikalus jūsų!
  • Pridėkite garso plokštę, kad ji veiktų kaip muzikos grotuvas

Smagaus gaminimo! Nedvejodami pridėkite patarimų arba paprašykite paaiškinti!

Jei norite pamatyti kitų dalių pažangą, apsvarstykite mano „Instagram“. Dėkojame, kad perskaitėte mano instrukciją!

Mikrovaldiklių konkursas
Mikrovaldiklių konkursas
Mikrovaldiklių konkursas
Mikrovaldiklių konkursas

Antroji vieta mikrovaldiklių konkurse

Rekomenduojamas: