Mündəricat:

Xüsusi Makro Mexanik Klaviatura: 12 Adım (Şəkillərlə birlikdə)
Xüsusi Makro Mexanik Klaviatura: 12 Adım (Şəkillərlə birlikdə)

Video: Xüsusi Makro Mexanik Klaviatura: 12 Adım (Şəkillərlə birlikdə)

Video: Xüsusi Makro Mexanik Klaviatura: 12 Adım (Şəkillərlə birlikdə)
Video: Cyberpunk 2077 (Киберпанк 2077 без цензуры) #4 Прохождение (Ультра, 2К) ► ЩУЧЬИ РУКИ 2024, Iyul
Anonim
Xüsusi Makro Mexanik Klaviatura
Xüsusi Makro Mexanik Klaviatura
Xüsusi Makro Mexanik Klaviatura
Xüsusi Makro Mexanik Klaviatura
Xüsusi Makro Mexanik Klaviatura
Xüsusi Makro Mexanik Klaviatura
Xüsusi Makro Mexanik Klaviatura
Xüsusi Makro Mexanik Klaviatura

Bu Təlimat kitabında sizi Arduino tərəfindən idarə olunan öz 6 düyməli makropadınızı yaratmağın əsas yolları ilə tanış edəcəyəm. Sizə lazım olanı, onu necə yığacağınızı, necə proqramlaşdıracağınızı və necə təkmilləşdirəcəyinizi və ya özünüzə necə aparacağınızı izah edəcəyəm.

Çox araşdırmalardan sonra, makro klaviatura və ya ümumiyyətlə əlli klaviatura düzəltmək üçün əla bir bələdçi tapa bilmədim. Buna görə də, diodlar, rezistorlar və ya başqa bir şey olmadan, bunu ən sadə şəkildə özüm etməyə qərar verdim. İstədiyim hər hansı bir hissəni götürə biləcəyim bənzərsiz bir modul klaviaturaya sahib olmaq istədim, bu bir çox digər hissənin birincisidir. Bu modulun ilhamı, klaviaturadakı ox düymələrindən, cibinizə sığdıra bilməyinizdən və yolda bir neçə əlavə düyməyə ehtiyacınız olarsa hər yerə götürməyinizdən qaynaqlanırdı.

Bu klaviaturanın necə hazırlandığına görə, satın alma qərarı verməzdən əvvəl Təlimat kitabının hamısını oxumağı məsləhət görürəm.

Mən də Instructable -ı məntiqi qaydada düzəltməyə çalışdım, amma məntiqli qurmuram, buna görə də necə qurmağınızdan asılı olaraq addımlar sırasına keçmək daha yaxşı olar.

Addım 1: hissələri əldə edin

Parçaların alınması
Parçaların alınması

Ən uzun addım burada, hissələri almaq və göndərilməsini gözləməkdir. Amazon bağlantıları Kanadalı Amazon olacaq. Ehtiyac duyacağınız hissələr bunlardır:

  1. Mexanik açar açarları

    • Buradan şəffaf zirvələri olan Gateron açarlarını seçirəm (Təmiz zirvələr növbəti addımı asanlaşdırır, ən çox yayılmış açar növləri də orda əhatə olunur)
    • Satın almaq üçün başqa yerləri burada ən sevdiyiniz keçid bölməsinin altında tapa bilərsiniz

      Həm də burada 'Hisslər' bölməsində istədiyiniz keçidlə bağlı bir az araşdırma aparmağı məsləhət görürəm

  2. Mexanik düymələr

    • Seçdiyiniz keçid ilə uyğun olduğundan əmin olun!

      Həm də arxa işığa uyğun olduğundan əmin olun ki, rəngi dəyişə biləsiniz

    • Tam Keycap dəsti istəmirsinizsə, satıcıları burada 'Yenilik Açarları (standart istehsal)' bölməsində tapa bilərsiniz.
  3. Ünvanlı RGB LED şeritler (İsteğe bağlı, lakin çox tövsiyə olunur)

    • Amazondan bunlara bənzər bir şey aldım

      • LED -lərin WS2812B LED olduğundan əmin olun, daha aşağı gərginliyi qəbul edə bilərlər.
      • İstifadə etmək üçün ən sevdiyiniz rəngin 3 mm -lik adi LED -lərini də ala bilərsiniz, ancaq rezistorlara ehtiyacınız olacaq
  4. HID uyğun mikro nəzarətçi (Pro Micro istifadə etdim)

    • Bunları ən yaxşı qiymətə Amazon -dan aldım

      Digər mikro nəzarətçiləri satın ala bilərsiniz, ancaq bunların Arduino və HID (insan giriş cihazı) uyğun olduğuna əmin olun

  5. 128x32 I2C OLED ekran

    Bunu Amazon -dan aldım

  6. 3D printerə giriş

    • Ətrafınızdakı yerli kitabxanalar və ya məktəblərlə sınayın və 3D printerə sahib olub olmadıqlarına baxın
    • Şəxsən mən heç vaxt onlayn xidmətdən istifadə etməmişəm, amma siz də onlardan istifadə edə bilərsiniz (buna bənzər bir şey)
  7. İncə tel
  8. Lazımi Ümumi Alətlər

    • Lehimləmə Dəmiri və Lehim
    • Yan kəsici kəlbətinlər
    • Kiçik Fayllar (İsteğe bağlı)
    • İsti yapışqan tabancası və yapışqan
    • Seçdiyiniz tornavida və vintlər

Addım 2: Klaviatura dəyişiklikləri

Düymələrin dəyişdirilməsi
Düymələrin dəyişdirilməsi
Düymələrin dəyişdirilməsi
Düymələrin dəyişdirilməsi
Düymələrin dəyişdirilməsi
Düymələrin dəyişdirilməsi

Aldığınız açarları sökməyə başlayın. İşığın klaviatura qapaqlarımıza daha yaxşı çatması üçün bunu etmək üçün edirik. RGB -ni dəstəkləməyən düymələr seçmisinizsə, bu addımı atlayın.

2 kiçik paz götürün (2 düzbucaqlı tornavida ucu istifadə etdim) və açarın yan tərəfindəki çubuqların altına itələyin. Sonra üst və alt arasında bir şey qoyun ki, bağlanmasın. Digər tərəfdəki nişanları itələməyə davam edin, buna görə heç bir nişan hələ də üstü tutmamalıdır. Bundan sonra bitirin və açarın yuxarı hissəsini açın. Ümumiyyətlə, korpusun yuxarı və aşağı hissəsi, yay və gövdə (açarın qapağını tutan açarın sürüşmə hissəsi) olmaqla dörd hissədən ibarətdir.

Daha çox işığın keçməsi üçün qutunun altından kiçik kiçik parçaları kəsməyə başlayın. Əvvəlcə lövhədə açarı tutan tırnağı kəsin. Sonra bir az orijinal LED keçidini kəsin (4 delikli hissəsi LED -lərin ayaqları üçündür). Dibinə enmək üçün içəridəki sekmeyi yavaşca kəsin. Sonra yayı tutan açarın silindrik mərkəzinə qədər kəsməyə davam edin. Bundan daha irəli getməyimizə ehtiyac yoxdur. Bundan sonra, əvvəlcədən qəliblənmiş dayaqlar ilə hər iki tərəfi yavaş-yavaş kəsərək çuxuru bir qədər genişləndirin. Başqa bir isteğe bağlı addım, onu daha yaxşı və daha az əyilmək üçün sənədləşdirməkdir. Kassanın içərisində heç bir plastik parçanın olmadığından əmin olun, çünki açarın yapışmasını istəmirsiniz. Bu kəsmələri yavaş və kiçik etdiyinizə əmin olun, çünki işi kəsməyə məcbur edən yan kəsicilərin genişliyindən bir neçə kassa qırdım.

Şalterinizin yuxarı yarısı da aydın deyilsə, işığın parlaması üçün onu dəyişdirməyə çalışın. Keçidi pozmadan yavaş -yavaş sınayın, çünki kökün düşməsini istəmirsiniz. Mümkün bir həll, normal bir LED tutacaq bir plastik parçanı kəsmək və gövdəni qapalı saxlayan plastikdən buraxmaq və yalnız aşağıya qoymaqdır.

Addım 3: 3d çap

3d çap
3d çap

Aşağıdakı zip fayllarından birini yükləməli və 3d çap etməlisiniz. İstədiyinizə görə fərqli versiyalar olacaq. İçərisində bütün normal stl faylları olan bir qovluq olacaq (KeybArrowSTLFiles) və Autodesk ixtiraçı sənədləri olan (KeybArrowSourceFiles), belə ki sənədləri dəyişdirə və öz ehtiyaclarınıza uyğun olaraq dəyişdirə bilərsiniz. Fayllar çap etdiyimdən bir qədər fərqlidir, bunun səbəbi bəzi dizayn qüsurlarının olması idi və onları yaxşılaşdıra biləcəyimi hiss etdim. Məsələn, işin tərəfləri ola bilər, mənimki bir qədər yüksək idi, buna görə düymələr aşağıya doğru itməyəcək, yeni sənədlər bunu düzəltməlidir.

Onların dizaynı 30 -dan çox mərhələdən ibarət olduqca mürəkkəb idi. Deyəcəyim tək şey, fərqli bir ölçü üçün bir çanta dizayn etmək istəyirsinizsə, bir qədər mürəkkəb 3d dizaynlarla təcrübəniz olduğundan əmin olmalısınız. Bu, 3d dizaynında yeni olanlar üçün uyğun deyil.

Diqqət yetirin ki, hər iki korpus faylı 3 dərəcə bir açıdadır və onları yatağa düz bir şəkildə açmalısınız

Addım 4: İndiyə qədər əldə etdiklərinizi yığın

İndiyə qədər Sahib Olduqlarınızı Yığmaq
İndiyə qədər Sahib Olduqlarınızı Yığmaq
İndiyə qədər Sahib Olduqlarınızı Yığmaq
İndiyə qədər Sahib Olduqlarınızı Yığmaq
İndiyə qədər Sahib Olduqlarınızı Yığmaq
İndiyə qədər Sahib Olduqlarınızı Yığmaq
İndiyə qədər Sahib Olduqlarınızı Yığmaq
İndiyə qədər Sahib Olduqlarınızı Yığmaq

İndi bütün hissələrimiz və 3d çaplı hissələrimiz olduğu üçün onu bir az yığmağın vaxtı gəldi!

6 açarın hamısını boşqaba qoyun və yerinə yapışdırın. Onları yapışdırmalıyıq, çünki yerində saxlayan tırnaqları kəsirik. OLED -yə qoymağı gözləməyi təklif edirəm, çünki əyilməsini istəmirsiniz.

Sonra 6 LED -i kəsib LED lövhəsinə qoyun. Plitədəki kvadratlar, LED -ləri hizalamağa kömək etmək üçündür. Kvadrat LED -lər onlara uyğun olacaq, buna görə hizalanmağa kömək etmək üçün başqa birini 3d çap edə və ya arxadan düzəldə bilərsiniz. DO -nun DI -yə lehimlənəcəyi üçün oxların digər LED -lərə işarə etdiyinə əmin olun. LEDləri isti yapışqan ilə yapışdırmaq üçün bu kvadratları istifadə edin və yerində saxlayın və yapışqanın tutmasını gözləyin.

LEDləri (şəkillərdə) saxlamaq üçün açarlar üçün prototip lövhədən istifadə etdim, çünki filament israf etməyi sevmirəm və yenidən istifadə etmək qərarına gəldim. Yeni fayl heç bir şeyə təsir etməyəcək, sadəcə hizalamağı asanlaşdırın.

Addım 5: OLED qurmaq

OLED qurulması
OLED qurulması
OLED qurulması
OLED qurulması
OLED qurulması
OLED qurulması

Bu təlimatı hərtərəfli gəzmək üçün istifadə etməyi məsləhət görürəm. Bunu izah etmək üçün həqiqətən yaxşı bir iş gördülər.

Kodun işləməsi üçün bu kitabxananı və bu kitabxananı yükləməli və idxal etməlisiniz.

Əvvəlcə tel bağlayın. VCC -ni VCC -yə və GND -ni GND -ə bağlayın. Sonra SDA və SCL sancaqlarını bağlayın. SDA və SCL pinləri hər bir Arduinodan fərqli ola bilər, lakin pro mikrofonda SDA 2 -ci pinlə, SCL isə 3 -cü pinlə bağlanır. SDA -nın hansı sancaqlar olduğundan əmin deyilsinizsə, mikro nəzarətçinizin bir pinoutuna baxın. və SCL tellidir.

Növbəti şəkilləri nümayiş etdirmək və etməkdir. Bunun necə işə salınacağına dair aşağıda fayllar olacaq. İlk addım ScreenScan kodunu istifadə etməkdir (əvvəlcə Arduino tərəfindən burada verilmişdir). Kodu Pro Micro -ya yükləyin və Serial oxuyucusunu açın (yuxarıdakı alətlər sekmesinin altında). Sizə OLED -in geri ünvanını və ünvanını oxuyacaq. Ünvanınız 0x3C -dirsə, heç nəyi dəyişməyə ehtiyac yoxdur. Əgər belə deyilsə, gedin və ssd1306_128x32_i2c kodundakı ünvanı və son kodu (ArrowKeypad adlandırın) düzgün işləməsi üçün dəyişdirməlisiniz.

İndi 128x32 i2c kodu (ssd1306_128x32_i2c adlanır) üçün Adafruit ssd1306 kitabxanasına daxil olan nümunə kodu sınayın.

Bundan sonra, Arduino'yu açıq saxlayın və keçid lövhəsindəki OLED -ni düzməyə çalışın, sonra söndürün və yerinə yapışdırmağa çalışın. Çox güman ki, bu ilk sınağı almayacaqsınız, ancaq tamamlandıqda bucaq açılmaması üçün düzəltməyə çalışın. Bir tərəfi bir az yapışdırmağı və digər tərəfi yapışdırmadan əvvəl əyilmədiyini yoxlamağı məsləhət görürəm.

Kodu indi endirin və bu Təlimat kitabında 8 -ci addımdakı digər kod sənədlərindən istifadə edin

Addım 6: Lehimləmə

Lehimləmə
Lehimləmə

Fritzing faylı aşağıda olacaq. Bu, dövrə ilə qarşılıqlı əlaqə qurmağa imkan verəcək və sol düyməni basıb saxlasanız, fayl açılmadan əvvəl Fritzingə idxal edilməli olan bütün tellərin (sarı nöqtələrlə vurğulanmış) bağlı olduğunu görə bilərsiniz. Pro Micro və LED).

"MOSI, MISO və ya SCLK" etiketli sancaqların İSTİFADƏ edilmədiyinə əmin olun, yoxsa OLED -də arızalara səbəb olacaq

6 LED -ni tək zolaqlara kəsdikdən və lövhəyə yapışdırdıqdan sonra. Lehimləmə dəmirini mis yastıqların üzərinə qoyun və hər yastığa lehim əlavə edin. Kiçik tel parçaları kəsin və yarısını soyun, bükün, sonra digər yarısını çıxarın və teli bükün. Telin kəlbətinlə və ya bir az lehimləmə köməkçi əlləri ilə tutulması lazımdır, siz isə onu lehimlə tutun. Orada yaxşı tutmaq üçün daha çox lehim əlavə edin. Sıradakı bütün LEDləri birlikdə lehimləyin. Bir tel kəsin və 'DO' və ya 'D-' etiketi ilə ilk sıradakı LED-in sonuna lehimləyin və 'DI' və ya 'D+ etiketi ilə ikinci cərgədəki ilk LEDə bağlayın. '. Bunu 5v və GND ilə də edə bilərsiniz, ancaq hər cərgədəki ilk 5v və GND LED -ləri bir -birinə bağlasanız daha asan olar. 5V telini VCC -yə, Məlumat pinini hər hansı bir rəqəmsal pinə (kodu 10 olaraq təyin edilmişdir) və GND -ni Arduino -da GND -yə bağlayın.

Arduinonun bir girişi tanımasını təmin etmək üçün açarların zəmini bir məlumat pininə bağlaması lazımdır. Beləliklə, bütün 6 açarı yerə bağlamaq üçün bir teli lehimləyə bilərsiniz. Hər bir açara bir tel lehimləyin və mümkünsə, hansı açarın hansı tel olduğunu izləmək üçün telin rəngini dəyişməyə çalışın. Telləri LED lövhədən keçirin və Arduino üzərindəki məlumat pininə bağlayın (bunun üçün 5-9 məlumat pinlərindən istifadə etdim)

Yan tərəfdəki iki açarın fərqli funksiyaları var, biri proqramlaşdırma üçün sıfırlama açarı, digəri isə düymələrin funksiyalarını tez bir zamanda dəyişdirmək üçün Klaviatura təbəqələri arasında dəyişəcək bir funksiya açarıdır. Üst keçid, (RST) və GND -ni sıfırlamaq üçün bağlanır, bağlandıqda sıfırlamaya səbəb olur. Alt keçid, Pro Micro -da A0 olaraq etiketlənmiş pin 18 -ə qədər bağlanmışdır. Hələ də lövhələrdə sürüşməyiniz lazım olduğu üçün keçid telləri ilə özünüzə bir az boşluq verin və çox az bir tel lövhələri yuxarıdan daxil edin.

Addım 7: Proqramlaşdırmaya Giriş

Proqramlaşdırmaya Giriş
Proqramlaşdırmaya Giriş

Davanı bağlamaq istəməzdən əvvəl onu sınamaq və işlədiyinə əmin olmaq lazımdır. İndi yığmaq üçün 11 -ci addıma keçə bilərsiniz. Sadəcə görürəm ki, əvvəlcədən sınamaq onu açıb bağlamaq müddətinizi azaltmağa kömək edir. Çox təsir etməməsinə baxmayaraq, Arduino IDE 1.8.3 versiyasını istifadə etdim, buna görə probleminiz varsa, bu versiyadan istifadə etməyə çalışın. Kod 5 -ci addımdadır, Arduino vasitəsi ilə çıxarmağınız və yükləməyiniz lazım olan bir zip faylıdır.

Aşağıda birdən çox kod parçası olacaq. Biri son kod, ikisi OLED -ni sınamaq (biri test etmək üçün, biri ünvanı tapmaq üçün) və biri RGB -ni sınamaq olacaq. Açarları yoxlamaq üçün son kodu istifadə edin.

Öz kodunuzu tərtib etmək istəyirsinizsə, bunu növbəti 3 addımda öyrədirəm, amma mənim kodumu istifadə etmək və ya götürüb dəyişdirmək istəsəniz tamamilə yaxşıdır.

Bu proqramlaşdırmanın bəzi əsasları

  • "Alətlər" sekmesinin, sonra "İdarə Heyəti" sekmesinin altında, Arduino Leonardoya qoyun (Pro Micro -dan fərqli bir mikro nəzarətçiniz yoxdursa)
  • Kodu hər dəfə Pro Micro -ya yüklədiyiniz zaman sıfırlama düyməsini istifadə edin. Gördüm ki, tərtib çubuğu dolduqda və hələ də yüklənərkən, proqramı açmaq və söndürmək üçün yaxşı vaxtdır. (Bunu etməsəniz, yükləmə sadəcə yüklənə bilməyəcək.)
  • İstifadə olunan bütün kitabxanalar quraşdırılmalı və idxal edilməlidir

    İdxal etmək üçün alətlər sekmesine keçin və kitabxana daxil et düyməsini basın. (Həmçinin unutmayın ki, veb səhifədəki kod nümunələrim kitabxananın ətrafında olmalıdır, onları bir neçə addımda nümunə kod hissəsinə daxil edə bilmədim)

  • LED və OLED kitabxanaları obyekt kimi işə salınacaq, onlara nə ad verə bilərsiniz, amma nümayiş üçün onlara 'zolaq' və 'ekran' adını verəcəyəm.

    Obyektin adını yazaraq, nöqtə qoyaraq, sonra da istifadə etmək istədiyiniz funksiyanı yazaraq funksiyaları bir obyektdən çağırın

Sonra LEDləri sınayın, kodu yükləyin və hamısının işlədiyinə əmin olun. Heç biri işləmirsə, onlara gedən bir pin yoxdursa, ilk LED -in lehimlənməsini yoxlayın.

Nəhayət, açarlarınızı sınamaq üçün son kodu istifadə edin. Bunu etmək ən asan olmalıdır. Diqqət yetirin ki, indi bir neçə HID kodu yüklədikdən sonra hər dəfə kodu yüklədiyiniz zaman Arduinonu sıfırlamalı olacaqsınız. Yükləyərkən yarıya qədər sıfırlayın və işləməlidir.

Addım 8: Açarların proqramlaşdırılması

Açarların proqramlaşdırılması
Açarların proqramlaşdırılması
Açarların proqramlaşdırılması
Açarların proqramlaşdırılması

Bütün proqramlaşdırma içərisində açarlar ən az mürəkkəbdir. Bir klaviatura olaraq tanınması üçün Arduino Klaviatura kitabxanası və şərtli ifadələrdən istifadə etməlisiniz. Mənim kimi bir Pro Micro istifadə edirsinizsə, Alətlər sekmesinin altında, İdarə Heyətinin bir Arduino Leonardo olaraq qurulduğundan əmin olun.

Şərti ifadələrə başlamazdan əvvəl sancaqlar qurmalıyıq. Bunun yalnız bir dəfə işləməsinə ehtiyacımız var, buna görə boşluq quruluşuna qoyun. PinMode ilə başlayın (PinNum, INPUT_PULLUP); Bu, Arduino -ya PinNum -un bir giriş gözlədiyini və çəkilmə rezistoru əlavə etdiyini bildirir (belə ki, aparatda heç bir tel bağlamağımıza ehtiyac yoxdur)

Giriş çəkilişində LOW və HIGH 2 vəziyyət var. Arduino, Ground -a (GND) qoşulduqda bir pin üzərində LOW oxuyacaq və bağlantısı kəsildikdə HIGH oxuyacaq. Pimin nə oxuduğunu öyrənmək üçün digitalRead (PinNum) istifadə edirik.

Əsaslardan başlayaraq, düymənin basıldığını öyrənmək üçün şərti if ifadələrini istifadə edirik. Bunun təkrar -təkrar işləməsini istəyirik, buna görə boşluq döngəsinin qoyulmasını istəyirik. Əgər açar "LOW" olaraq qeydiyyatdan keçibsə, onda düymənin basılmasını və giriş "YÜKSEK" olduqda açarın buraxılmasını istəyirik. Bunu etmək üçün, əgər (digitalRead (PinNum) == DÜŞÜK) {[Düyməyə basıldığı üçün kod]} və əgər (digitalRead (PinNum) == YÜKSƏK) {[Düymə buraxıldıqda kod] }

Klaviatura kodu üçün Klaviatura kitabxanasını idxal edin. Klaviatura qoyun.begin (); boşluq quruluşunda. Sonra şərti ifadələrimizin içərisində keyboard.press ([key]) istifadə edirik; və keyboard.release ([düymə)); və ya keyboard.releaseAll (); birdən çox düymə basıldı. Keyboard.print ([String]) də istifadə edə bilərsiniz; və parol kimi sətirləri çap etmək üçün keyboard.println ([String]). print və println oxşardır, ancaq println yalnız ENTER əlavə edir, buna görə avtomatik olaraq növbəti sətrə keçir.

Addım 9: OLED proqramlaşdırılması

OLED proqramlaşdırılması
OLED proqramlaşdırılması
OLED proqramlaşdırılması
OLED proqramlaşdırılması
OLED proqramlaşdırılması
OLED proqramlaşdırılması

OLED proqramlaşdırmağa başlayaraq, əsas quraşdırma koduna sahib olmalısınız. Bu, əsasən kompüterə OLED -in harada yerləşdiyini, ölçüsünü və necə proqramlaşdırıldığını bildirir. OLED üçün quraşdırma kodunu əldə etdikdən sonra, yalnız mətn göstərdiyinizi güman edərək proqramlaşdırmaq olduqca sadə olmalıdır. Əvvəlcə Wire və SSD1306 kitabxanaları daxildir.

OLED_RESET -i 4 olaraq təyin edin və kodunuza SSD1306 kitabxanasını daxil edin. Adafruit_SSD1306 ekranını qoyun (OLED_RESET); kodunuzda Adafruit SSD1306 kitabxanasının istifadəsinə başlayın.

Serial.begin (9600) ilə başlayın; sonra display.begin (SSD1306_SWITCHCAPVCC, 0x3C); i2C ekranı 0x3C ünvanı ilə başlatmaq üçün (5 -ci addımda dəyişmədiyi təqdirdə). Bunların hər ikisini boş yerə qoyun, çünki yalnız bir dəfə işləməlidir.

Ekranı proqramlaşdırmadan əvvəl, display.clearDisplay istifadə etdiyinizə əmin olmalısınız. Əgər etməsəniz, daxil edilənlər üst -üstə düşəcək və nəyin dəyişdiyindən asılı olaraq oxunaqlı olmayacaq. Mənşəyi də təyin etmək istəyirsiniz, buna görə display.setCursor (0, 0) istifadə edin; Ekranınızdakı bir nöqtəyə təyin etmək üçün (0, 0) qoyaraq yenidən əvvəldən sıfırlayın. Mətnin ölçüsünü təyin etmək üçün display.setTextSize (1) istifadə edin; 1 -dən çox getməzdim, gözləniləndən daha böyükdür.

Ekranınız monoxrom olsa da, mətn rəngini təyin etməliyik, buna görə də display.setTextColor (BEYAZ) kimi proqramlaşdırırıq;

Kitabxananız idxal edildikdən və görüntü obyektiniz olduğu üçün onu proqramlaşdırmağa başlaya bilərsiniz. Mətn əlavə etmək üçün display.print () istifadə edin; və display.println (); simləri çap etmək. Yenə bir şey yenidən çap edildikdə println avtomatik olaraq növbəti sətrə qayıdarkən, print bir qaytarma əlavə etmir.

Göstəriləcək bir şey əldə etməzdən əvvəl, OLED -ni yeniləməlisiniz və onu yeniləməyi söyləmək üçün display.display () istifadə etməlisiniz; parametrləri yoxdur və yenilənəcək.

Kod indi belə bir şeyə bənzəməlidir:

// Foster Phillips tərəfindən hazırlanan kod

#daxil Adafruit_SSD1306.h #Wire daxil edin.h #OLED_RESET 4 təyin edin Adafruit_SSD1306 displeyi (OLED_RESET); void setup () {pinMode (SWITCH, INPUT_PULLUP); Serial.begin (9600); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); gecikmə (2000); display.clearDisplay (); display.setTextSize (1); display.setTextColor (BEYAZ); } boşluq döngəsi () {display.display (); gecikmə (2000); display.clearDisplay (); display.setTextSize (1); display.setCursor (0, 0); display.println ("Salam Dünya!"); display.println ("Salam Təlimatlar!"); }

Bu Təlimatlı və bu Github bağlantısı həm problemlərin aradan qaldırılması, həm də ekranın proqramlaşdırılması haqqında daha çox məlumat üçün çox yaxşı istinadlardır.

Addım 10: LED -lərin proqramlaşdırılması

LED -lərin proqramlaşdırılması
LED -lərin proqramlaşdırılması
LED -lərin proqramlaşdırılması
LED -lərin proqramlaşdırılması
LED -lərin proqramlaşdırılması
LED -lərin proqramlaşdırılması

LED -lər də olduqca sadədir. Adafruit Neopixel kitabxanasından istifadə edəcəyik. Şəxsən NeoPixel kitabxanası, heç proqramlaşdırılmış olsanız, Qenerasiya proqramlaşdırmasına çox bənzəyir.

İstifadə etdiyimiz kitabxanaya müraciət edən və əsasən pin üzərində neçə LED olduğunu, məlumat üçün hansı pin olduğunu və necə proqramlaşdırıldığını söyləyən bir sıra qurmaq üçün ilk quraşdırma kodu var. Bu, Adafruit_NeoPixel strip = Adafruit_NeoPixel (6, 10, NEO_GRB + NEO_KHZ800) kimi bir nümunə ilə edilir; Bu, 6 LED -in olduğunu, pinin 10 nömrəli pin olduğunu və NEO_GRB + NEO_KZH800 ünvanlı zolaqlardan istifadə etdiyini izah edir. Adətən son arqumentə toxunmaq lazım deyil, istifadə etdiyim LED şeridlərə ehtiyac yox idi.

Bundan sonra zolağa ehtiyacınız var.begin (); istifadə etməyə hazır olduğunuzu göstərən funksiya. Mötərizədə heç bir şey olmamalıdır.

Bunu əldə etdikdən sonra, zolaqla fərqli funksiyaları çağıra bilərsiniz. [Function]

Bilməyiniz lazım olanlardan biri strip.setPixelColour. Bu mötərizədə 4 funksiyaya malikdir. LED-lərin LED-lərində (unutmayın, Arrays 0-dan başlayır) və müvafiq Qırmızı, Yaşıl və Mavi dəyərləri 0-255 arasındadır. Bu, istədiyiniz bir rəng əldə etmək üçün istədiyiniz Qırmızı Yaşıl və Mavi dəyərlərini qarışdırmağa imkan verəcəkdir. Kod belə görünməlidir: strip.setPixelColour (0, 0, 255, 255); ilk LED -də mavi rəng istəsəniz.

LED də bu məlumatları göndərməlidir, bu da strip.show (); edir. Onlarla bir şey dəyişdirdikdən sonra pikselləri yeniləyəcək. Mötərizədə heç bir şeyə ehtiyac yoxdur.

Kod belə görünməlidir:

// Foster Phillips tərəfindən hazırlanan kod

#daxil edin Adafruit_NeoPixel.h #PIN kodunu təyin edin 10 #define Num 6 Adafruit_NeoPixel şeridi = Adafruit_NeoPixel (Num, PIN, NEO_GRB + NEO_KHZ800); void setup () {strip.begin (); strip.show (); } boşluq döngəsi () {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 (); }

Ətraflı məlumatı burada tapa bilərsiniz.

Addım 11: Montaj

Montaj!
Montaj!
Montaj!
Montaj!
Montaj!
Montaj!

Bu, bəlkə də ən asan və ən maraqlı addımdır.

Pro Micro -da korpusun qapağına qoyaraq sürüşərək başlayın. Bir az isti yapışqan ilə yerə yapışdırın.

Kassa/bağlama, keçid lövhəsini və LED lövhəsini yan tərəfə yerləşdirə biləcəyiniz şəkildə hazırlanmışdır. Sadəcə içəriyə sürüşdürün və necə çap etdiyinizə görə, bir az çıxarılan plastik çıxarmaq üçün slaydların içini sənədləşdirmək və ya kəsmək lazım ola bilər.

Bundan sonra, vintlərinizi alın və oraya sıxın və öz vida deliklərinizi düzəldin. Faylları tərtib edərkən konkret vintlərim yox idi, buna görə də təxminən bir vida böyüklüyündə bir çuxur düzəldib özümdə vidaladım. Çakmakla qızdırmaq, ehtiyacınız olan vida şəklində formalaşmasına kömək edəcək və ümumiyyətlə təbəqələri gücləndirir. Vintləri çox itələməməyinizə əmin olun, yoxsa başınızı soyun. Bu riski azaltmaq üçün Allen açar vintlərindən istifadə etdim.

Sonra düymələrin qapaqlarını düymələrin üzərinə itələyin. Sonra çox şey edildi! Arrow Key Macropad versiyam tamamlandı!

Addım 12: Öz təkmilləşdirmələriniz

İndi mənim versiyamı necə edəcəyinizi bildiyinizə görə özünüz hazırlaya bilərsiniz! Klaviaturalar, şübhəsiz ki, özünüzü ifadə etməklə bağlı ola bilər, buna görə özünüzə uyğun olaraq dəyişdirməyincə başqasının dizaynına sahib olmaq əyləncəli deyil! Yapabileceğiniz bir çox inkişaf var! Əlavə etmək və ya düşünmək istədiyim bəzi təkmilləşdirmələr var!

  • Tetris proqramı və digər sadə oyunlar
  • Bluetooth -a çevirin
  • Slayd şoularından məlumatları oxumasına və OLED -də göstərməsinə icazə verin (Slayd nömrəsini və slaydın adını göstərin)
  • Bu texnikadan istifadə edərək tam ölçülü bir klaviatura və ya daha böyük bir macropad hazırlayın

    Bunun üçün bir keçid matrisi qurmağı öyrənməlisiniz

  • Daha çox rəng seçimi proqramlaşdırın
  • Oyunlar üçün proqram makroları, video tənzimləmə və s.
  • Autodesk Inventor mənbə sənədlərindən istifadə edin və ya özünəməxsus olaraq dəyişdirin!
  • Bir musiqi pleyeri kimi ikiqat olması üçün səs lövhəsi əlavə edin

Əylənməklə əylənin! Məsləhətlər əlavə etməkdən və ya aydınlaşdırmağımı istəməkdən çekinmeyin!

Digər hissələrin irəliləyişini görmək istəyirsinizsə, İnstaqramımı yoxlamağı düşünün. Təlimatımı oxuduğunuz üçün təşəkkürlər!

Mikrokontroller Müsabiqəsi
Mikrokontroller Müsabiqəsi
Mikrokontroller Müsabiqəsi
Mikrokontroller Müsabiqəsi

Mikro nəzarətçi yarışmasında ikinci yer

Tövsiyə: