İçindekiler:

Özel Makro Mekanik Tuş Takımı: 12 Adım (Resimlerle)
Özel Makro Mekanik Tuş Takımı: 12 Adım (Resimlerle)

Video: Özel Makro Mekanik Tuş Takımı: 12 Adım (Resimlerle)

Video: Özel Makro Mekanik Tuş Takımı: 12 Adım (Resimlerle)
Video: MERTCAN BAHAR İFŞA 2024, Kasım
Anonim
Özel Makro Mekanik Tuş Takımı
Özel Makro Mekanik Tuş Takımı
Özel Makro Mekanik Tuş Takımı
Özel Makro Mekanik Tuş Takımı
Özel Makro Mekanik Tuş Takımı
Özel Makro Mekanik Tuş Takımı
Özel Makro Mekanik Tuş Takımı
Özel Makro Mekanik Tuş Takımı

Bu Eğitilebilir Kitapta, sizi bir Arduino tarafından kontrol edilen kendi 6 tuşlu makropad'inizi yaratmanın temellerinden geçireceğim. Size neye ihtiyacınız olduğunu, nasıl birleştireceğinizi, nasıl programlayacağınızı ve nasıl geliştireceğinizi veya kendinize ait hale getireceğinizi anlatacağım.

Çok fazla araştırmadan sonra, genel olarak bir makro tuş takımının veya elle kablolu klavyenin nasıl yapılacağına dair harika bir rehber bulamadım. Bu yüzden diyot, direnç veya başka bir şey olmadan mümkün olan en basit şekilde kendim yapmaya karar verdim. Ayrıca, ihtiyacım olan herhangi bir parçayı alabileceğim benzersiz bir modüler klavyeye sahip olmak istedim, bu diğer birçok parçanın ilki. Bu modülün ilham kaynağı, klavyedeki ok tuşlarından, onu cebinize sığdırabilmeniz ve hareket halindeyken birkaç ekstra düğmeye ihtiyacınız olduğunda her yere götürebilmenizdir.

Bu tuş takımının nasıl yapıldığına bağlı olarak, herhangi bir satın alma kararı vermeden önce tüm Talimatları okumanızı şiddetle tavsiye ederim.

Ayrıca Instructable'ı mantıklı bir sırayla yapmaya çalıştım, ancak mantıklı bir şekilde inşa etmiyorum, bu yüzden nasıl inşa ettiğinize bağlı olarak adımların sırasını atlamak daha iyi olabilir.

Adım 1: Parçaları Alma

Parçaları Alma
Parçaları Alma

En uzun adım tam burada, parçaları satın almak ve sevk edilmesini beklemek. Amazon bağlantıları Kanada Amazonu olacaktır. İhtiyacınız olacak parçalar şunlardır:

  1. Mekanik Anahtar anahtarları

    • Buradan şeffaf kapaklı Gateron anahtarlarını seçiyorum (Şeffaf kapaklar bir sonraki adımı kolaylaştırır, en yaygın anahtar türleri de burada kapsanmaktadır)
    • Satın alabileceğiniz diğer yerler burada favori anahtar bölümünüzün altında bulunabilir.

      Ayrıca burada 'Hisler' bölümünün altında hangi anahtarı istediğiniz konusunda biraz araştırma yapmanızı şiddetle tavsiye ederim

  2. Mekanik Klavye Tuşları

    • Seçtiğiniz anahtarınızla uyumlu olduklarından emin olun!

      Ayrıca rengi değiştirebilmeniz için arka ışık uyumlu olduklarından emin olun

    • Tam bir Tuş Takımı seti istemiyorsanız, satıcılar burada 'Yenilik Tuşları (standart üretim)' bölümünde bulunabilir.
  3. Adreslenebilir RGB LED şeritler (Opsiyonel, ancak şiddetle tavsiye edilir)

    • Amazon'dan bunlara benzer bir şey aldım.

      • LED'lerin WS2812B LED'leri olduğundan emin olun, daha düşük bir voltajı kabul edebilirler.
      • Kullanmak için en sevdiğiniz rengin 3 mm normal LED'lerini de satın alabilirsiniz, ancak dirençlere ihtiyacınız olacaktır.
  4. HID uyumlu bir mikro denetleyici (Pro Micro kullandım)

    • Bunları Amazon'dan en iyi anlaşma için aldım

      Diğer mikro denetleyicileri satın alabilirsiniz, ancak bunların hem Arduino hem de HID (insan giriş aygıtı) uyumlu olduğundan emin olun

  5. 128x32 I2C OLED ekran

    Bunu Amazon'dan aldım

  6. 3D yazıcıya erişim

    • Çevrenizdeki yerel kütüphaneleri veya okulları deneyin ve 3D yazıcıları olup olmadığına bakın.
    • Şahsen hiç çevrimiçi bir hizmet kullanmadım, ancak bunları da kullanabilirsiniz (bunun gibi bir şey)
  7. İnce tel
  8. Gerekli Genel Araçlar

    • Havya ve Lehim
    • Yan Kesici Pense
    • Küçük Dosyalar (Biraz isteğe bağlı)
    • Sıcak Tutkal Tabancası ve Tutkal
    • İstediğiniz tornavida ve vidalar

Adım 2: Anahtar Anahtarı Değişiklikleri

Anahtar Değişiklikleri
Anahtar Değişiklikleri
Anahtar Değişiklikleri
Anahtar Değişiklikleri
Anahtar Değişiklikleri
Anahtar Değişiklikleri

Satın aldığınız anahtarları sökmeye başlayın. Bunu, ışığın tuş başlıklarımıza daha iyi ulaşmasını sağlamak için yapıyoruz. RGB'yi desteklemeyen tuş başlıkları seçtiyseniz bu adımı atlayın.

2 küçük takoz alın (2 düz uçlu tornavida ucu kullandım) ve anahtarın yan tarafındaki tırnakların altına bastırın. Sonra üst ve alt arasına bir şey koyun ki kapanmasın. Diğer taraftaki tırnakları itmeye devam edin, böylece hiçbir tırnak hala üst kısmı tutmamalıdır. Bundan sonra, bitirin ve anahtarın üstünü açın. Genellikle dört parça vardır, kasanın üst ve alt kısmı, yay ve gövde (tuş kapağını tutan anahtarın kayan kısmı).

Daha fazla ışığın geçmesine izin vermek için kasanın altından küçük küçük parçalar kesmeye başlayın. Önce plakadaki anahtarı tutan tırnağı kesin. Ardından, orijinal LED geçişinin bir kısmını kesin (4 delikli kısım, bunlar LED'lerin ayakları içindir). Aşağıya inmek için içerideki sekmeyi yavaşça kesin. Ardından yayı tutan anahtarın silindirik merkezine kadar kesmeye devam edin. Bundan daha ileri gitmemize gerek yok. Bundan sonra, önceden kalıplanmış desteklerle her iki tarafı yavaşça keserek deliği biraz genişletin. İsteğe bağlı başka bir adım, daha güzel ve daha az pürüzlü hale getirmek için dosyalamak. Anahtarın sıkışmasını istemediğiniz için kasanın içinde çok az veya hiç plastik parça olmadığından emin olun. Kasayı ayırmaya zorlayan yan kesicilerin genişliğinden birkaç kasayı kırdığım için bu kesimleri yavaş ve küçük yaptığınızdan emin olun.

Anahtarınızın üst yarısı da net değilse, ışığın parlamasına izin vermek için değiştirmeyi deneyin. Düğmeyi kırmadan azar azar deneyin, çünkü gövdenin düşmesini istemezsiniz. Olası bir çözüm, normal bir LED'i tutacak plastik parçayı kesmek ve gövdeyi kapalı tutan plastiği bırakmak ve sadece dosyalamak olabilir.

3. Adım: 3B Baskı

3d Baskı
3d Baskı

Aşağıdaki zip dosyalarından birini indirmeniz ve bunları 3 boyutlu olarak yazdırmanız gerekecektir. Ne istediğinize bağlı olarak farklı versiyonlar olacaktır. İçinde tüm normal stl dosyalarının bulunduğu bir klasör (KeybArrowSTLFiles) ve biri de Autodesk mucit dosyalarının (KeybArrowSourceFiles) bulunduğu bir klasör olacaktır, böylece dosyaları değiştirebilir ve kendi ihtiyaçlarınıza göre değiştirebilirsiniz. Dosyalar yazdırdıklarımdan biraz farklı, bunun nedeni bazı tasarım kusurları olmasıydı ve onları iyileştirebileceğimi hissettim. Örnek, kasanın kenarları olabilir, benimki biraz fazla yüksekti, bu yüzden tuş başlıkları sonuna kadar itmeyecekti, yeni dosyalar bunu düzeltmeli.

Tasarımları, 30'dan fazla adımla oldukça karmaşıktı. Söyleyeceğim tek şey, farklı bir boyut için bir kasa tasarlamak istiyorsanız, biraz karmaşık 3d tasarımlarla ilgili deneyiminiz olduğundan emin olmalısınız. Gerçekten 3d tasarımda yeni olan insanlar için değil.

Her iki kasa dosyasının da 3 derecelik bir açıyla olduğunu ve bunları yatak üzerinde düz bir şekilde açmanız gerektiğini unutmayın

Adım 4: Şimdiye Kadar Sahip Olduğunuzu Birleştirme

Şimdiye Kadar Sahip Olduğunuzu Birleştirme
Şimdiye Kadar Sahip Olduğunuzu Birleştirme
Şimdiye Kadar Sahip Olduğunuzu Birleştirme
Şimdiye Kadar Sahip Olduğunuzu Birleştirme
Şimdiye Kadar Sahip Olduğunuzu Birleştirme
Şimdiye Kadar Sahip Olduğunuzu Birleştirme
Şimdiye Kadar Sahip Olduğunuzu Birleştirme
Şimdiye Kadar Sahip Olduğunuzu Birleştirme

Artık tüm parçalarımıza ve 3d baskılı parçalara sahip olduğumuza göre, biraz birleştirmenin zamanı geldi!

Anahtarların 6'sını da plakaya yerleştirin ve yerlerine yapıştırın. Onları yerinde tutan tırnakları kestiğimiz için yapıştırmamız gerekiyor. Eğimli olmasını istemediğiniz için OLED'i takmayı beklemenizi öneririm.

Ardından 6 LED'i kesin ve LED plakasına yerleştirin. Plakadaki kareler, LED'leri hizalamanıza yardımcı olmak içindir. Kare LED'ler bunlara uyacaktır, böylece hizalamaya yardımcı olması için başka bir 3 boyutlu yazdırabilir veya sadece arkadan hizalayabilirsiniz. DO, DI'ye lehimleneceğinden, okların diğer LED'leri gösterdiğinden emin olun. LED'leri sıcak tutkalla yapıştırmak için bu kareleri kullanın ve bunları yerinde tutun ve tutkalın tutmasını bekleyin.

LED'leri tutmak için anahtarlar için bir prototip plaka kullandım (görüntülerde) çünkü filamanı boşa harcamayı sevmiyorum ve yeniden kullanmaya karar verdim. Yeni dosya hiçbir şeyi etkilemeyecek, sadece hizalamayı kolaylaştırın.

Adım 5: OLED'i Ayarlama

OLED'i Ayarlama
OLED'i Ayarlama
OLED'i Ayarlama
OLED'i Ayarlama
OLED'i Ayarlama
OLED'i Ayarlama

Kapsamlı bir yürüyüş için bu Eğitilebilir Dosyayı kullanmanızı öneririm. Bunu açıklamak için gerçekten iyi bir iş çıkardılar.

Kodun çalışması için bu kitaplığı ve bu kitaplığı indirip içe aktarmanız gerekecektir.

Önce kabloyu bağla. VCC'yi VCC'ye ve GND'yi GND'ye bağlayın. Ardından SDA ve SCL pinlerini bağlayın. SDA ve SCL pinleri her Arduino'dan farklı olabilir, ancak pro micro'da SDA pin 2'ye ve SCL pin 3'e bağlanır. SDA pinlerinin ne olduğundan emin değilseniz mikro denetleyicinizin pin çıkışına bakın. ve SCL'ye bağlanır.

Sonraki, görüntülenmesini ve görüntü yapmasını sağlamaktır. Aşağıda nasıl çalıştırılacağına dair dosyalar olacak. İlk adım, ScreenScan kodunu kullanmaktır (başlangıçta burada Arduino tarafından sağlanmıştır). Kodu Pro Micro'ya yükleyin ve Seri okuyucuyu açın (üstteki araçlar sekmesinin altında). Sizi geri okuyacak ve OLED'in adresini okuyacaktır. Adresiniz 0x3C ise, hiçbir şeyi değiştirmenize gerek yoktur. Değilse, düzgün çalışması için gidip ssd1306_128x32_i2c kodundaki adresi ve son kodu (ArrowKeypad olarak adlandırılır) değiştirmeniz gerekir.

Şimdi Adafruit ssd1306 kitaplığına dahil edilen örnek kodu, 128x32 i2c kodu için (ssd1306_128x32_i2c olarak adlandırılır) test edin.

Bundan sonra Arduino'yu açık tutun ve OLED'i anahtar plakasına hizalamaya çalışın, ardından kapatın ve yerine yapıştırmaya çalışın. Büyük olasılıkla bu ilk denemeyi alamayacaksınız, ancak tamamlandığında açılı olmaması için hizalamaya çalışmak için ayarlamaya devam edin. Bir tarafı biraz yapıştırmanızı ve diğer tarafı yapıştırmadan önce eğimli olmadığından emin olmak için kontrol etmenizi öneririm.

Kodu şimdi indirin ve bu Eğitilebilir Tabloda daha sonra Adım 8'deki diğer kod dosyalarını kullanın

Adım 6: Lehimleme

Lehimleme
Lehimleme

Aşağıda bir Fritzing dosyası mevcut olacaktır. Bu, devre ile etkileşim kurmanıza izin verecektir ve eğer tıklayıp basılı tutarsanız, hangi kabloların bağlı olduğunu (sarı noktalarla vurgulanmıştır) görebilirsiniz, dosyayı açmadan önce Fritzing'e aktarılması gereken dosyalar aşağıda olacaktır (için Pro Micro ve LED'ler).

"MOSI, MISO veya SCLK" etiketli pinlerin KULLANILMADIĞINDAN emin olun, aksi takdirde OLED'de hatalara neden olur

6 LED'i tek şeritler halinde kesip plakaya yapıştırdıktan sonra. Havyayı bakır pedlerin üzerine yerleştirin ve pedlerin her birine lehim ekleyin. Küçük tel parçalarını kesin ve yarısını soyun, bükün, ardından diğer yarısını çıkarın ve teli bükün. Lehim tarafından yerinde tutulurken telin pense veya bazı lehim yardım elleriyle tutulması gerekecektir. Orada güzelce tutmak için daha fazla lehim ekleyin. Sıradaki tüm LED'leri birlikte lehimleyin. Bir kablo kesin ve ilk sıradaki LED'in ucuna 'DO' veya 'D-' etiketli lehimleyin ve ikinci sıradaki 'DI' veya 'D+ etiketli ilk LED'e bağlayın. '. Bunu 5v ve GND ile de yapabilirsiniz, ancak her sıradaki ilk LED'ler 5v ve GND birlikte bağlanırsa daha kolaydır. 5v kablosunu VCC'ye, Veri pinini herhangi bir dijital pine (kod 10 olarak ayarlanmıştır) ve GND'yi Arduino'daki bir GND'ye bağlayın.

Arduino'nun bir girişi tanımasını sağlamak için anahtarların topraklamayı bir veri pinine bağlaması gerekir. Böylece, 6 anahtarın tümünü toprağa bağlamak için bir kabloyu lehimleyebilirsiniz. Her anahtara bir tel lehimleyin ve mümkünse hangi anahtarın hangi tel olduğunu takip etmek için telin renklerini değiştirmeye çalışın. Kabloları LED plakasından geçirin ve Arduino'daki bir veri pinine bağlayın (bunun için 5-9 veri pinlerini kullandım)

Yandaki iki anahtarın farklı işlevleri vardır, biri programlama için bir sıfırlama anahtarı, diğeri ise düğmelerin işlevlerini hızlı bir şekilde değiştirmek için Tuş Takımının katmanları arasında geçiş yapacak bir işlev anahtarıdır. Üst anahtar, sıfırlama (RST) ve GND için kablolanmıştır, bağlandığında sıfırlamaya neden olur. Alt anahtar, Pro Micro'da A0 olarak etiketlenen pim 18'e kadar kablolanmıştır. Plakaları kaydırmanız gerektiğinden, anahtar kablolarıyla kendinize biraz gevşeklik verin ve çok az bir kablo buna izin vermez. üstten yerleştirmek için plakalar.

Adım 7: Programlamaya Giriş

Programlamaya Giriş
Programlamaya Giriş

Kasayı kapatmadan önce test etmek ve çalıştığından emin olmak istiyorsunuz. Şimdi birleştirmek için 11. adıma geçebilirsiniz. Sadece önceden test etmenin, açıp kapattığınız süreyi azaltmaya yardımcı olduğunu görüyorum. Çok etkilemese de ben Arduino IDE 1.8.3 sürümünü kullandım, bu yüzden sorun yaşarsanız bu sürümü kullanmayı deneyin. Kod Adım 5'te, Arduino aracılığıyla çıkarmanız ve yüklemeniz gereken bir zip dosyasıdır.

Aşağıda birden fazla kod parçası olacak. Biri son kod olacak, ikisi OLED'i test edecek (Biri test edecek, biri adresi bulacak), biri de RGB'yi test edecek. Anahtarları test etmek için son kodu kullanın.

Kendi kodunuzu tasarlamak istiyorsanız, bunu sonraki 3 adımda öğretiyorum, ancak kodumu kullanmak veya alıp değiştirmek istiyorsanız tamamen sorun değil.

Bunu programlamanın bazı temelleri

  • "Araçlar" sekmesi altında, ardından "Board" sekmesi, Arduino Leonardo'ya ayarlayın (Pro Micro'dan farklı bir mikro denetleyiciniz yoksa)
  • Pro Micro'ya her kod yüklediğinizde sıfırlama anahtarını kullanın. Derleme çubuğu dolduğunda ve yüklemeye devam ederken, anahtarı açıp kapatmak için iyi bir zaman olduğunu buldum. (Bunu yapmazsanız, yükleme yükleme başarısız olur.)
  • Kullanılan tüm Kitaplıklar kurulmalı ve içe aktarılmalıdır

    İçe aktarmak için araçlar sekmesine gidin ve kitaplığı dahil et'i tıklayın. (Ayrıca, web sayfasındaki kod örneklerimin kitaplık adının etrafında olması gerektiğini, sonraki birkaç adımda örnek kod bölümüne giremedim)

  • LED ve OLED kitaplıkları nesneler olarak başlatılacak, onları istediğiniz gibi adlandırabilirsiniz, ancak gösterim amacıyla onlara 'şerit' ve 'ekran' adını vereceğim.

    Nesne adını yazarak, nokta koyarak ve sonra kullanmak istediğiniz işlevi yazarak bir nesneden işlevleri çağırın

Ardından LED'leri test edin, kodu yükleyin ve hepsinin çalıştığından emin olun. Hiçbiri işe yaramazsa, onlara giden bir piminiz eksikse, ilk LED'in lehimini kontrol edin.

Son olarak, anahtarlarınızı test etmek için son kodu kullanın. Bunu yapmak en kolayı olmalı. Şimdi, bir miktar HID kodu yükledikten sonra, Arduino'ya her kod yüklediğinizde Arduino'yu sıfırlamanız gerekeceğini unutmayın. Sadece yüklemenin yarısında sıfırlayın ve çalışması gerekir.

Adım 8: Anahtarların Programlanması

Anahtarların Programlanması
Anahtarların Programlanması
Anahtarların Programlanması
Anahtarların Programlanması

Tüm programlamalar arasında anahtarlar en az karmaşık olanıdır. Bir klavye olarak tanınmasını sağlamak için tek kullanmanız gereken Arduino Klavye kütüphanesi ve koşullu ifadelerdir. Benim gibi bir Pro Micro kullanıyorsanız, Araçlar sekmesinin altında, Board'un bir Arduino Leonardo'ya ayarlandığından emin olun.

Koşullu ifadelere başlamadan önce pinleri kurmamız gerekiyor. Bunun yalnızca bir kez çalışmasına ihtiyacımız var, bu yüzden bunu void kurulumuna koyun. pinMode(PinNum, INPUT_PULLUP); ile başlayın Bu, Arduino'ya PinNum'un bir giriş beklediğini ve bir çekme direnci eklediğini söyler (böylece donanıma herhangi bir kablolama yapmamıza gerek kalmaz)

Giriş çekmenin 2 durumu vardır, DÜŞÜK ve YÜKSEK. Arduino, Toprağa (GND) bağlandığında bir pin üzerinde DÜŞÜK okuyacak ve bağlantısı kesildiğinde YÜKSEK okuyacaktır. Pin'in ne okuduğunu bulmak için digitalRead(PinNum) kullanıyoruz.

Temel bilgilerden başlayarak, tuşa basılıp basılmadığını bulmak için koşullu if deyimlerini kullanırız. Bunun tekrar tekrar çalışmasını istiyoruz, bu yüzden bunun boşluk döngüsüne konmasını istiyoruz. Tuş "DÜŞÜK" olarak kaydedilmişse, tuşa basılmasını ve giriş "YÜKSEK" olduğunda tuşun serbest bırakılmasını isteriz. Bunu yapmak için, if(digitalRead(PinNum)==LOW){ [Düğmeye basıldığında için kod] } ve if(digitalRead(PinNum)==HIGH){ [Düğme bırakıldığında için kod] kodluyoruz. }

Klavye kodu için Klavye kitaplığını içe aktarın. Bir klavye koyun.begin(); boşluk ayarında. Sonra koşullu ifadelerimizin içinde keyboard.press([key]); kullanırız. ve klavye.release([anahtar]); veya klavye.releaseAll(); birden fazla tuşa bastıysanız. Ayrıca keyboard.print([String]); işlevini de kullanabilirsiniz. ve klavye.println([String]) ile bir parola gibi dizeleri yazdırın. print ve println benzerdir, ancak println sadece bir ENTER ekler, böylece otomatik olarak bir sonraki satıra gider.

Adım 9: OLED'i Programlama

OLED'i Programlama
OLED'i Programlama
OLED'i Programlama
OLED'i Programlama
OLED'i Programlama
OLED'i Programlama

OLED'i programlamakla başlayarak, temel kurulum koduna sahip olmanız gerekecektir. Bu temel olarak bilgisayara OLED'inizin nerede olduğunu, boyutunu ve nasıl programlandığını söyler. OLED için kurulum koduna sahip olduğunuzda, yalnızca metin görüntülediğinizi varsayarsak, programlaması oldukça basit olmalıdır. İlk önce Wire ve SSD1306 kitaplıklarını ekleyin.

OLED_RESET'i 4 olarak tanımlayın ve kodunuza SSD1306 kitaplığını ekleyin. Adafruit_SSD1306 ekranını koy(OLED_RESET); Adafruit SSD1306 kitaplığını kullanmaya başlamak için kodunuzda.

Serial.begin(9600) ile başlayın; sonra display.begin(SSD1306_SWITCHCAPVCC, 0x3C); i2C ekranını 0x3C adresiyle başlatmak için (5. adımda değiştirilmediyse). Bunların ikisini de geçersiz kuruluma koyun çünkü yalnızca bir kez çalıştırmaları gerekir.

Ekranı programlamadan önce display.clearDisplay kullandığınızdan emin olmalısınız. Bunu yapmazsanız, girilenler üst üste gelecek ve neyin değiştirildiğine bağlı olarak okunaklı olmayacaktır. Kökeni de ayarlamak istiyorsunuz, bu nedenle display.setCursor(0, 0); öğesini kullanın. ekranınızda bir noktaya ayarlamak için, başa sıfırlamak için (0, 0) koyun. Metnin boyutunu ayarlamak için display.setTextSize(1); 1'den daha büyük gitmezdim, beklenenden çok daha büyük.

Ekranımız monokrom olsa da metin rengini ayarlamamız gerekiyor, bu yüzden display.setTextColor(WHITE);

Artık kitaplığınızı ve görüntüleme nesnenizi içe aktardığınıza göre, onu programlamaya başlayabilirsiniz. Metin eklemek için display.print(); ve display.println(); dizeleri yazdırmak için. Yine, print bir dönüş eklemezken println bir şey tekrar yazdırıldığında otomatik olarak bir sonraki satıra döner.

Görüntülenecek bir şey almadan önce OLED'i güncellemeniz ve güncellemesini söylemeniz gerekiyor, display.display(); parametresiz ve güncellenecektir.

Kod şimdi şöyle görünmelidir:

// Foster Phillips tarafından yapılan kod

#include Adafruit_SSD1306.h #include Wire.h #define OLED_RESET 4 Adafruit_SSD1306 ekran(OLED_RESET); geçersiz kurulum() { pinMode(SWITCH, INPUT_PULLUP); Seri.başla(9600); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.display(); gecikme(2000); display.clearDisplay(); display.setTextSize(1); display.setTextColor(BEYAZ); } geçersiz döngü() { display.display(); gecikme(2000); display.clearDisplay(); display.setTextSize(1); display.setCursor(0, 0); display.println("Merhaba Dünya!"); display.println("Merhaba Eğitmenler!"); }

Bu Eğitilebilir Dosya ve bu Github bağlantısı, sorun giderme ve sırasıyla ekranı programlama hakkında daha fazla bilgi edinmek için çok iyi referanslardır.

Adım 10: LED'lerin Programlanması

LED'lerin programlanması
LED'lerin programlanması
LED'lerin programlanması
LED'lerin programlanması
LED'lerin programlanması
LED'lerin programlanması

LED'ler de oldukça basittir. Adafruit Neopixel kütüphanesini kullanacağız. Kişisel olarak, NeoPixel kitaplığı, daha önce programladıysanız, İşleme'deki programlamaya çok benzer.

İlk kurulum kodu, hangi kütüphaneyi kullandığımızı adresliyor ve temelde pin üzerinde kaç tane LED olduğunu, data için hangi pinin olduğunu ve nasıl programlandığını söyleyen bir dizi ayarlıyor. Bu, Adafruit_NeoPixel strip = Adafruit_NeoPixel(6, 10, NEO_GRB + NEO_KHZ800); gibi bir örnekle yapılır. Bu, 6 LED olduğunu, pinin 10 numaralı pin olduğunu ve bunun NEO_GRB + NEO_KZH800 tipi adreslenebilir şeritleri kullandığını açıklar. Genellikle son argümana dokunmaya gerek yoktur, kullandığım LED şeritlerin değişmesine gerek yoktu.

Bundan sonra strip.begin(); kullanmaya başlamaya hazır olduğunuzu gösteren fonksiyon. Parantez içinde hiçbir şey olması gerekmez.

Buna sahip olduğunuzda, şerit ile farklı işlevleri çağırabilirsiniz.[işlev]

Bilmeniz gereken bir tanesi strip.setPixelColour. Bunun parantez içinde 4 işlevi vardır. LED'lerin 'dizisinde' LED'iniz var (unutmayın, Diziler 0'da başlıyor) ve karşılık gelen Kırmızı, Yeşil ve Mavi değerler 0-255 arasında. Bu, istediğiniz rengi elde etmek için istediğiniz Kırmızı Yeşil ve Mavi değerlerini karıştırmanıza olanak tanır. Kod şöyle görünmelidir: strip.setPixelColour(0, 0, 255, 255); İlk LED'de camgöbeği rengi istiyorsanız.

LED'in de bu verileri göndermesi gerekir, bu da strip.show(); yapmak. Onlarla bir şeyi değiştirdikten sonra pikselleri güncelleyecektir. Parantez içine hiçbir şeyin girmesine gerek yok.

Kod şöyle görünmelidir:

// Foster Phillips tarafından yapılan kod

#include Adafruit_NeoPixel.h #define PIN 10 #define Num 6 Adafruit_NeoPixel şeridi = Adafruit_NeoPixel(Num, PIN, NEO_GRB + NEO_KHZ800); geçersiz kurulum() { strip.begin(); şerit.göster(); } 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); şerit.göster(); }

Daha fazla bilgi burada bulunabilir.

Adım 11: Montaj

Birleştirme!
Birleştirme!
Birleştirme!
Birleştirme!
Birleştirme!
Birleştirme!

Bu muhtemelen en kolay adım ve en havalı olanıdır.

Pro Micro'yu kasa kapağına yerleştirerek ve kaydırarak başlayın. Biraz sıcak tutkalla yerine yapıştırın.

Kasa/kapak, anahtar plakasını ve LED plakasını yana yatırabilmeniz için tasarlandı. Sadece içeri kaydırın ve nasıl yazdırdığınıza bağlı olarak, çıkıntı yapan plastiklerin bir kısmını çıkarmak için slaytların içini eğelemeniz veya kesmeniz gerekebilir.

Bundan sonra, vidalarınızı alın ve oraya sıkıştırın ve kendi vida deliklerinizi yapın. Dosyaları tasarlarken belirli vida dişlerim yoktu, bu yüzden kabaca vida boyutunda bir delik açıp kendim vidaladım. Çakmakla ısıtmak, ihtiyacınız olan vidayı oluşturmanıza yardımcı olur ve genellikle katmanları güçlendirir. Vidaları çok fazla itmediğinizden emin olun, aksi takdirde kafayı sıyırabilirsiniz. Bu riski azaltmak için Allen anahtar vidalarını kullandım.

Ardından tuş başlıklarını tuşların üzerine itin. O zaman hemen hemen bitti! Ok Tuşu Macropad sürümüm tamamlandı!

Adım 12: Kendi İyileştirmeleriniz

Artık benim versiyonumu nasıl yapacağınızı bildiğinize göre, kendinizinkini yapabilirsiniz! Klavyeler muhtemelen kendinizi ifade etmekle ilgili olabilir, bu nedenle, size uyacak şekilde değiştirmediğiniz sürece başka birinin tasarımına sahip olmak eğlenceli değildir! Yapabileceğiniz birçok iyileştirme var! İşte eklemek veya düşünmek istediğim bazı iyileştirmeler!

  • Tetris ve diğer basit oyunları programlayın
  • bluetooth yap
  • Slayt gösterilerinden veri okumasına ve bir OLED'de görüntülemesine izin verin (Slayt numarasını ve slayt adını gösterin)
  • Bu tekniği kullanarak tam boyutlu bir klavye veya daha büyük bir makro ped yapın

    Bunun için bir geçiş matrisi yapmayı öğrenmeniz gerekir

  • Daha fazla renk seçeneği programlayın
  • Oyunlar, video düzenleme vb. için program makroları.
  • Kendi durumunuzu oluşturmak için Autodesk Inventor kaynak dosyalarını kullanın veya benzersiz bir şekilde size ait olacak şekilde değiştirin!
  • Müzik çalar olarak ikiye katlanması için bir ses kartı ekleyin

Yaparken iyi eğlenceler! İpuçları eklemekten çekinmeyin veya açıklamamı isteyin!

Diğer bölümlerin ilerlemesini görmek istiyorsanız, Instagram'ı kontrol etmeyi düşünün. Eğitilebilirliğimi okuduğunuz için teşekkürler!

Mikrodenetleyici Yarışması
Mikrodenetleyici Yarışması
Mikrodenetleyici Yarışması
Mikrodenetleyici Yarışması

Mikrodenetleyici Yarışmasında İkincilik

Önerilen: