Բովանդակություն:

Պատվերով մակրո մեխանիկական ստեղնաշար. 12 քայլ (նկարներով)
Պատվերով մակրո մեխանիկական ստեղնաշար. 12 քայլ (նկարներով)

Video: Պատվերով մակրո մեխանիկական ստեղնաշար. 12 քայլ (նկարներով)

Video: Պատվերով մակրո մեխանիկական ստեղնաշար. 12 քայլ (նկարներով)
Video: Նախկին դատավոր․ «Պատվիրված էր՝ Փաշինյանին 3 տարի ազատազրկում տալ» 2024, Հուլիսի
Anonim
Պատվերով մակրո մեխանիկական ստեղնաշար
Պատվերով մակրո մեխանիկական ստեղնաշար
Պատվերով մակրո մեխանիկական ստեղնաշար
Պատվերով մակրո մեխանիկական ստեղնաշար
Պատվերով մակրո մեխանիկական ստեղնաշար
Պատվերով մակրո մեխանիկական ստեղնաշար
Պատվերով մակրո մեխանիկական ստեղնաշար
Պատվերով մակրո մեխանիկական ստեղնաշար

Այս Ուղեցույցում ես ձեզ կներկայացնեմ ձեր սեփական 6 ստեղնաշարով մակրոդարձակի ստեղծման հիմունքները, որը կառավարվում է Arduino- ի միջոցով: Ես կներկայացնեմ ձեզ այն, ինչ ձեզ հարկավոր է, ինչպես հավաքել այն, ինչպես ծրագրավորել այն և ինչպես բարելավել այն կամ դարձնել ձեր սեփականը:

Շատ հետազոտություններից հետո ես իսկապես չկարողացա գտնել մի մեծ ուղեցույց, թե ինչպես պատրաստել մակրո ստեղնաշար կամ ընդհանրապես ձեռքի լարով ստեղնաշար: Այսպիսով, ես որոշեցի դա անել ինքս, հնարավորինս պարզ ձևով, առանց դիոդների, ռեզիստորների կամ որևէ այլ բանի: Ես նաև ցանկանում էի ունենալ յուրահատուկ մոդուլային ստեղնաշար, որտեղ կարող էի գրավել ինձ անհրաժեշտ ցանկացած մաս, սա շատ այլ մասերից առաջինն է: Այս մոդուլի ոգեշնչումը ստեղնաշարի վրա դրված սլաքների ստեղներից էր, այն կարողանալով տեղավորել գրպանում և տանել ցանկացած վայր, եթե անհրաժեշտ էր մի քանի լրացուցիչ կոճակ ՝ շարժման ընթացքում:

Շնորհիվ այն բանի, թե ինչպես է ստեղծվել այս ստեղնաշարը, ես բարձր խորհուրդ եմ տալիս, որ գնման որոշումներ կայացնելուց առաջ կարդաք բոլոր հրահանգները:

Ես նաև փորձեցի Instructable- ը դարձնել տրամաբանական կարգով, բայց ես տրամաբանորեն չեմ կառուցում, այնպես որ գուցե ավելի լավ կլինի շրջանցել քայլերի հաջորդականությունը `կախված այն բանից, թե ինչպես եք կառուցում:

Քայլ 1: Մասերի ձեռքբերում

Մասերի ձեռքբերում
Մասերի ձեռքբերում

Ամենաերկար քայլը հենց այստեղ է ՝ գնել մասերը և սպասել դրանց առաքմանը: Amazon- ի հղումները կլինեն կանադական Amazon- ը: Այն մասերը, որոնք ձեզ անհրաժեշտ կլինեն, հետևյալն են.

  1. Մեխանիկական բանալիների անջատիչներ

    • Ես այստեղից ընտրում եմ Gateron- ի անջատիչներ ՝ հստակ գագաթներով (հստակ վերնաշապիկները հեշտացնում են հաջորդ քայլը, անջատիչների ամենատարածված տեսակները նույնպես ծածկված են այնտեղ)
    • Գնելու այլ վայրեր կարող եք գտնել այստեղ ՝ ձեր նախընտրած անջատիչ բաժնում

      Ես նաև խստորեն խորհուրդ եմ տալիս այստեղ որոշակի հետազոտություններ կատարել, թե ինչպիսի անջատիչ կցանկանայիք այստեղ «elsգացմունքներ» բաժնում

  2. Մեխանիկական գլխարկներ

    • Համոզվեք, որ դրանք համատեղելի են ձեր ընտրած անջատիչի հետ:

      Նաև համոզվեք, որ դրանք հետևի լույսի հետ համատեղելի են, որպեսզի կարողանաք փոխել գույնը

    • Վաճառողներին կարող եք գտնել այստեղ ՝ «Նորության բանալիներ (ստանդարտ արտադրություն)» բաժնում, եթե չեք ցանկանում Keycap- ի ամբողջական հավաքածու
  3. Հասցեավորվող RGB LED շերտեր (ըստ ցանկության, բայց խորհուրդ է տրվում)

    • Ես նման բան եմ գնել Amazon- ից

      • Համոզվեք, որ LED- ները WS2812B LED են, դրանք կարող են ավելի ցածր լարում ընդունել:
      • Կարող եք նաև գնել ձեր նախընտրած գույնի 3 մմ սովորական լուսադիոդային լուսադիոդներ, բայց ձեզ հարկավոր են ռեզիստորներ
  4. HID- ի հետ համատեղելի միկրոհսկիչ (ես օգտագործել եմ Pro Micro)

    • Ես դրանք գնել եմ Amazon- ից ՝ լավագույն գործարքի համար

      Դուք կարող եք գնել այլ միկրոհսկիչներ, բայց համոզվեք, որ դրանք երկուսն էլ համատեղելի են Arduino- ի և HID- ի (մարդու մուտքի սարք) հետ

  5. 128x32 I2C OLED էկրան

    Ես սա գնել եմ Amazon- ից

  6. Մատչելիություն 3D տպիչին

    • Փորձեք ձեր շուրջը գտնվող տեղական գրադարանների կամ դպրոցների հետ և տեսեք, արդյոք դրանք ունեն 3D տպիչ
    • Ես անձամբ երբեք չեմ օգտագործել առցանց ծառայություն, բայց դուք նույնպես կարող եք օգտագործել դրանք (այսպիսի բան)
  7. Նիհար մետաղալար
  8. Անհրաժեշտ են ընդհանուր գործիքներ

    • Sոդման երկաթ և զոդիչ
    • Կողային կտրիչ տափակաբերան աքցան
    • Փոքր ֆայլեր (որոշ չափով ընտրովի)
    • Տաք սոսինձ ատրճանակ և սոսինձ
    • Պտուտակահան և պտուտակներ ձեր ընտրությամբ

Քայլ 2: Keyswitch- ի փոփոխություններ

Keyswitch- ի փոփոխություններ
Keyswitch- ի փոփոխություններ
Keyswitch- ի փոփոխություններ
Keyswitch- ի փոփոխություններ
Keyswitch- ի փոփոխություններ
Keyswitch- ի փոփոխություններ

Սկսեք ապամոնտաժել գնված անջատիչները: Մենք դա անում ենք, որպեսզի թույլ տանք, որ լույսն ավելի լավ շողա և հասնի մեր գլխարկներին: Եթե ընտրել եք RGB- ն չապահովող ստեղնաշար, բաց թողեք այս քայլը:

Վերցրեք 2 փոքր սեպ (ես օգտագործել եմ 2 պտուտակահան պտուտակահան) և սեղմեք անջատիչի կողքի ներդիրների տակ: Հետո ինչ -որ բան դրեք վերևի և ներքևի միջև, որպեսզի այն չփակվի: Շարունակեք մյուս կողմի ներդիրները մղել, այնպես որ ոչ մի ներդիր դեռ չպետք է պահի վերևը: Դրանից հետո ավարտեք և դուրս եկեք անջատիչի վերևից: Սովորաբար կա չորս մաս ՝ պատյանների վերևն ու ներքևը, աղբյուրը և ցողունը (անջատիչի լոգարիթմական մասը, որը պահում է բանալին):

Սկսեք պատյանի ներքևից կտրել փոքր կտորներ, որպեսզի ավելի շատ լույս անցնի: Նախ կտրեք այն ներդիրը, որը պահում է անջատիչը ափսեի վրա: Հետո մի փոքր կտրեք սկզբնական լուսադիոդի միջով, (4 անցքերով հատվածը, դրանք LED- ների ոտքերի համար են): Կամաց -կամաց կտրեք ներդիրը ներսից ՝ ներքև իջնելու համար: Այնուհետեւ շարունակեք կտրել մինչեւ գարունը պահող անջատիչի գլանաձեւ կենտրոնը: Դրանից ավելի հեռուն գնալու կարիք չունենք: Դրանից հետո մի փոքր լայնացրեք փոսը ՝ երկու կողմերը դանդաղ կտրելով նախապես ձուլված հենարաններով: Մեկ այլ կամընտիր քայլ է ՝ այն ֆայլը հանել, դարձնել ավելի գեղեցիկ և ավելի քիչ ատամնավոր: Համոզվեք, որ պատյանի ներսում պլաստիկ բեկորներ քիչ են, քանի որ չեք ցանկանում, որ անջատիչը խրված լինի: Համոզվեք, որ այս կտրվածքները կատարեք դանդաղ և փոքր, քանի որ ես մի քանի պատյան եմ կոտրել կողային կտրիչների լայնությունից, ինչը ստիպում է պատյանը հեռացնել:

Եթե անջատիչի վերին կեսը նույնպես պարզ չէ, փորձեք փոփոխել այն, որպեսզի թույլ տա, որ լույսը թափանցի: Փորձեք քիչ -քիչ առանց անջատիչը կոտրելու, քանի որ չեք ցանկանում, որ ցողունը ընկնի: Հնարավոր լուծում կարող է լինել պլաստիկի կտորը, որը կպահի սովորական LED- ը, և թողնել պլաստիկը, որը ցողունը փակ է պահում, և միայն այն քսել ներքև:

Քայլ 3: 3D տպագրություն

3D տպագրություն
3D տպագրություն

Ստորև պետք է ներբեռնեք zip ֆայլերից մեկը և 3D տպեք դրանք: Կլինեն տարբեր տարբերակներ ՝ կախված ձեր ուզածից: Կլինի մի թղթապանակ, որի մեջ կան բոլոր սովորական stl ֆայլերը (KeybArrowSTLFiles), և մեկը `Autodesk գյուտարարի ֆայլերով (KeybArrowSourceFiles), որպեսզի կարողանաք փոփոխել ֆայլերը և դրանք փոխել ձեր սեփական կարիքներին համապատասխան: Ֆայլերը մի փոքր տարբերվում են իմ տպածից, սա այն էր, որ դիզայնի որոշ թերություններ կային, և ես զգացի, որ կարող եմ դրանք բարելավել: Օրինակը կլիներ գործի կողմերը, իմը մի փոքր շատ բարձր էին, այնպես որ ստեղնաշարերը մինչև վերջ չէին մղվի, նոր ֆայլերը պետք է դա շտկեն:

Նրանց դիզայնը բավականին բարդ էր ՝ ավելի քան 30+ քայլերով: Այն, ինչ ես կասեմ, այն է, որ եթե ցանկանում եք պատյան ձևավորել այլ չափի համար, ապա պետք է համոզվեք, որ ունեք որոշակիորեն բարդ 3D ձևավորման փորձ: Դա իրականում այն մարդկանց համար չէ, ովքեր նոր են 3d դիզայնով:

Նկատի ունեցեք, որ պատյաններից երկուսն էլ գտնվում են 3 աստիճանի անկյան տակ, և դրանք պետք է անկյան տակ դնել անկողնու վրա:

Քայլ 4: Հավաքեք այն, ինչ ունեք մինչ այժմ

Հավաքեք այն, ինչ ունեք մինչ այժմ
Հավաքեք այն, ինչ ունեք մինչ այժմ
Հավաքեք այն, ինչ ունեք մինչ այժմ
Հավաքեք այն, ինչ ունեք մինչ այժմ
Հավաքեք այն, ինչ ունեք մինչ այժմ
Հավաքեք այն, ինչ ունեք մինչ այժմ
Հավաքեք այն, ինչ ունեք մինչ այժմ
Հավաքեք այն, ինչ ունեք մինչ այժմ

Այժմ, երբ մենք ունենք մեր բոլոր մասերը և ունենք 3D տպագիր մասերը, ժամանակն է այն մի փոքր հավաքել:

Տեղադրեք բոլոր 6 անջատիչները ափսեի մեջ և սոսնձեք դրանք տեղում: Մենք պետք է դրանք սոսնձենք, քանի որ մենք կտրում ենք այն ներդիրները, որոնք այն պահում են տեղում: Ես առաջարկում եմ սպասել OLED- ի տեղադրման համար, քանի որ չեք ուզում, որ այն թեք լինի:

Հաջորդը, կտրեք 6 LED և տեղադրեք դրանք LED ափսեի վրա: Ափսեի քառակուսիները կօգնեն ձեզ հավասարեցնել LED- ները: Քառակուսի LED- ները կտեղավորվեն դրանց մեջ, այնպես որ կարող եք 3D- ով տպել ևս մեկը `հավասարեցման համար, կամ պարզապես այն շարել հետևից: Համոզվեք, որ սլաքները ցույց են տալիս մյուս LED- ները, քանի որ DO- ն կցվում է DI- ին: Օգտագործեք այդ քառակուսիները ՝ LED- ների վրա տաք սոսինձով սոսնձելու համար և դրանք պահեք տեղում և սպասեք, որ սոսինձը բռնի:

Ես անջատիչների համար օգտագործեցի մի նախատիպի ափսե ՝ LED- ները պահելու համար (նկարներում), քանի որ չեմ սիրում թելերը վատնել, և որոշեցի նորից օգտագործել: Նոր ֆայլը ոչ մի բանի վրա չի ազդի, պարզապես պարզեցրեք դասավորությունը:

Քայլ 5: OLED- ի կարգավորում

OLED- ի կարգավորում
OLED- ի կարգավորում
OLED- ի կարգավորում
OLED- ի կարգավորում
OLED- ի կարգավորում
OLED- ի կարգավորում

Ես խորհուրդ եմ տալիս օգտագործել այս Instructable- ը մանրակրկիտ քայլելու համար: Նրանք իսկապես լավ աշխատանք կատարեցին դա բացատրելու համար:

Կոդի աշխատանքի համար ձեզ հարկավոր է ներբեռնել և ներմուծել այս գրադարանը և այս գրադարանը:

Նախ լարեք այն: Հաղորդալար VCC- ից VCC, իսկ GND- ից GND: Այնուհետև միացրեք SDA և SCL կապերը: SDA և SCL կապերը կարող են տարբեր լինել յուրաքանչյուր Arduino- ից, բայց պրոֆեսիոնալ միկրո համակարգում SDA- ն միացված է մինչև 2 կապ, իսկ SCL- ը միացված է մինչև 3 կապ: Փնտրեք ձեր միկրո վերահսկիչի մի պտույտ, եթե վստահ չեք, թե SDA- ն ինչ կապում է: և SCL- ը միացված են:

Հաջորդը այն ստանալն է պատկերների ցուցադրման և պատրաստման համար: Ստորև կլինեն ֆայլեր, թե ինչպես այն աշխատել: Առաջին քայլն է օգտագործել ScreenScan ծածկագիրը (սկզբնապես տրամադրվել է Arduino- ի կողմից այստեղ): Վերբեռնեք կոդը Pro Micro- ի վրա և բացեք Սերիայի ընթերցողը (վերևում գտնվող գործիքների ներդիրի տակ): Այն կընթերցի ձեզ OLED- ի հասցեն: Եթե ձեր հասցեն 0x3C է, ապա ձեզ ոչինչ պետք չէ փոխել: Եթե դա այդպես չէ, ապա դուք պետք է գնաք և փոխեք հասցեն ssd1306_128x32_i2c ծածկագրում և վերջնական ծածկագրում (անունը ՝ ArrowKeypad), որպեսզի այն ճիշտ աշխատի:

Այժմ փորձարկեք Adafruit ssd1306 գրադարանի հետ ներառված օրինակի կոդը, որը նախատեսված է 128x32 i2c ծածկագրի համար (անունը ՝ ssd1306_128x32_i2c)

Դրանից հետո միացրեք Arduino- ն և փորձեք OLED- ը շարել անջատիչի ափսեի վրա, այնուհետև անջատեք այն և փորձեք այն սոսնձել տեղում: Ամենայն հավանականությամբ, դուք չեք ստանա այս առաջին փորձը, բայց շարունակեք հարմարվել ՝ փորձելով այն հավասարեցնել, այնպես որ այն ավարտվելուց անկյան տակ չլինի: Ես առաջարկում եմ մի կողմը մի փոքր սոսնձել, իսկ մյուս կողմը սոսնձելուց առաջ ստուգել `համոզվելու համար, որ այն թեք չէ:

Ներբեռնեք կոդը հիմա և օգտագործեք 8 -րդ քայլի մյուս ֆայլերը ՝ ավելի ուշ սույն Հրահանգում:

Քայլ 6: Sոդում

Oldոդման
Oldոդման

Fritzing ֆայլը հասանելի կլինի ստորև: Սա թույլ կտա ձեզ փոխազդել սխեմաների հետ, և եթե սեղմեք և պահեք, կարող եք տեսնել, թե ինչ լարեր են բոլորը կապված (ընդգծված դեղին կետերով) ֆայլերը, որոնք անհրաժեշտ է ներմուծել Fritzing ֆայլը բացելուց առաջ: Pro Micro և LEDs):

Համոզվեք, որ «MOSI, MISO կամ SCLK» մակագրությամբ քորոցներն Չօգտագործված են, այլապես OLED- ի հետ խնդիրներ կառաջացնի:

6 LED- ները մեկ շերտերի կտրելուց և դրանք սոսնձել ափսեի վրա: Տեղադրեք եռակցման երկաթը պղնձե բարձիկների վրա և յուրաքանչյուր բարձիկին ավելացրեք զոդ: Կտրեք փոքր կտոր մետաղալարեր և կտրեք դրա կեսը, ոլորեք այն, ապա հանեք մյուս կեսը և ոլորեք մետաղալարը: Հաղորդալարը պետք է բռնել տափակաբերան աքցանով կամ ինչ -որ զոդման օգնության ձեռքերով, մինչդեռ այն կպցնում եք զոդման տեղում: Ավելացրեք ավելի շատ զոդ ՝ այն գեղեցիկ պահելու համար: Շարքի բոլոր LED- ները միասին կպցրեք: Կտրեք մետաղալարը և այն կպցրեք առաջին շարքի LED- ի ծայրին ՝ «DO» կամ «D-» պիտակով և միացրեք այն երկրորդ շարքի առաջին LED- ին ՝ «DI» կամ «D+» պիտակով: '. Դուք կարող եք դա անել նաև 5v- ով և GND- ով, բայց դա ավելի հեշտ է, եթե յուրաքանչյուր տողի առաջին LEDs 5v և GND- ը միացված են իրար: 5 վ լարը միացրեք VCC- ին, Տվյալների կապը ցանկացած թվային կապի վրա (կոդը սահմանել է որպես 10) և GND- ը `GND- ի վրա Arduino- ում:

Որպեսզի Arduino- ն ճանաչի մուտքագրումը, անջատիչները պետք է միացնեն գետինը տվյալների քորոցին: Այսպիսով, դուք կարող եք զոդել մեկ մետաղալար `բոլոր 6 անջատիչները գետնին միացնելու համար: Յուրաքանչյուր անջատիչին կպցրեք մեկ մետաղալար, և հնարավորության դեպքում փորձեք փոխել մետաղալարերի գույները `հետևելու համար, թե ինչ անջատիչ է ինչ մետաղալար: Լարերը հաղորդեք LED սալիկի միջոցով և դրանք միացրեք Arduino- ի տվյալների կապին (դրա համար ես օգտագործել եմ տվյալների կապի 5-9-ը)

Կողքի երկու անջատիչներն ունեն տարբեր գործառույթներ, մեկը `ծրագրավորման վերականգնման անջատիչ, իսկ մյուսը` գործառույթի անջատիչ, որը կտեղափոխվի ստեղնաշարի շերտերի միջև `արագ փոխելու կոճակների գործառույթները: Վերին անջատիչը միացված է միացման համար (RST) և GND, երբ միացված է, այն առաջացնում է վերագործարկում: Ստորին անջատիչը միացված է մինչև Պին 18, որը Pro Micro- ում պիտակավորված է որպես A0: Անջատիչ լարերով մի քիչ թուլացեք, քանի որ դեռ պետք է սահել թիթեղների վրա, և մետաղալարերի քիչ քանակությունը թույլ չի տա թիթեղները ներս մտցրեք վերևում:

Քայլ 7: ctionրագրավորման ներածություն

Programրագրավորման ներածություն
Programրագրավորման ներածություն

Նախքան գործը փակելը, դուք պետք է փորձարկեք այն և համոզվեք, որ այն աշխատում է: Այժմ այն հավաքելու համար կարող եք անցնել 11 -րդ քայլին: Ես պարզապես գտնում եմ, որ այն նախապես փորձարկելը օգնում է նվազեցնել այն բացելու և փակելու ժամանակը: Չնայած այն չպետք է շատ ազդի դրա վրա, ես օգտագործեցի Arduino IDE տարբերակը 1.8.3, այնպես որ, եթե խնդիրներ ունեք, փորձեք օգտագործել այս տարբերակը: Կոդը գտնվում է Քայլ 5 -ում, այն zip ֆայլ է, որը ձեզ հարկավոր կլինի արդյունահանել և վերբեռնել Arduino- ի միջոցով:

Ստորև կլինեն կոդի մի քանի կտոր: Մեկը կլինի վերջնական կոդը, երկուսը `OLED- ը (մեկը` փորձարկելու, մեկը `հասցեն գտնելու), և մեկը` RGB- ի փորձարկումը: Անջատիչները փորձարկելու համար օգտագործեք վերջնական կոդը:

Եթե ցանկանում եք նախագծել ձեր սեփական կոդը, ես դա սովորեցնում եմ հաջորդ 3 քայլերում, բայց դա լիովին լավ է, եթե ցանկանում եք օգտագործել իմ ծածկագիրը, կամ վերցնել այն և փոփոխել այն:

Սա ծրագրավորման որոշ հիմունքներ

  • «Գործիքներ» ներդիրի, այնուհետև «Տախտակ» ներդիրի վրա դրեք Arduino Leonardo (եթե չունեք միկրո վերահսկիչ, որը տարբերվում է Pro Micro- ից)
  • Օգտագործեք վերակայման անջատիչը ամեն անգամ, երբ կոդը վերբեռնում եք Pro Micro- ում: Ես պարզեցի, որ երբ կազմաձևման տողը լիքն է և դեռ բեռնվում է, լավ ժամանակ է միացնել և անջատել ծրագիրը: (Եթե դա չանեք, վերբեռնումը պարզապես չի հաջողվի վերբեռնել):
  • Օգտագործված բոլոր գրադարանները պետք է տեղադրվեն և ներմուծվեն

    Ներմուծելու համար գնացեք գործիքների ներդիր և կտտացրեք ներառել գրադարանը: (Նկատի ունեցեք նաև, որ իմ էջի կոդերի օրինակները պետք է ունենան գրադարանի անվանումը, հաջորդ մի քանի քայլերի դեպքում ես չէի կարող դրանք մուտքագրել օրինակների կոդի բաժնում)

  • LED և OLED գրադարանները նախաստորագրվելու են որպես օբյեկտներ, դրանք կարող եք անվանել ինչ էլ որ լինեն, բայց հանուն ցուցադրության ես դրանք կանվանեմ «ժապավեն» և «ցուցադրում»

    Callանգահարեք գործառույթներ օբյեկտից `մուտքագրելով օբյեկտի անունը, տեղադրելով կետ, այնուհետև մուտքագրելով այն գործառույթը, որը ցանկանում եք օգտագործել

Հաջորդը ստուգեք LED- ները, վերբեռնեք ծածկագիրը և համոզվեք, որ դրանք բոլորը աշխատում են: Եթե դրանցից ոչ մեկը չի աշխատում, բացակայում է նրանց մոտ գտնվող քորոցը, ստուգեք առաջին LED- ի զոդումը:

Վերջապես, օգտագործեք վերջնական կոդը ՝ ձեր անջատիչները փորձարկելու համար: Սա պետք է լինի ամենահեշտը անել: Նկատի ունեցեք, որ այժմ, HID ծածկագիրը վերբեռնելուց հետո, ամեն անգամ, երբ դրա վրա ծածկագիր եք վերբեռնում, ձեզ հարկավոր է վերականգնել Arduino- ն: Պարզապես վերագործարկեք այն վերբեռնման կեսից, և այն պետք է աշխատի:

Քայլ 8: Անջատիչների ծրագրավորում

Անջատիչների ծրագրավորում
Անջատիչների ծրագրավորում
Անջատիչների ծրագրավորում
Անջատիչների ծրագրավորում

Բոլոր ծրագրավորումներից անջատիչներն ամենաքիչն են բարդ: Որպես ստեղնաշար ճանաչվելու համար անհրաժեշտ է միայն օգտագործել Arduino ստեղնաշարի գրադարանը և պայմանական հայտարարություններ: Համոզվեք, որ Գործիքներ ներդիրի ներքո Տախտակը սահմանվել է որպես Arduino Leonardo, եթե դուք օգտագործում եք ինձ նման Pro Micro:

Նախքան պայմանական հայտարարություններով սկսելը, մենք պետք է կարգավորենք կապերը: Մեզ պետք է միայն մեկ անգամ աշխատելու համար, այնպես որ դրեք այն դատարկ կարգաբերման մեջ: Սկսեք pinMode- ով (PinNum, INPUT_PULLUP); Սա Arduino- ին ասում է, որ PinNum- ն ակնկալում է մուտքագրում, և այն ավելացնում է քաշման դիմադրություն (այնպես, որ մենք կարիք չունենանք որևէ սարք սարքելու մեջ)

Մուտքային քաշումն ունի 2 վիճակ ՝ LOW և HIGH: Arduino- ն կարդում է LOW- ը PIN- ի վրա, երբ այն միացված է Ground- ին (GND) և կարդալու է HIGH, երբ այն անջատված է: Գտնելու համար, թե ինչ է կարդում քորոցը, մենք օգտագործում ենք digitalRead (PinNum):

Սկզբունքներից սկսած ՝ մենք օգտագործում ենք պայմանական if հայտարարություններ ՝ պարզելու համար, թե արդյոք բանալին սեղմված է եղել: Մենք ցանկանում ենք, որ սա անընդհատ պտտվի, ուստի ցանկանում ենք, որ այն դրվի դատարկ օղակի վրա: Եթե բանալին գրանցվել է որպես «OWԱOWՐ», ապա մենք ցանկանում ենք, որ բանալին սեղմվի, և բանալին ազատ արձակվի, երբ մուտքը «ԲԱՐՁՐ» է: Այսպիսով, դա անելու համար մենք կոդավորում ենք if (digitalRead (PinNum) == LOW) {[Կոդը, երբ կոճակը սեղմվում է]} և ծածկագիրը, եթե (digitalRead (PinNum) == HIGH) {[Կոդ, երբ կոճակը բաց է թողնվում] }

Ստեղնաշարի ծածկագրի համար ներմուծեք Ստեղնաշարի գրադարանը: Տեղադրեք keyboard.begin (); դատարկ կարգավորման մեջ: Այնուհետև մեր պայմանական հայտարարությունների ներսում մենք օգտագործում ենք keyboard.press ([բանալին]); և ստեղնաշար: թողարկում ([բանալին]); կամ keyboard.releaseAll (); եթե մի քանի ստեղն սեղմված է: Կարող եք նաև օգտագործել keyboard.print ([String]); և keyboard.println ([String]) տողեր տպելու համար, ինչպես գաղտնաբառ: print և println նման են, բայց println- ն ընդամենը ավելացնում է ENTER, այնպես որ այն ինքնաբերաբար անցնում է հաջորդ տողին:

Քայլ 9. OLED- ի ծրագրավորում

OLED- ի ծրագրավորում
OLED- ի ծրագրավորում
OLED- ի ծրագրավորում
OLED- ի ծրագրավորում
OLED- ի ծրագրավորում
OLED- ի ծրագրավորում

OLED- ի ծրագրավորումից սկսած ՝ ձեզ հարկավոր կլինի ունենալ հիմնական կարգավորման կոդ: Սա հիմնականում պատմում է համակարգչին, թե որտեղ է գտնվում ձեր OLED- ը, դրա չափը և ինչպես է այն ծրագրված: OLED- ի կարգավորման կոդը ստանալուց հետո, ենթադրելով, որ միայն տեքստ եք ցուցադրում, այն պետք է բավականին պարզ ծրագրավորվի: Նախ ներառեք Wire և SSD1306 գրադարանները:

Սահմանեք OLED_RESET- ը որպես 4 և ներառեք SSD1306 գրադարանը ձեր ծածկագրում: Տեղադրեք Adafruit_SSD1306 էկրան (OLED_RESET); ձեր ծածկագրում ՝ Adafruit SSD1306 գրադարանի օգտագործումը սկսելու համար:

Սկսեք Serial.begin- ով (9600); ապա display.begin (SSD1306_SWITCHCAPVCC, 0x3C); սկզբնականացնել i2C էկրանը 0x3C հասցեով (եթե այն չի փոխվել 5 -րդ քայլում): Սրանք երկուսն էլ տեղադրեք դատարկ կարգաբերման մեջ, քանի որ դրանք միայն մեկ անգամ աշխատելու կարիք ունեն:

Նախքան ցուցադրումը ծրագրավորելը, դուք պետք է համոզվեք, որ օգտագործում եք display.clearDisplay- ը: Եթե դուք չեք անում, ապա մուտքագրվածը համընկնում է, և կախված այն բանից, թե ինչ է փոխվել, ընթեռնելի չի լինի: Դուք նաև ցանկանում եք սահմանել ծագումը, այնպես որ օգտագործեք display.setCursor (0, 0); այն ձեր էկրանին մի կետի վրա դնելու համար դրեք (0, 0) ՝ այն սկզբնական կարգով վերականգնելու համար: Տեքստի չափը սահմանելու համար օգտագործեք display.setTextSize (1); Ես 1 -ից շատ չէի գնա, այն սպասվածից շատ ավելի մեծ է:

Չնայած մեր էկրանը միագույն է, մենք պետք է տեքստի գույնը սահմանենք, ուստի այն ծրագրավորում ենք display.setTextColor (WHITE) պես;

Այժմ, երբ ներմուծել եք ձեր գրադարանը և ցուցադրման օբյեկտը, կարող եք սկսել այն ծրագրավորել: Տեքստ ավելացնելու համար օգտագործեք display.print (); և display.println (); տողեր տպել: Կրկին, տպելը վերադարձ չի ավելացնում, մինչդեռ println- ն ինքնաբերաբար վերադառնում է հաջորդ տող, երբ ինչ -որ բան նորից տպվում է:

Նախքան ցուցադրվող որևէ բան ստանալը, դուք պետք է թարմացնեք OLED- ը և ասեք, որ այն թարմացվի, դուք օգտագործում եք display.display (); առանց պարամետրերի և այն կթարմացվի:

Այժմ ծածկագիրը պետք է ունենա այսպիսի տեսք.

// Ֆոստեր Ֆիլիպսի պատրաստած ծածկագիրը

#ներառել Adafruit_SSD1306.h #ներառել Wire.h #սահմանեք OLED_RESET 4 Adafruit_SSD1306 էկրանը (OLED_RESET); void setup () {pinMode (SWITCH, INPUT_PULLUP); Serial.begin (9600); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); ուշացում (2000); display.clearDisplay (); display.setTextSize (1); display.setTextColor (ՍՊԻՏԱԿ); } void loop () {display.display (); ուշացում (2000); display.clearDisplay (); display.setTextSize (1); display.setCursor (0, 0); display.println («Բարև աշխարհ»); display.println («Ողջույն, հրահանգներ»); }

Այս Instructable- ը և Github- ի այս հղումը երկուսն էլ շատ լավ հղումներ են անսարքությունների վերացման և համապատասխանաբար ավելի շատ սովորելու ցուցադրումը ծրագրավորելու համար:

Քայլ 10: LED- ների ծրագրավորում

LED- ների ծրագրավորում
LED- ների ծրագրավորում
LED- ների ծրագրավորում
LED- ների ծրագրավորում
LED- ների ծրագրավորում
LED- ների ծրագրավորում

LED- ները նույնպես բավականին պարզ են: Մենք կօգտագործենք Adafruit Neopixel գրադարանը: Անձամբ NeoPixel գրադարանը շատ նման է Processing ծրագրավորմանը, եթե դրանում երբևէ ծրագրավորվել եք:

Կա առաջին կարգաբերման կոդը ՝ անդրադառնալով այն գրադարանին, որը մենք օգտագործում ենք, և ստեղծել մի զանգված, որը հիմնականում ասում է, թե քանի LED է փինում, որն է տվյալների համար նախատեսված քորոցը և ինչպես է այն ծրագրավորվում: Դա արվում է Adafruit_NeoPixel շերտ = Adafruit_NeoPixel- ի օրինակով (6, 10, NEO_GRB + NEO_KHZ800); Սա բացատրում է, որ կան 6 լուսադիոդային լուսարձակներ, քորոցը ՝ համար 10, և դա օգտագործում է հասցեագրվող շերտերի NEO_GRB + NEO_KZH800 տիպը: Սովորաբար վերջին փաստարկը պետք չէ շոշափել, այն LED շերտերը, որոնք ես օգտագործել էի, պետք չէր, որ փոխվեին:

Դրանից հետո ձեզ հարկավոր է strip.begin (); գործառույթը ցույց է տալիս, որ դուք պատրաստ եք սկսել դրանք օգտագործել:Ոչինչ պետք չէ փակագծերում լինել:

Երբ դա ունենաք, կարող եք կանչել տարբեր գործառույթներ շերտով: [գործառույթ]

Մեկը, որը դուք պետք է իմանաք, strip.setPixelColour- ն է: Սա փակագծերում ունի 4 գործառույթ: Դուք ունեք LED- ների «զանգվածում» (հիշեք, զանգվածները սկսվում են 0-ից) և համապատասխան կարմիր, կանաչ և կապույտ արժեքները 0-255-ից: Սա թույլ կտա խառնել ցանկալի կարմիր կանաչ և կապույտ արժեքները ՝ ձեր ուզած գույնը ստանալու համար: Կոդը պետք է նման լինի ՝ strip.setPixelColour (0, 0, 255, 255); եթե ուզեցիք կապույտ գույն առաջին LED- ի վրա:

LED- ին անհրաժեշտ է նաև ուղարկել այդ տվյալները, ինչը strip.show (); անում է: Այն կթարմացնի պիքսելները, երբ դրանց հետ ինչ -որ բան փոխեք: Ոչինչ պետք չէ մտնել փակագծերում:

Կոդը պետք է նման լինի.

// Ֆոստեր Ֆիլիպսի պատրաստած ծածկագիրը

#ներառել Adafruit_NeoPixel.h #սահմանել PIN 10 #սահմանել համար 6 Adafruit_NeoPixel շերտ = Adafruit_NeoPixel (համար, 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 (); }

Լրացուցիչ տեղեկություններ կարելի է գտնել այստեղ:

Քայլ 11: Հավաքում:

Հավաքում!
Հավաքում!
Հավաքում!
Հավաքում!
Հավաքում!
Հավաքում!

Սա, հավանաբար, ամենահեշտ քայլն է և ամենաթեժը:

Սկսեք ՝ Pro Micro- ի մեջ տեղադրելով և սահելով գործի փակման վրա: Կպչեք այն տեղում տաք սոսինձով:

Գործը/փակումը նախագծված էր այնպես, որ դուք կարողանայիք միացնել անջատիչի սալիկն ու LED սալիկը: Պարզապես սահեցրեք այն ներսից, և կախված այն բանից, թե ինչպես եք տպել այն, գուցե անհրաժեշտ լինի ֆայլերը կամ կտրել սլայդների ներսը `որոշ պլաստմասսա հեռացնելու համար:

Դրանից հետո, վերցրեք ձեր պտուտակները և պարզապես ամրացրեք դրանք այնտեղ և ինքներդ կատարեք պտուտակների անցքեր: Ֆայլերը նախագծելիս ես չունեի հատուկ պտուտակների թելեր, այնպես որ ես պարզապես մոտավորապես պտուտակի չափ անցք էի բացում և ինքս դա պտուտակում: Կրակայրիչով տաքացնելը կօգնի ձևավորել այն ձեզ անհրաժեշտ պտուտակին, և սովորաբար ամրացնել շերտերը: Համոզվեք, որ պտուտակների վրա շատ չսեղմեք, հակառակ դեպքում կարող եք գլուխը պոկել: Այս ռիսկը նվազեցնելու համար ես օգտագործեցի Ալենի առանցքային պտուտակներ:

Այնուհետև պարզապես սեղմեք բանալիները գլխարկների վրա: Հետո դա բավականին արված է: Arrow Key Macropad- ի իմ տարբերակն ավարտված է:

Քայլ 12: Ձեր սեփական կատարելագործումները:

Այժմ, երբ գիտեք, թե ինչպես պատրաստել իմ տարբերակը, կարող եք պատրաստել ձեր սեփականը: Ստեղնաշարերը, հավանաբար, կարող են վերաբերվել ինքներդ ձեզ արտահայտվելուն, այնպես որ ուրիշի դիզայն ունենալը զվարճալի չէ, եթե այն չփոխեք ՝ ձեզ հարմարեցնելու համար: Կան բազմաթիվ բարելավումներ, որոնք կարող եք անել: Ահա որոշ բարելավումներ, որոնք ես կցանկանայի ավելացնել կամ մտածել:

  • Tetրագիր Tetris և այլ պարզ խաղեր
  • Դարձրեք այն Bluetooth
  • Թույլ տվեք կարդալ տվյալները սլայդերի ցուցադրումներից և ցուցադրել դրանք OLED- ով (Showույց տալ սլայդի համարը և սլայդի անունը)
  • Այս տեխնիկայի միջոցով պատրաստեք ամբողջական չափի ստեղնաշար կամ ավելի մեծ մակրոդարձիչ

    Դուք պետք է սովորեք, թե ինչպես կատարել անջատիչ մատրիցա դրա համար

  • Programրագրեք ավելի շատ գունային ընտրանքներ
  • Macրագրի մակրոներ խաղերի, տեսանյութերի խմբագրման համար և այլն:
  • Օգտագործեք Autodesk Inventor աղբյուրի ֆայլերը `ձեր սեփական գործը դարձնելու համար կամ փոփոխեք այն, որպեսզի այն յուրահատուկ քոնը լինի:
  • Ավելացրեք ձայնային տախտակ, որպեսզի այն կրկնապատկվի որպես նվագարկիչ

Haveվարճացեք պատրաստելով: Ազատորեն ավելացրեք խորհուրդներ կամ խնդրեք ինձ պարզաբանել:

Եթե ցանկանում եք տեսնել մյուս մասերի առաջընթացը, դիտեք իմ Instagram- ը: Շնորհակալություն իմ Instructable- ը կարդալու համար:

Միկրոկառավարիչների մրցույթ
Միկրոկառավարիչների մրցույթ
Միկրոկառավարիչների մրցույթ
Միկրոկառավարիչների մրցույթ

Միկրոկառավարիչների մրցույթում երկրորդ տեղը զբաղեցնողը

Խորհուրդ ենք տալիս: