Mundarija:

Maxsus makro -mexanik klaviatura: 12 qadam (rasmlar bilan)
Maxsus makro -mexanik klaviatura: 12 qadam (rasmlar bilan)

Video: Maxsus makro -mexanik klaviatura: 12 qadam (rasmlar bilan)

Video: Maxsus makro -mexanik klaviatura: 12 qadam (rasmlar bilan)
Video: 30ta maxfiy sir клавиатурадаги 30та махфий сир 2024, Iyul
Anonim
Maxsus mexanik klaviatura
Maxsus mexanik klaviatura
Maxsus mexanik klaviatura
Maxsus mexanik klaviatura
Maxsus mexanik klaviatura
Maxsus mexanik klaviatura
Maxsus mexanik klaviatura
Maxsus mexanik klaviatura

Ushbu yo'riqnomada men sizni Arduino boshqaradigan 6 ta kalitli makropadni yaratish asoslari bilan tanishtiraman. Men sizga kerakli narsalarni, uni qanday yig'ishni, qanday dasturlashni, qanday takomillashtirishni yoki o'zingizniki qilishni aytib beraman.

Ko'p izlanishlardan so'ng, men makro klaviatura yoki umuman qo'l simli klaviatura yasash bo'yicha ajoyib qo'llanma topa olmadim. Shunday qilib, men buni o'zim, eng oddiy usulda, diodlar, rezistorlar va boshqa hech narsa qilmasdan qilishga qaror qildim. Men ham o'ziga xos modulli klaviaturaga ega bo'lishni xohlardim, u erda men kerakli qismlarni olaman, bu boshqa ko'plab qismlarning birinchisi. Bu modulning ilhomi klaviaturadagi o'q tugmachalari edi, uni cho'ntagingizga sig'dira olish va agar kerak bo'lsa, uni xohlagan joyga olib ketish.

Bu klaviatura qanday yasalganligi sababli, sotib olish to'g'risida qaror qabul qilishdan oldin ko'rsatmalarni o'qib chiqishingizni tavsiya qilaman.

Men ham Instructable -ni mantiqiy tartibda bajarishga harakat qildim, lekin men mantiqan qurmayapman, shuning uchun qanday qilib qurayotganingizga qarab, ketma -ketlikdagi tartibni o'tkazib yuborish yaxshiroqdir.

1 -qadam: ehtiyot qismlarni olish

Qismlarni olish
Qismlarni olish

Eng uzun qadam shu erda, ehtiyot qismlarni sotib olish va jo'natilishini kutish. Amazon havolalari Kanadalik Amazon bo'ladi. Sizga kerak bo'ladigan qismlar:

  1. Mexanik kalit kalitlari

    • Men Gateron kalitlarini bu erda aniq tepalari bilan tanlayman (Shaffof tepalar keyingi bosqichni osonlashtiradi, eng keng tarqalgan kalitlar u erda ham qoplangan)
    • Boshqa joylarni bu erda sevimli almashtirish bo'limida topishingiz mumkin

      Shuningdek, men "Hislar" bo'limida bu erda qanday kalitni tanlashni xohlayotganingizni o'rganishni tavsiya qilaman

  2. Mexanik kalitlar

    • Ular siz tanlagan kalitga mos kelishiga ishonch hosil qiling!

      Rangni o'zgartirish uchun ularning orqa nuri mos kelishiga ishonch hosil qiling

    • Sotuvchilarni bu erda "Yangilik kalitlari (standart ishlab chiqarish)" bo'limida topishingiz mumkin, agar siz tugmachalarni to'liq to'ldirishni xohlamasangiz.
  3. Manzil RGB LED chiziqlar (ixtiyoriy, lekin tavsiya etiladi)

    • Men shunga o'xshash narsalarni Amazondan sotib oldim

      • LEDlar WS2812B LEDlari ekanligiga ishonch hosil qiling, ular past kuchlanishni qabul qila oladi.
      • Shuningdek, siz o'zingiz yoqtirgan rangdagi 3 mm oddiy LEDlarni sotib olishingiz mumkin, lekin sizga rezistorlar kerak bo'ladi
  4. HID mos keladigan mikro -kontroller (men Pro Micro -dan foydalanganman)

    • Men ularni Amazondan eng yaxshi narxda sotib oldim

      Siz boshqa mikrokontrolderlarni sotib olishingiz mumkin, lekin ularning Arduino va HID (odam kiritish qurilmasi) mos kelishiga ishonch hosil qiling

  5. 128x32 o'lchamli I2C OLED -displey

    Men buni Amazondan sotib oldim

  6. 3D printerga kirish

    • Mahalliy kutubxonalar yoki atrofingizdagi maktablarni sinab ko'ring va ular 3D printerga ega ekanligini tekshiring
    • Men hech qachon onlayn xizmatdan foydalanmaganman, lekin siz ham ulardan foydalanishingiz mumkin (shunga o'xshash)
  7. Yupqa sim
  8. Umumiy vositalar kerak

    • Lehimlash temir va lehim
    • Yon kesuvchi penseler
    • Kichik fayllar (ixtiyoriy)
    • Issiq yopishtiruvchi qurol va yopishtiruvchi
    • Siz tanlagan tornavida va vintlar

2 -qadam: kalitlarni o'zgartirish

Klaviaturani o'zgartirish
Klaviaturani o'zgartirish
Klaviaturani o'zgartirish
Klaviaturani o'zgartirish
Klaviaturani o'zgartirish
Klaviaturani o'zgartirish

Siz sotib olgan kalitlarni demontaj qilishni boshlang. Biz buni yorug'lik porlashi uchun kalitlarimizga yaxshiroq o'tish uchun qilyapmiz. Agar siz RGB -ni qo'llab -quvvatlamaydigan tugmachalarni tanlagan bo'lsangiz, bu bosqichni o'tkazib yuboring.

2 ta kichkina takozni oling (men ikkita tekis tornavida ishlatardim) va kalit yonidagi tirnoq ostiga bosing. Keyin yopilmasligi uchun yuqori va pastki qismiga biror narsa qo'ying. Boshqa tomonning yorliqlarini bosishni davom eting, shuning uchun hech qanday yorliq hali tepada qolmasligi kerak. Shundan so'ng, tugatish tugmachasining yuqori qismini o'chiring. Odatda to'rt qismdan iborat: korpusning yuqori va pastki qismi, kamon va sopi (tugmachani ushlab turadigan kalitning toymas qismi).

Ko'proq yorug'lik o'tishi uchun qutining pastki qismidan kichik bo'laklarni kesib boshlang. Avval plastinkadagi kalitni ushlab turadigan yorliqni kesib oling. Keyin bir nechta original LED o'tishni kesib oling (4 teshikli qism - bu LEDlarning oyoqlari uchun). Pastki qismga tushish uchun ichidagi yorliqni sekin kesib oling. Keyin, bahorni ushlab turadigan kalitning silindrsimon markaziga qadar davom eting. Biz bundan uzoqqa borishning hojati yo'q. Shundan so'ng, teshikni biroz kengaytiring, asta-sekin oldindan tayyorlangan tayanchlar bilan ikkala tomonni kesib oling. Yana bir ixtiyoriy qadam - bu faylni jozibali va chiroyli qilish. Qoplamaning ichida plastik bo'laklarning yo'qligiga ishonch hosil qiling, chunki siz kalitning tiqilib qolishini xohlamaysiz. Bu kesmalarni sekin va kichik qilib bajarganingizga ishonch hosil qiling, chunki men korpusni bir -biridan ajratib turadigan yon kesgichlar kengligidan bir nechta korpuslarni sindirdim.

Agar sizning kalitingizning yuqori yarmi ham aniq bo'lmasa, yorug'lik o'tishi uchun uni o'zgartirishga harakat qiling. Kalitni buzmasdan, asta -sekin harakat qilib ko'ring, chunki siz poyaning tushishini xohlamaysiz. Mumkin bo'lgan yechim, oddiy LEDni ushlab turadigan plastmassa qismini kesib tashlash va sopi yopilgan plastmassani qoldirib, faqat uni pastga qo'yishdir.

3 -qadam: 3D bosib chiqarish

3d bosib chiqarish
3d bosib chiqarish

Quyidagi zip -fayllardan birini yuklab olishingiz va ularni 3d chop etishingiz kerak bo'ladi. Siz xohlagan narsaga qarab turli xil versiyalar bo'ladi. Oddiy stl fayllari (KeybArrowSTLFiles) va Autodesk ixtirochi fayllari (KeybArrowSourceFiles) bo'lgan papka bo'ladi, shunda siz fayllarni o'zgartirishingiz va ularni o'z ehtiyojlaringizga ko'ra o'zgartirishingiz mumkin. Fayllar men bosgan narsadan biroz farq qiladi, chunki ba'zi dizayn kamchiliklari bor edi va men ularni yaxshilashim mumkinligini his qildim. Misol ishning yon tomonlari bo'lishi mumkin, meniki biroz baland edi, shuning uchun tugmalar tugmachalari pastga tushmaydi, yangi fayllar buni tuzatishi kerak.

Ularning dizayni juda murakkab bo'lib, 30 dan ortiq qadamlardan iborat edi. Men shuni aytamanki, agar siz boshqa o'lchamdagi sumkani loyihalashtirmoqchi bo'lsangiz, sizda 3D -ning murakkab dizaynlari borasida tajribangiz borligiga ishonch hosil qilishingiz kerak. Bu 3D dizaynini yangi boshlaganlar uchun emas.

E'tibor bering, ikkala korpusli fayl ham 3 graduslik burchak ostida va siz ularni to'shakda tekis qilib qo'yishingiz kerak

4 -qadam: Hozirgacha bor narsangizni yig'ish

Hozirgacha bor narsangizni yig'ish
Hozirgacha bor narsangizni yig'ish
Hozirgacha bor narsangizni yig'ish
Hozirgacha bor narsangizni yig'ish
Hozirgacha bor narsangizni yig'ish
Hozirgacha bor narsangizni yig'ish
Hozirgacha bor narsangizni yig'ish
Hozirgacha bor narsangizni yig'ish

Endi bizda barcha qismlar bor va bizda 3d bosma qismlar bor, uni biroz yig'ish vaqti keldi!

6 ta kalitni plastinkaga joylashtiring va ularni joyiga yopishtiring. Biz ularni yopishtirishimiz kerak, chunki biz uni ushlab turadigan yorliqlarni kesib tashladik. Men OLED -ni qo'yishni kutishni taklif qilaman, chunki siz uning egilishini xohlamaysiz.

Keyin 6 ta LEDni kesib oling va ularni LED plitasiga joylashtiring. Plitadagi kvadratchalar LEDlarni tekislashga yordam beradi. Kvadrat LEDlar ularga mos keladi, shuning uchun siz hizalanishga yordam berish uchun boshqasini 3d bosib chiqarishingiz yoki uni orqa tomondan chizishingiz mumkin. O'qlar boshqa LEDlarga ishora qilganiga ishonch hosil qiling, chunki DO DI ga lehimlanadi. LEDlarni issiq elim bilan yopishtirish uchun o'sha kvadratchalardan foydalaning va ularni ushlab turing va elim yopishishini kuting.

Men svetodiodlarni ushlab turish uchun kalitlarga prototipli plastinkadan foydalandim (rasmlarda), chunki men filamanni isrof qilishni yoqtirmayman va qayta ishlatishga qaror qildim. Yangi fayl hech narsaga ta'sir qilmaydi, shunchaki tekislashni osonlashtiradi.

5 -qadam: OLED -ni sozlash

OLED -ni sozlash
OLED -ni sozlash
OLED -ni sozlash
OLED -ni sozlash
OLED -ni sozlash
OLED -ni sozlash

Men batafsil o'qish uchun ushbu ko'rsatmalarni ishlatishni maslahat beraman. Ular buni juda yaxshi tushuntirishdi.

Kodning ishlashi uchun siz ushbu kutubxonani va ushbu kutubxonani yuklab olishingiz va import qilishingiz kerak bo'ladi.

Avval uni simga ulang. VCC -ni VCC -ga va GND -ni GND -ga o'tkazing. Keyin SDA va SCL pinlarini sim bilan ulang. SDA va SCL pinlari har bir Arduino -dan farq qilishi mumkin, lekin pro mikrofonda SDA 2 -pingacha, SCL esa 3 -pingacha ulanadi. va SCL simli.

Keyingi - tasvirlarni ko'rsatish va yaratish. Quyida uni qanday ishlashini ko'rsatadigan fayllar bo'ladi. Birinchi qadam - ScreenScan kodidan foydalanish (dastlab Arduino bu erda taqdim etilgan). Kodni Pro Micro -ga yuklang va Serial o'quvchisini oching (yuqori qismidagi asboblar yorlig'i ostida). U sizga OLED manzilini va manzilini o'qiydi. Agar sizning manzilingiz 0x3C bo'lsa, siz hech narsani o'zgartirishingiz shart emas. Agar bunday bo'lmasa, u holda ssd1306_128x32_i2c kodidagi manzilni va oxirgi kodni (ArrowKeypad deb nomlangan) to'g'ri ishlashi uchun uni o'zgartirish kerak.

Endi 128x32 i2c kodi (ssd1306_128x32_i2c nomi bilan) Adafruit ssd1306 kutubxonasiga kiritilgan misol kodini sinab ko'ring.

Shundan so'ng, Arduino -ni yoqing va OLED -ni kommutator plastinkasiga joylashtiring, so'ng uni o'chiring va joyiga yopishtirishga harakat qiling. Ehtimol, siz birinchi urinishni ololmaysiz, lekin uni tugallanganda burchakka burilmasligi uchun sozlashni davom ettiring. Men bir tomonini ozgina yopishtirishni tavsiya qilaman va boshqa tomonini yopishtirmasdan oldin uning egilmaganligiga ishonch hosil qiling.

Kodni hozir yuklab oling va keyinchalik ushbu yo'riqnomaning 8 -qadamidagi boshqa kod fayllaridan foydalaning

6 -qadam: Lehimlash

Lehimlash
Lehimlash

Fritzing fayli quyida mavjud bo'ladi. Bu sizga kontaktlarning zanglashiga olib kirishga imkon beradi va agar siz sichqonchaning chap tugmachasini bosib ushlab tursangiz, faylni ochishdan oldin Fritzing -ga import qilinishi kerak bo'lgan barcha simlar qanday bog'langanligini ko'rishingiz mumkin (sariq nuqta bilan ajratilgan). Pro Micro va LED).

"MOSI, MISO yoki SCLK" yorliqlari ishlatilmasligiga ishonch hosil qiling, aks holda OLED bilan bog'liq nosozliklar paydo bo'ladi

6 ta LEDni bitta bo'lakka kesib, plastinkaga yopishtirgandan so'ng. Lampochkani mis yostiqchalarga joylashtiring va har bir prokladkaga lehim qo'shing. Kichik simlarni kesib oling va yarmini echib oling, buraling, keyin ikkinchi yarmini oling va simni burang. Simni qisqich yoki payvand chig'anoqlari bilan ushlab turish kerak, siz uni lehim bilan mahkamlang. U erda yaxshi ushlab turish uchun ko'proq lehim qo'shing. Qatordagi barcha LEDlarni lehimlang. Simni kesib oling va uni birinchi qatorda "DO" yoki "D-" yorlig'i bilan LED oxirigacha lehimlang va "DI" yoki "D+" yorlig'i bilan ikkinchi qatordagi birinchi LEDga ulang. '. Siz buni 5v va GND bilan ham qilishingiz mumkin, lekin har bir satrda birinchi 5v va GND LEDlari bir -biriga ulangan bo'lsa, osonroq bo'ladi. 5V simini VCC -ga, Ma'lumot pinini har qanday raqamli pinga (kod 10 -ga o'rnatilgan) va GND -ni Arduino -dagi GND -ga ulang.

Arduino -ni kirishni tanib olish uchun kalitlar yerni ma'lumotlar piniga ulashlari kerak. Shunday qilib, siz barcha 6 kalitni erga ulash uchun bitta simni lehimlashingiz mumkin. Har bir kalitga bitta simni lehimlang va agar iloji bo'lsa, qaysi simning qaysi sim ekanligini kuzatish uchun simlarning rangini o'zgartirishga harakat qiling. Simlarni LED plastinka orqali o'tkazing va ularni Arduino-dagi ma'lumot piniga ulang (men buning uchun 5-9-pinli pinlardan foydalanganman)

Yon tomonda joylashgan ikkita kalit har xil funktsiyalarni bajaradi, biri dasturlash uchun reset tugmasi, ikkinchisi esa tugmachalarning vazifalarini tez o'zgartirish uchun klaviatura qatlamlari o'rtasida almashadigan funktsiya kaliti. Yuqori tugma (RST) va GND -ni qayta tiklash uchun simli, ulangan bo'lsa, u asl holatini tiklashga olib keladi. Pastki tugmachani Pro Micro -da A0 deb belgilangan 18 -pinli simga ulangan. O'zingizni kalit simlari bilan bo'shashtiring, chunki siz hali ham plastinkalarni siljitishingiz kerak, va simning juda ozligi ruxsat bermaydi. yuqori qismdan o'tadigan plitalar.

7 -qadam: Dasturlashga kirish

Dasturlashga kirish
Dasturlashga kirish

Ishni yopishdan oldin, siz uni sinab ko'rishingiz va uning ishlashiga ishonch hosil qilishingiz kerak. Siz hozir yig'ish uchun 11 -bosqichga o'tishingiz mumkin. Menimcha, uni oldindan sinab ko'rish, uni ochish va yopish vaqtini kamaytirishga yordam beradi. Bu juda ta'sir qilmasa ham, men Arduino IDE 1.8.3 versiyasini ishlatardim, shuning uchun agar sizda muammolar bo'lsa, ushbu versiyadan foydalanishga harakat qiling. Kod 5 -qadamda, siz zip fayli bo'lib, uni Arduino orqali chiqarib olishingiz va yuklashingiz kerak bo'ladi.

Quyida bir nechta kod bo'laklari bo'ladi. Biri oxirgi kod bo'ladi, ikkitasi OLED -ni sinab ko'rish (biri sinov uchun, biri manzilni topish uchun), biri RGB -ni sinab ko'rish. Kalitlarni sinash uchun oxirgi koddan foydalaning.

Agar siz o'zingizning kodingizni loyihalashtirmoqchi bo'lsangiz, men buni keyingi 3 bosqichda o'rgataman, lekin agar siz mening kodimni ishlatmoqchi bo'lsangiz yoki uni olib, o'zgartirmoqchi bo'lsangiz, bu juda yaxshi.

Buni dasturlashning ba'zi asoslari

  • "Asboblar" yorlig'i, keyin "Kengash" yorlig'i ostida, uni Arduino Leonardo -ga o'rnating (agar sizda Pro Micro -dan farqli mikro -nazoratchi bo'lmasa)
  • Kodni har safar Pro Micro -ga yuklaganingizda, reset tugmachasidan foydalaning. Men shuni aniqladimki, kompilyatsiya paneli to'ldirilgan va yuklanayotgan bo'lsa, dasturni yoqish va o'chirish uchun yaxshi vaqt. (Agar buni qilmasangiz, yuklash yuklanmaydi.)
  • Barcha kutubxonalar o'rnatilishi va import qilinishi kerak

    Import qilish uchun asboblar yorlig'iga o'ting va kutubxonani qo'shish -ni bosing. (Shuni ham unutmangki, veb -sahifadagi kod misollarim kutubxona nomiga ega bo'lishi kerak, men ularni keyingi bir necha qadamda misol kodi bo'limiga kiritolmadim)

  • LED va OLED kutubxonalari ob'ekt sifatida ishga tushiriladi, siz xohlagan narsaga nom berishingiz mumkin, lekin namoyish qilish uchun men ularni "tasma" va "ko'rsatish" deb nomlayman.

    Ob'ekt nomini yozib, nuqta qo'yib, keyin ishlatmoqchi bo'lgan funktsiyani yozib, ob'ektdan funktsiyalarni chaqiring

Keyin LEDlarni sinab ko'ring, kodni yuklang va ularning barchasi ishlayotganiga ishonch hosil qiling. Agar biror narsa ishlamasa, sizning piningiz yo'qolsa, birinchi LEDning lehimlanishini tekshiring.

Nihoyat, kalitlarni tekshirish uchun oxirgi koddan foydalaning. Buni qilish eng oson bo'lishi kerak. E'tibor bering, ba'zi HID kodlarini yuklaganingizdan so'ng, siz har safar kodni yuklaganingizda Arduino -ni tiklashingiz kerak bo'ladi. Yuklab olishning yarmida uni qayta o'rnating va u ishlashi kerak.

8 -qadam: kalitlarni dasturlash

Kalitlarni dasturlash
Kalitlarni dasturlash
Kalitlarni dasturlash
Kalitlarni dasturlash

Barcha dasturlar ichida kalitlar eng murakkab emas. Uni klaviatura sifatida tan olish uchun Arduino klaviaturasi kutubxonasi va shartli iboralardan foydalanish kifoya. Men kabi Pro Micro -dan foydalanayotgan bo'lsangiz, "Asboblar" yorlig'i ostida, boshqaruv paneli Arduino Leonardo -ga o'rnatilganligiga ishonch hosil qiling.

Shartli iboralarni boshlashdan oldin, biz pinlarni sozlashimiz kerak. Bizga faqat bir marta ishga tushirish kerak, shuning uchun uni bo'sh sozlamaga qo'ying. PinMode bilan boshlang (PinNum, INPUT_PULLUP); Bu Arduino -ga PinNum kirishni kutayotganini va u tortishish qarshiligini qo'shib qo'yishini aytadi (shuning uchun uskuna hech qanday sim o'tkazmasligi kerak)

Kirish chizig'i ikkita holatga ega: LOW va HIGH. Arduino Ground (GND) ga ulanganida pin ustida LOW o'qiydi va uzilganida HIGH o'qiydi. Pin nima o'qayotganini bilish uchun biz digitalRead (PinNum) dan foydalanamiz.

Asosiy ma'lumotlardan boshlab, biz kalitning bosilganligini aniqlash uchun shartli if iboralarini ishlatamiz. Biz buni qayta -qayta ishlatishni xohlaymiz, shuning uchun biz bu bo'shliqni aylantirishni xohlaymiz. Agar kalit "LOW" sifatida ro'yxatga olingan bo'lsa, biz tugmachani bosishni xohlaymiz va kirish "HIGH" bo'lganda tugma qo'yib yuboriladi. Buning uchun biz kodni yozamiz (digitalRead (PinNum) == LOW) {[Tugma bosilganda kod]} va if (digitalRead (PinNum) == YUQORI) {[Tugma qo'yilganda kod] }

Klaviatura kodi uchun klaviatura kutubxonasini import qiling. Klaviatura qo'ying.begin (); bo'sh sozlamalarda. Keyin shartli bayonotlarimizda biz keyboard.press ([key]) dan foydalanamiz; va keyboard.release ([key]); yoki keyboard.releaseAll (); agar sizda bir nechta tugma bosilgan bo'lsa. Bundan tashqari, keyboard.print ([String]) dan foydalanishingiz mumkin; va parol kabi satrlarni chop etish uchun keyboard.println ([String]). print va println o'xshash, lekin println faqat ENTER ni qo'shadi, shuning uchun u avtomatik ravishda keyingi qatorga o'tadi.

9 -qadam: OLED dasturlash

OLED dasturlash
OLED dasturlash
OLED dasturlash
OLED dasturlash
OLED dasturlash
OLED dasturlash

OLED -ni dasturlashdan boshlab, siz asosiy sozlash kodiga ega bo'lishingiz kerak bo'ladi. Bu asosan kompyuterga sizning OLEDingiz qayerda joylashganligini, uning hajmi va qanday dasturlashtirilganligini ko'rsatadi. OLED -ni o'rnatish kodini olganingizdan so'ng, siz faqat matnni ko'rsatayotgan bo'lsangiz, dasturlash juda oddiy bo'lishi kerak. Birinchidan, Wire va SSD1306 kutubxonalari.

OLED_RESETni 4 deb belgilang va kodingizga SSD1306 kutubxonasini qo'shing. Adafruit_SSD1306 displeyini qo'ying (OLED_RESET); Adafruit SSD1306 kutubxonasidan foydalanishni boshlash uchun kodingizda.

Serial.begin (9600) bilan boshlang; keyin display.begin (SSD1306_SWITCHCAPVCC, 0x3C); i2C displeyini 0x3C manzili bilan ishga tushirish uchun (agar u 5 -qadamda o'zgarmasa). Ularning ikkalasini ham bekor qiling, chunki ular faqat bir marta ishlashi kerak.

Displeyni dasturlashdan oldin, display.clearDisplay -dan foydalanganingizga ishonch hosil qilishingiz kerak. Agar siz buni qilmasangiz, kiritilgan narsalar bir -birining ustiga chiqadi va nima o'zgarganiga qarab, aniq bo'lmaydi. Shuningdek, siz asl manbani o'rnatmoqchisiz, shuning uchun display.setCursor (0, 0) dan foydalaning; uni displeydagi nuqtaga o'rnatish uchun (0, 0) qo'yib, uni boshiga qaytaring. Matn hajmini o'rnatish uchun display.setTextSize (1) dan foydalaning; Men 1dan katta emasman, bu kutilganidan ancha katta.

Bizning displeyimiz monoxrom bo'lsa ham, biz matn rangini belgilashimiz kerak, shuning uchun uni display.setTextColor (WHITE) kabi dasturlashtiramiz;

Endi sizning kutubxonangiz import qilingan va siz ko'rsatadigan ob'ektga ega bo'lsangiz, uni dasturlashni boshlashingiz mumkin. Matn qo'shish uchun display.print () dan foydalaning; va display.println (); satrlarni chop etish. Yana chop etish qaytarilmaydi, biroq println avtomatik ravishda keyingi satrga qaytadi, agar biror narsa qayta chop etilsa.

Ko'rsatiladigan biror narsa olishdan oldin, OLED -ni yangilashingiz va uni yangilashini aytishingiz kerak, siz display.display () dan foydalanasiz; parametrlarsiz va u yangilanadi.

Kod hozir shunday bo'lishi kerak:

// Foster Fillips tomonidan ishlab chiqarilgan kod

#include Adafruit_SSD1306.h #include Wire.h #deleine OLED_RESET 4 Adafruit_SSD1306 displeyi (OLED_RESET); void setup () {pinMode (SWITCH, INPUT_PULLUP); Serial.begin (9600); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); kechikish (2000); display.clearDisplay (); display.setTextSize (1); display.setTextColor (oq); } void loop () {display.display (); kechikish (2000); display.clearDisplay (); display.setTextSize (1); display.setCursor (0, 0); display.println ("Salom dunyo!"); display.println ("Salom ko'rsatmalarga!"); }

Bu ko'rsatma va bu Github havolasi muammolarni bartaraf etish va displeyni dasturlash bo'yicha ko'proq ma'lumot olish uchun juda yaxshi havoladir.

10 -qadam: LEDlarni dasturlash

LEDlarni dasturlash
LEDlarni dasturlash
LEDlarni dasturlash
LEDlarni dasturlash
LEDlarni dasturlash
LEDlarni dasturlash

LEDlar ham juda oddiy. Biz Adafruit Neopixel kutubxonasidan foydalanamiz. Shaxsan, NeoPixel kutubxonasi, agar siz hech qachon dasturlashtirmagan bo'lsangiz, ishlov berish dasturlashiga juda o'xshaydi.

Birinchi o'rnatish kodi, biz foydalanadigan kutubxonaga murojaat qilish va pimda qancha LEDlar borligi, ma'lumotlar uchun qanday pin va qanday dasturlashtirilganligini ko'rsatadigan qatorni sozlash. Bu Adafruit_NeoPixel strip = Adafruit_NeoPixel (6, 10, NEO_GRB + NEO_KHZ800) kabi misol yordamida amalga oshiriladi; Bu shuni anglatadiki, 6 ta LED mavjud, pin 10 -pinli va NEO_GRB + NEO_KZH800 manzilli chiziqlar ishlatiladi. Odatda oxirgi dalilga tegishning hojati yo'q, men ishlatgan LED chiziqlar o'zgarmadi.

Shundan so'ng sizga strip.begin () kerak bo'ladi; Siz ulardan foydalanishga tayyor ekanligingizni ko'rsatadigan funktsiya. Qavslar ichida hech narsa bo'lishi shart emas.

Buni olganingizdan so'ng, siz chiziq bilan turli funktsiyalarni chaqira olasiz. [Function]

Siz bilishingiz kerak bo'lgan narsa bu strip.setPixelColour. Qavslar ichida bu 4 funktsiyaga ega. Sizda LEDlarning "massivida" LED (esda tuting, massivlar 0 dan boshlanadi) va mos keladigan qizil, yashil va ko'k qiymatlari 0-255 gacha. Bu sizga kerakli rangni olish uchun kerakli Qizil Yashil va Moviy qiymatlarni aralashtirishga imkon beradi. Kod shunday bo'lishi kerak: strip.setPixelColour (0, 0, 255, 255); Agar siz birinchi LEDda ko'k rangni xohlasangiz.

LED ham shu ma'lumotlarni yuborishi kerak, bu esa strip.show (); qiladi. Siz ular bilan biror narsani o'zgartirgandan so'ng piksellarni yangilaydi. Qavslar ichiga hech narsa kirmasligi kerak.

Kod quyidagicha ko'rinishi kerak:

// Foster Fillips tomonidan ishlab chiqarilgan kod

#o'z ichiga Adafruit_NeoPixel.h #PIN kodni belgilash 10 #define Num 6 Adafruit_NeoPixel strip = Adafruit_NeoPixel (Raqam, 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 (); }

Qo'shimcha ma'lumotni bu erda topishingiz mumkin.

11 -qadam: yig'ish

Yig'ish!
Yig'ish!
Yig'ish!
Yig'ish!
Yig'ish!
Yig'ish!

Bu, ehtimol, eng oson va eng zo'r qadamdir.

Ishni Pro Micro -ga korpusning yopilishiga joylashtirish va siljitishdan boshlang. Bir oz issiq elim bilan joyiga yopishtiring.

Kassa/yopilish tugmachasi va LED plastinkasini yon tomonga burab qo'yadigan qilib yaratilgan, uni ichkariga suring va uni qanday bosib chiqarganingizga qarab, plastmassani olib tashlash uchun slaydlarning ichki qismini kesib yoki kesib olishingiz kerak bo'ladi.

Shundan so'ng, vintlardek oling va uni mahkamlang va o'z vintlardek teshik qiling. Fayllarni loyihalashda menda vintlardek aniq vintlar yo'q edi, shuning uchun men taxminan vint o'lchamidagi teshik qildim va uni o'zimga burab qo'ydim. Uni zajigalka bilan qizdirish sizga kerakli vintni shakllantirishga yordam beradi va odatda qatlamlarni mustahkamlaydi. Vintlarni juda ko'p bosmasligingizga ishonch hosil qiling, aks holda siz boshni echishingiz mumkin. Men bu xavfni kamaytirish uchun Allen kalit vintlarini ishlatardim.

Keyin tugmachalarning tugmachalarini bosib turing. Keyin deyarli hamma narsa bajarildi! Mening Ok tugmachasi Macropad versiyasi tugallandi!

12 -qadam: O'zingizning yaxshilanishlaringiz

Endi siz mening versiyamni qanday yaratishni bilasiz, o'zingiznikini qilishingiz mumkin! Klaviatura, shubhasiz, o'zingizni ifoda etishga bog'liq bo'lishi mumkin, shuning uchun agar siz uni o'zingizga moslashtirmasangiz, boshqalarning dizayniga ega bo'lish qiziq emas! Siz qila oladigan ko'plab yaxshilanishlar mavjud! Bu erda men qo'shmoqchi bo'lgan yoki o'ylaydigan ba'zi yaxshilanishlar!

  • Tetris dasturi va boshqa oddiy o'yinlar
  • Bluetooth -ga aylantiring
  • Slayd -shoulardan ma'lumotlarni o'qishga va OLED -da ko'rsatishga ruxsat bering (slayd raqami va nomini ko'rsating)
  • Ushbu texnikadan foydalanib, to'liq o'lchamli klaviatura yoki kattaroq macropad yarating

    Buning uchun siz kalit matritsasini yaratishni o'rganishingiz kerak

  • Ko'proq rang variantlarini dasturlash
  • O'yinlar, video tahrirlash va boshqalar uchun dastur makrolari.
  • Autodesk Inventor manba fayllaridan o'zingizning shaxsiy ishingiz uchun foydalaning yoki uni o'zingizniki qilib o'zgartiring!
  • Musiqa pleyeri sifatida ikki barobar bo'lishi uchun ovoz kartasini qo'shing

Qilishdan zavqlaning! Maslahatlar qo'shishingiz yoki tushuntirishimni so'rashingiz mumkin!

Agar siz boshqa bo'limlarning rivojlanishini ko'rishni xohlasangiz, Instagram -ni ko'rib chiqing. Mening ko'rsatmalarni o'qiganingiz uchun tashakkur!

Mikrokontroller tanlovi
Mikrokontroller tanlovi
Mikrokontroller tanlovi
Mikrokontroller tanlovi

Mikrokontroller tanlovida ikkinchi o'rinni egalladi

Tavsiya: