İlan

Mütevazi Arduino birçok şey yapabilir, ancak bir USB klavyeyi taklit edebileceğini biliyor muydunuz? Hatırlaması zor olan bu uzun klavye kısayollarını bu basit devre ile tek bir özel kısayol tuşunda birleştirebilirsiniz. Sonuç:

Daha önce hiç Arduino kullanmadınız mı? Bizim göz atın başlangıç ​​kılavuzu Arduino'ya Başlarken: Başlangıç ​​KılavuzuArduino esnek, kullanımı kolay donanım ve yazılıma dayalı açık kaynaklı bir elektronik prototipleme platformudur. Sanatçılar, tasarımcılar, hobiler ve etkileşimli nesneler veya ortamlar oluşturmak isteyen herkes için tasarlanmıştır. Daha fazla oku ilk.

Neye ihtiyacın var

Arduino Kısayol Parçaları
Bu projeyi yapmak için gerekenler:

  • 1 x Arduino Pro Micro.
  • Anlık düğmeler veya klavye düğmeleri.
  • 10K ohm dirençler.
  • Çeşitli bağlantı telleri.
  • 1 x 220 ohm direnç.
  • 1 x 5mm (0.197 inç) LED.
  • 1 x 5mm LED tutucu.

Bu proje için çok özel bir Arduino'ya ihtiyacınız olacak. Kullanıyorum Pro Micro, çok küçük ve ucuz oldukları için, işlemcide (Smega32u4) dahili USB Seri bulunan bir Arduino'ya ihtiyacınız var. Bu projeyi UNO veya Nano gibi diğer Arduino'larla inşa etmek mümkündür, ancak biyografileri yeniden parlatmak ve işe yaramaya başlamak için çok uğraşmak gerekir. Diğer Arduino modellerinin klonları genellikle işe yaramaz, ancak Pro Micro klonu da iyidir.

instagram viewer

OSOYOO Pro Mikro ATmega32U4 5 V / 16 MHz Modülü Kurulu arduino Leonardo için 2 Satır pin Header ile değiştirin ATmega328 Pro MiniOSOYOO Pro Mikro ATmega32U4 5 V / 16 MHz Modülü Kurulu arduino Leonardo için 2 Satır pin Header ile değiştirin ATmega328 Pro Mini Amazon'da Şimdi Satın Al $10.99

Kullanmak istediğiniz her düğme için bir anlık düğme, bir 10K ohm direnç ve uygun bağlantı teline ihtiyacınız olacaktır. Gerçek kısayol düğmeleri için Cherry MX mekanik klavye anahtarları kullanıyorum, hiç Anlık ve mandallamaması şartıyla anahtar yapılacaktır.

Bunu nasıl oluşturduğunuza bağlı olarak birkaç öğeye daha ihtiyacınız olabilir. Prototip oluşturmak istiyorsanız, lehimsiz breadboard. Parayı iyi bir harcamaya değer - bazen çok güvenilmez olabilirler. Bunu kutlamak istiyorsanız, biraz stripboard satın almak isteyeceksiniz.

Yapı Planı

Bunun nasıl çalışacağı aşağıda açıklanmıştır. Arduino, bir USB klavye gibi çalışacak şekilde programlanacaktır - bilgisayarınız söz konusu olduğunda. Arduino'ya bağlı birkaç düğme bilgisayarınıza tuş komutları gönderir. Sadece bir düğmeye basacaksınız, ancak bilgisayarınız bastığınızı düşünecek Alt > F4, Örneğin.

Anahtar Seçme

Arduino Kiraz MX

MX serisi anahtarların birkaç varyasyonu vardır. Bu web sitesi mükemmel bir giriş sağlar, ancak temelde gürültü ve basınca inerler. Bazı modeller bastırmak için daha fazla güç gerektirir ve bazı modeller basıldığında mekanik bir “klik” sesi çıkarır. Basıldığında gürültü yapmayan Cherry MX Browns kullandım. Hepsi aynı boyutlarda olduğundan, endişelenmeden beğendiğiniz (veya karıştırıp eşleştirdiğiniz) herhangi bir modeli seçin.

Tabii ki bazı önemli başlıklar da satın almanız gerekecek ve özel tasarımlar orada seçim için - biz satın aldı İngiltere'deki KeyboardCo

Durum

Bu davayı 3D olarak yazdırdım ve .STL dosyalardan Thingiverse. Bir 3D yazıcınız yoksa endişelenmeyin, yine de bunu yapabilirsiniz. Birçok web sitesi, 3D baskı hizmetleri sağlar. 3D Göbekler veya Shapeways. Alternatif olarak, bu çok basit bir durumdur, plastik, perspeks, ahşap veya hatta kartondan kendiniz yapabilirsiniz. Gerçekten tasarruflu olmak istiyorsanız, Cherry MX açık bir anahtar test cihazı / örnekleyici satıyor Amazon (UK). 4 M5 x 35mm cıvata ve 4 M5 somuna ihtiyacınız olacaktır. Elbette bunları uygun bir alternatifle değiştirebilirsiniz.

Max Klavye Tuş Kapağı, Kiraz MX Anahtarı, Test Kiti (9 anahtarları Pro Örnekleyici Test Kiti)Max Klavye Tuş Kapağı, Kiraz MX Anahtarı, Test Kiti (9 anahtarları Pro Örnekleyici Test Kiti) Amazon'da Şimdi Satın Al $14.99

Kendi kasanızı hazırlıyorsanız, bilmeniz gereken önemli bir ayrıntı vardır: Cherry MX anahtarları montaj deliklerine tam oturur. 14 x 14 mm (0,551 inç) kare montaj deliği gerektirirler, plaka 1,5 mm'den (0,059 inç) daha kalın değildir. Bu boyutlardan çok uzaklaştığınızda anahtarlarınız artık doğru şekilde takılmayabilir.

Kısayol Vaka
3D baskılı kılıf, üst ve alt olmak üzere iki parçadan oluşur. Cherry MX anahtarlarını kare deliklere itin:

Kısayol Kiraz MX Montaj Aparatı

Anahtarları doğru şekilde taktığınızdan emin olun. Üstte “KİRAZ” kelimeleri var ve altta küçük bir çentik var. Bu küçük yuvaya 3 mm'lik bir LED takın:

Kısayol Kiraz MX LED

LED'lerin en iyi “baş aşağı” olarak monte edildiğini görebilirsiniz. Kullandığım tuş başlıkları için durum buydu ve anahtarları hiç etkilemedi.

Şimdi 9 LED'li dokuz anahtarınız olmalıdır. Bu parçaların herhangi birini yapıştırmaya gerek yoktur. Lehim LED'leri tutacak ve sürtünme anahtarları tutacaktır.

Kısayol Cherry MX Tümü

Ardından, LED yuvasını vidalayın (LED'i şimdilik çıkarılmış halde bırakın). Devre kurulduktan sonra kasayı daha sonra monte etmeyi bitireceksiniz.

Devre

Bu devre pano üzerine inşa edilmiştir. Bu, bir baskı devre kartı (PCB) maliyeti olmadan yarı kalıcı devreler oluşturmak için mükemmeldir. Sadece bir yönde paralel uzanan bakır izleri olan bir fiberglas parçasıdır. Bu parçalar lehimlenebilir ve kesilebilir. Bir izi kesmek özel bir alet veya küçük bir matkap ucu ile yapılabilir.

Lehimleme konusunda emin değil misiniz? Şuna bir bak bu basit projeler Bu Basit İpuçları ve Projelerle Lehimin Nasıl Yapıldığını ÖğreninSıcak demir ve erimiş metal düşüncesi sizi biraz korkutuyor mu? Elektronikle çalışmaya başlamak istiyorsanız, lehim yapmayı öğrenmeniz gerekecek. Yardım edelim. Daha fazla oku ilk.

İşte pano düzeni (takip eden olası satışlar hariç):

Arduino Kısayol Stripboard

Dirençlerin ve Arduino'nun altındaki izleri kestiğinizden emin olun. Bir stripboard devresini okumak çok zor olabileceğinden, burada bir breadboard sürümü var:

Arduino Kısayol Breadboard

Tüm bileşenleri bu kadar küçük bir alana sıkıştırmak için sıkıca oturur. Stripboard'unuzun köşelerini aşağıdaki gibi kesin:

Kısayol Stripboard

Bu davanın tabanına düzgünce oturmalıdır:

Kutuda Kısayol Stripboard

Rayların dikey olarak ilerlediğinden emin olun.

Anodu bağlayın (uzun bacak, pozitif) 200 ohm rezistöre ve daha sonra +5 V'ye ayarlayın. Katot bağlayın (kısa bacak, negatif) toprağa. Bacakları ısıyla daralan makaron ile örtün ve ardından LED tutucunun içine itin. Herhangi bir yapıştırıcıya gerek yoktur, ancak LED tutucunuz bir itme olmayabilir, bu nedenle bu talimatları uyarlamanız gerekebilir.

Kısayol Durum LED'i

Burada bunun yerine iki renkli bir LED kullanmak isteyebilirsiniz - bu, her bir banka için farklı renkli bir durum LED'i ile iki veya daha fazla anahtar kümesi kurmanıza olanak tanır.

Şimdi tuş başlıkları için tüm LED'leri lehimleme zamanı. Bunlar sadece tuşların parlamasını sağlamak için kullanılır, böylece isterseniz atlayabilirsiniz ve sadece dijital bir pime bağlı olmaları gerekmez, sadece güç. Tüm anotları ve tüm katotları birbirine bağlayın. Benim hatamdan öğrenin - anahtarları kablolamadan önce bunu yapmak çok daha kolay! 220 ohm'luk bir direnç ve katotları toprağa rağmen +5 V anotlar bağlayın. Bu LED'ler paralel bağlanır. İşte sadece bu LED'ler için devre:

Kısayol Düğmesi LED Devresi

LED'ler ve Arduino arasındaki bağlantıyı örtmek için küçük bir ısıyla daralan makaron kullanın:

Kısayol LED Isı Büzüşmeli

Tüm LED'lerin çalışmasını test etmek için Arduino'yu çalıştırın. Herhangi bir kod yüklemenize gerek yoktur. Herhangi bir LED çalışmıyorsa, gidin ve kablolarınızı iki kez kontrol edin.

Kısayol LED Testi

Şimdi anahtarları bağlayın. Bunlar 10k direnç üzerinden bağlanmalıdır, aksi takdirde Arduino ölecektir. Buna ölü kısa denir - +5 V doğrudan toprağa gider ve Arduino'nuzdan geriye kalan tek şey bir duman pufu olacaktır (güven bana, zaten birini öldürdüm, gerek yok). İşte bir anahtar için devre:

Arduino Kısayol Devresi

Bu devre dokuz anahtarın tümü için aynıdır. Anahtarları, her biri kendi 10K direncine sahip olmak üzere iki ila on arası dijital pimlere bağlayın. Kiraz MX anahtarlarını lehimlemeye dikkat edin, biraz kırılgan olabilirler, üzerimde birkaç pim vardı. Bunları doğrudan daha fazla panoya lehimlemek isteyebilirsiniz, ancak arka uçlar hala uygundur.

Kablolama için bu kadar. Bir USB tip B dişi soketi monte etmek isteyebilirsiniz, ancak üzerlerindeki küçük pimlerin lehimlenmesi genellikle zor olabilir. Bunu yapmak istemiyorsanız endişelenmeyin. Arduino'daki Mikro USB konektörü kasadaki deliğe düzgün bir şekilde oturur. Farklı USB türleri hakkında biraz kafanız karıştıysa, farklılıkları anlamak USB Kablosu Türlerini ve Hangisini Kullanacağınızı AnlayınNeden bu kadar farklı USB kablo tipi var? USB konnektör tipleri arasındaki farkları ve en iyi kabloyu nasıl alacağınızı öğrenin. Daha fazla oku .

Son olarak, devrenizin doğru olup olmadığını iki kez kontrol edin. Kısa bir Arduino'yu kolayca yok edebilir ve stripboard kullanarak yapmak kolay olabilir.

Kod

Şimdi devrenin doğru olup olmadığını test edin. Devam etmeden önce bunu yapmak iyi bir fikirdir, böylece şimdi sorunları elinizden geldiğince düzeltebilirsiniz. Bu test kodunu yükleyin (cihazdan doğru kartı ve bağlantı noktasını seçmeyi unutmayın. Araçlar > Yazı tahtası ve Araçlar > Liman menüler):

sabit int düğmeleri [] = {2,3,4,5,6,7,8,9,10}; // tüm düğme iğnelerinin dizisi void setup () {// kurulum kodunuzu bir kez çalıştırmak için buraya yerleştirin: Serial.begin (9600); pinMode (2, INPUT); pinMode (3, GİRİŞ); pinMode (4, GİRİŞ); pinMode (5, INPUT); pinMode (6, GİRİŞ); pinMode (7, GİRİŞ); pinMode (8, GİRİŞ); pinMode (9, GİRİŞ); pinMode (10, GİRİŞ); } void loop () {// tekrar tekrar çalıştırmak için ana kodunuzu buraya girin: for (int i = 2; i <11; ++ i) {if (digitalRead (i) == YÜKSEK) {// yazılımın geri dönmesi, doğruluk gecikmesini iyileştirir (10); if (digitalRead (i) == HIGH) {// kontrol anahtarları Seri.print ("giriş"); Seri.println (i); gecikme (250); } } } }

Devreyi değiştirdiyseniz, pimleri değiştirmeniz gerekebilir.

Yüklendikten sonra seri monitörü açın (sağ üst > Seri Monitör). Tek tek her düğmeye basın. Seri monitörün, bastığınız düğmenin numarasını gösterdiğini görmelisiniz. Tıpkı LED'de olduğu gibi, bilgisayarınız çok fazla akım çekmekten şikayet ederse veya bir düğmeye bastığınızda LED'ler sönerse hemen bağlantıyı kesin! Devrede bir yerde kısa devre var, devrenin doğru olup olmadığını iki kez kontrol edin ve bağlantılar arasında kısa devre olmadığından emin olun.

Her şey çalışıyorsa, devam edin ve devreyi kutuya koyun. Devreyi yerinde tutmak için bir tutkal kullanmak isteyebilirsiniz (teller benimki iyi tutulmuş olsa da). Kapağı da vidalayın.

Arduino'nun klavye gibi görünmesini sağlamak çok basittir. Bir Nano veya UNO kullanıyorsanız, Arduino'nuzu kullanarak yeniden programlayacaksınız. Cihaz Ürün Yazılımı Güncellemesi (DAÜ). Bu genellikle yeni bellenimi Arduino'ya flaşlamak için kullanılır. Arduino'yu klavye gibi çalışmasını sağlayacak yeni bir ürün yazılımı ile flaş etmek için kullanacaksınız. Bu burada ele alınmayacak, çünkü oldukça karmaşık bir görev. Arduino web sitesi bunun için iyi bir öğretici var.

Arduino Pro Micro bu adımı çok kolaylaştırır. Bir USB klavyeyi taklit etmek için gereken mantık zaten işlemcide yerleşiktir, bu yüzden bazı kod yazmak kadar basit!

İlk olarak, tuşları ayarlayın:

int tuşları [] = {2, 3, 4, 5, 6, 7, 8, 9, 10};

Bu, düğmelerin bağlı olduğu tüm pinleri içeren bir dizidir. Daha fazla veya daha az düğme kullandıysanız veya farklı pimler kullandıysanız, değerleri buradan değiştirin.

Bir dizi, benzer düşüncelerin toplanmasıdır. Bilgisayarlar kodunuzu hızlı bir şekilde erişmek için optimize edebilir ve kod yazma işlemini hızlandırır.

Şimdi tüm pinleri giriş olarak başlatın:

void setup () {// kurulum kodunuzu bir kez çalıştırmak için buraya yerleştirin: Keyboard.begin (); // için kurulum klavyesi (int i = 2; i <11; ++ i) {// pin pinini başlatır pinMode (i, INPUT); } }

Bu, Arduino'ya dizideki tüm pinlerin giriş olduğunu söyler. Bunu yapmak için, bir döngü yazmak yerine kullanılır pinMode (2, GİRİŞ) dokuz kez, sadece bir kez yazmanız gerekir. Bu aynı zamanda Keyboard.begin. Bu, özellikle bir klavyeyi taklit etmek için tasarlanmış Arduino kütüphanesinde yerleşik bir işlev kurar.

Adlı bir yöntem oluşturun readButton:

boolean readButton (int pin) {// eğer (digitalRead (pin) == HIGH) {delay (10); if (digitalRead (pin) == YÜKSEK) {true değerini döndürür; } yanlış döndür; }

Bu bir raptiye alır ve basılı olup olmadığını kontrol eder. Basitçe geri döner DOĞRU veya YANLIŞ. Ayrıca bazı içerir yazılım yeniden başlatma - basit bir gecikme ve daha sonra anahtarın tekrar kontrol edilmesi, düğmeye gerçekten basılmasını sağlar.

Şimdi içerideki bir döngü için void loop ():

void loop () {// tekrar tekrar çalıştırmak için ana kodunuzu buraya girin: for (int i = 2; i <11; ++ i) {// (readButton (i)) {doAction (i); } } }

Yine, bu dizideki her öğenin üzerinden geçer ve basılı olup olmadığını kontrol eder. Bunu denir readButton daha önce oluşturduğunuz yöntem. Bir düğmeye basılmışsa, bu pin numarasını şu şekilde adlandırılır: doAction:

void doAction (int pin) {// görevleri gerçekleştir anahtarı (pin) {case 2: Keyboard.println ("drive.google.com"); break; durum 3: Keyboard.println ("makeuseof.com"); break; durum 4: // CMD + T (yeni sekme, Chrome) Klavye. basın (KEY_LEFT_GUI); Keyboard.press ( 't'); gecikme (100); Keyboard.releaseAll (); break; vaka 5: // buradaki göreviniz kırılıyor; vaka 6: // buradaki göreviniz kırılıyor; case 7: // buradaki göreviniz kırılıyor; vaka 8: // buradaki göreviniz kopuyor; vaka 9: // buradaki göreviniz kırılıyor; } }

Bu, PIN numarasını bir değiştirmek Beyan. Anahtar ifadeleri (bazen çağrılabilir) yer değiştir) benzer bir Eğer Bununla birlikte, bir şeyin (bu durumda pin numarasının) birkaç farklı sonuçtan birine eşit olup olmadığını kontrol etmek için yararlıdırlar. Aslında, hesaplamaları çok daha hızlıdır.

Ana bileşenler bu anahtar deyiminin içindedir. Keyboard.println metni bilgisayara fiziksel olarak her anahtarı yazmış gibi yazar. Keyboard.press bir tuşa basar ve tutar. Bunları kullanarak serbest bırakmayı unutmayın Keyboard.releaseAll kısa bir gecikmeden sonra!

İşte tam kod:

int tuşları [] = {2, 3, 4, 5, 6, 7, 8, 9, 10}; void setup () {// kurulum kodunuzu bir kez çalıştırmak için buraya yerleştirin: Keyboard.begin (); // için kurulum klavyesi (int i = 2; i <11; ++ i) {// pin pinini başlatır pinMode (i, INPUT); } } void loop () {// tekrar tekrar çalıştırmak için ana kodunuzu buraya girin: for (int i = 2; i <11; ++ i) {// (readButton (i)) {doAction (i); } } } boolean readButton (int pin) {// eğer (digitalRead (pin) == HIGH) {delay (10); if (digitalRead (pin) == YÜKSEK) {true değerini döndürür; } yanlış döndür; } void doAction (int pin) {// görevleri gerçekleştir anahtarı (pin) {case 2: Keyboard.println ("drive.google.com"); break; durum 3: Keyboard.println ("makeuseof.com"); break; durum 4: // CMD + T (yeni sekme, Chrome) Klavye. basın (KEY_LEFT_GUI); Keyboard.press ( 't'); gecikme (100); Keyboard.releaseAll (); break; vaka 5: // buradaki göreviniz kırılıyor; vaka 6: // buradaki göreviniz kırılıyor; case 7: // buradaki göreviniz kırılıyor; vaka 8: // buradaki göreviniz kopuyor; vaka 9: // buradaki göreviniz kırılıyor; } }

Tüm sayı ve harf tuşlarına ek olarak, Arduino adlı özel tuşların çoğuna basabilir. Klavye Değiştiricileri. Bunlar özellikle klavye kısayollarına basmak için kullanışlıdır. Arduino web sitesinde yardımcı liste.

Şimdi geriye kalan tek şey bazı kısayollar oluşturmak. Bunu, aşağıdakiler gibi mevcut kısayollarla eşleyebilirsiniz: Alt + F4 (programı Windows'ta kapat) veya Cmd + S (program macOS'tan çık). Alternatif olarak, nihai klavye kısayol kılavuzu Windows Klavye Kısayolları 101: Nihai KılavuzKlavye kısayolları size saatlerce zaman kazandırabilir. Evrensel Windows klavye kısayollarına, belirli programlar için klavye numaralarına ve çalışmanızı hızlandırmak için birkaç ipucuna hakim olun. Daha fazla oku , Windows kısayolları nasıl oluşturulur Windows Masaüstü Kısayolları Kolay Yol Nasıl OluşturulurAkıllı masaüstü kısayolları, menüler ve klasörler arasında akılsızca eleme yapmanızı sağlayabilir. Size bunları oluşturmanın hızlı ve kolay yollarını gösteriyoruz. Daha fazla oku , ve her Chromebook kısayolu İhtiyacınız Olacak Her Chromebook Klavye Kısayoluİhtiyacınız olacak her önemli Chromebook klavye kısayolunun bu listesiyle Chrome OS'ta ustalaşın. Daha fazla oku kendi kısayollarınızı yapmaya başlamak için.

Kendi kısayol kutunuzu yarattınız mı? Yorumlarda bana bildirin, bazı resimler görmek isterim!

Joe, İngiltere Lincoln Üniversitesi Bilgisayar Bilimi mezunudur. Profesyonel bir yazılım geliştiricisidir ve uçağı uçurmadığı veya müzik yazmadığı zamanlarda, genellikle fotoğraf çekerken veya video üretirken bulunabilir.