USB Klaviatura Joystick: 5 addım
USB Klaviatura Joystick: 5 addım
Anonim
USB Klaviatura Joystick
USB Klaviatura Joystick
USB Klaviatura Joystick
USB Klaviatura Joystick
USB Klaviatura Joystick
USB Klaviatura Joystick
USB Klaviatura Joystick
USB Klaviatura Joystick

Xüsusi USB klaviatura və siçan nəzarətçiləri etmək çox sadədir.

Adobe Lightroom -da şəkilləri qiymətləndirərkən bir neçə klaviatura qısa yolundan istifadə edirəm və sadə bir oyun nəzarətçi joystickindən istifadə edərək daha da sürətli ola biləcəyimi gördüm. Atölyəmdə artıq mövcud olan iki komponentli bir çörək taxtasına lağ etdim və əla işlədiyini gördüm, amma masamda yaşamaq üçün daha gözəl bir "kabinetə" ehtiyacım var.

Arduino əsaslı olduğu üçün joystick funksiyalarını fərdiləşdirmək və əlavə düymələr, zənglər və ya digər idarəetmə elementləri əlavə etmək asandır.

Bu layihənin üç bölməsi var:

  • Avadanlıq
  • Proqram təminatı
  • Sözügedən aparatı saxlamaq üçün masaya layiq qutu

Hissələri

  • Arduino - Adafruit -dən 5V 16MHz Itsy Bitsy. Bir çox digər Arduino yaxşı işləyəcək, ancaq USB -nin klaviatura və siçan kitabxanaları ilə işləyə biləcəyinə əmin olun.
  • Joystick - Oyun nəzarətçi üslubunda 2 oxlu keçid (burada on paket var: WGCD 10 ədəd Joystick Breakout Modulu Arduino PS2 üçün Oyun Nəzarətçisi).
  • Çanta üçün ağac və ya akril. Bəlkə bir az boya.
  • Tel və USB kabel.

Addım 1: Avadanlıq

Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq

Arduino

Bu quruluşu mümkün qədər yığcam saxlamaq üçün kiçik bir Arduino lövhəsindən istifadə etmək istədim. Bir neçə Pro Əşyələrim var, ancaq USB Biblolarda tam tətbiq olunmadığı üçün klaviatura və siçan simulyasiyası üçün yaxşı işləmir. Bu layihə üçün Adafruit -dən 5V 16MHz Itsy Bitsy istifadə etdim ki, USB üzərində klaviatura və siçan olmaq üçün standart HID kitabxanalarından istifadə edə bilər.

Joystick

Bu oyun nəzarətçilərində istifadə olunan joystick növüdür. İki oxlu və çubuğu itələdikdə müvəqqəti olan bir açarı var. Onlayn tapmaq asandır. Yalnız bir dənə almaq istəyirsinizsə, hər yerdə 4 ilə 10 dollar arasında ola bilər, ancaq Amazonda toplu olaraq 10 paketdə təxminən 11 dollara almaq olar.

Diqqət yetirin ki, Adafruit və Sparkfun -dan oxşar joysticklər, internetdə tapa biləcəyiniz digərlərindən daha fərqli pinoutlara malikdir. Bağladığınız zaman buna diqqət edin.

Arduino -da bu layihələr keçid üçün A0, X oxu üçün A1 və Y oxu üçün A2 istifadə edir. Yaradıcılığınızı inkişaf etdirə biləcəyiniz üçün bu, 19 digər giriş sancağı buraxır.

5v joystick 5v USB gücündən gəlir (Ity Bitsy -də belə etiketlənir). Və bir zəmini var - Arduino torpağına bağlayın.

Addım 2: Proqram təminatı

Proqram təminatı
Proqram təminatı

Arduino kodu çox sadədir. Şəkilləri qiymətləndirmək üçün istifadə etdiyim bir neçə Lightroom klaviatura qısa yolu üçün xüsusi olaraq proqramlaşdırmışam. Anahtarı itələmək Loupe ("e") və Grid ("g") görünüşü arasında dəyişir. Joystickin sola və sağa hərəkət etməsi əvvəlki (sol ox) və ya sonrakı (sağ ox) şəklə gedir. Çubuğu yuxarı itələmək reytinqə bir ulduz əlavə edir ("[") və aşağı itələmək bayrağı çıxarır ("u"). (İnanın, şəkillərimi qiymətləndirməyimin mənası var.) İstədiyiniz hər şeyi etmək üçün kodu dəyişə bilərsiniz.

Əsas döngə əvvəlcə keçid vəziyyətini oxuyur. YÜKSƏKDƏN LOW -a dəyişərsə, Loupe və Grid görünüşü arasında keçmək üçün ya 'e' ya da 'g' növünə keçər və yazar.

Sonra proqram, joystickin analoq dəyərlərini (0-dan 1024-ə qədər) fərqli bir aralığa (-5 ilə +5) uyğunlaşdırır. Kod, +/- 5 dəyərlərini simvol göndərmə hərəkətləri kimi tanıyır, buna görə də klaviatura qısa yolunu göndərmək üçün joysticki aralığının sonuna yaxın hərəkət etdirməlisiniz. Joystick, başqa bir düymə vurmadan əvvəl 0 -dan keçməlidir. Bunu etmək üçün kod olduqca qısadır və olduqca zərif hesab edirəm. Xalis təsir, hərəkətlərinizə qəsdən yanaşmağınızdır və təsadüfən eyni düymə vuruşunu göndərməyəcəkdir (kodun ilk versiyası bunu etdi!).

Siçan kitabxanasını və joystickdəki analoq dəyərləri istifadə edərək kursorunuzu, sürüşmə çarxlarını, səs səviyyəsini idarə etməyi və ya hər hansı digər analoq (iş) funksiyasını idarə edə bilərsiniz.

Addım 3: Case, Part 1 - Dizayn və Kəsmə

Case, Part 1 - Dizayn və Kəsmə
Case, Part 1 - Dizayn və Kəsmə
Case, Part 1 - Dizayn və Kəsmə
Case, Part 1 - Dizayn və Kəsmə
Case, Part 1 - Dizayn və Kəsmə
Case, Part 1 - Dizayn və Kəsmə

Masamda çörək taxtasının olması heç də sərin görünmürdü və erqonomika da ideal deyildi. Bir iş dizayn etmək vaxtıdır.

Kassanı 3D çap etmək üçün bu ideal bir layihə olardı. 3D printerim yoxdur, amma lazer kəsicim var, buna görə hər şey indi mənə lazer kəsmə layihəsi kimi görünür. Bu dizayn, sadə bir çubuq, lazerlə kəsilmiş menteşələrdən istifadə edərək daha üzvi bir forma və qutu formaları kimi bir çox fərqli anlayışla oynamaq da daxil olmaqla Adobe Illustrator -da dizayn etmək üçün bir axşam çəkdi.

Çörək taxtasını fərqli yüksəkliklərdə və açılarda tutaraq başladım və masanın təxminən 80-100 mm yüksəkliyində 30 ° bir açının rahat olacağına qərar verdim. Son dizayn kiçik bir uçuş joystickinə bənzəyir və tutmaq rahat hiss edir.

Orijinal Adobe Illustrator faylı DXF və PDF versiyaları ilə birlikdə aşağıda verilmişdir. (DXF və PDF lazer kəsici üzərində sınaqdan keçirilməyib.) Fayl, öz layihənizi hazırlayarkən istifadə etməyiniz üçün joystickin yuxarı və yan görünüşlərini də ehtiva edir.

Bu dizaynda iki qalınlıqda material istifadə olunur. Üst hissədən başqa hər şey yerli böyük qutu mağazasından 0.187 "'faydalı" kontrplakdır. 2' x 4 'təbəqə cəmi 8 dollara yaxındır. Dizaynda.187 "ağacın qalınlığı olaraq 5 mm istifadə olunur və yığılır mükəmməl Joystickin barmaq ucu üçün əlavə boşluq təmin etmək üçün üstü 3 mm kontrplakdır. Bu layihə şəffaf akrilikdə də yaxşı olardı.

Bir cüt prototip hazırlamağın faydası haqqında qeyd edir: Bir dizayn səhvini tapmağa kömək edən əvvəlcə kartonla bir test kəsmə və montaj etdim. İlk dəfə taxta versiyasını kəsəndə üst boşqabın çuxurda çox kövrək olduğunu kəşf etdim, buna görə də oraya əlavə güc əlavə etmək üçün lövhələri yenidən dizayn etdim. Joystickin korpusun yan tərəfinə vurduğunu da gördüm, buna görə iki dəyişiklik etdim: montajı daha yaxşı mərkəzə köçürdüm və üst hissəsində 5 mm yerinə 3 mm taxta istifadə etdim. Yüklənmiş dizayn sənədində bütün bu dəyişikliklər var - üst hissəni daha incə ağacdan kəsdiyinizə əmin olun.

Addım 4: Case, Part 2 - Boya və Montaj

Case, Part 2 - Boya və Montaj
Case, Part 2 - Boya və Montaj
Case, Part 2 - Boya və Montaj
Case, Part 2 - Boya və Montaj
Case, Part 2 - Boya və Montaj
Case, Part 2 - Boya və Montaj

Bütün parçaları kəsdikdən sonra son quru montaj etdim və müvəqqəti olaraq joystickə quraşdırdım. Hər şey yaxşı idi, buna görə üst hissədən başqa bütün parçaları yapışdırdım. Joystickin üst hissəsi bağlandıqdan sonra quraşdırmaq mümkün deyil ki, bu da sonradan gələcək.

Üst sağ alt künc mənim baş barmağımın altına girəcəkdi, buna görə də bir az zımpara ilə alt küncləri yuvarlaqlaşdırdım.

Lazer kəsmə görünüşünü sevirsinizsə və ya bunu akrildən hazırlamısınızsa, işiniz bitdi! İstəyirəm ki, masaüstümlə birlikdə parçanı daha gözəl bir şəkildə tamamlayım. Mən ona qara rəngli bir əsas qat və sonra bir neçə qat Rust-oleum Dövülmüş Hammered Yanmış Kəhrəba verdim. Bu məhsulu masamın kənarında istifadə etdim, buna görə parçaları bir -birinə bağlayır. Bu boyanın metal rəngli görünüşünü də bəyənirəm. Boyanın uyğunlaşmaması üçün üst hissəsinin uyğun olduğu yerlərdə barmaq oynaqlarının içini maskaladım.

Joystick və Arduino, təmiz görünməsi üçün qara tellər və daralan borularla bağlanmış və tellər quraşdırıldıqda düzgün görünən uzunluğa kəsilmişdir.

Joystick mərkəzi dayaqda vintlər. Əlimdəki vintlər bir az uzun idi, buna görə də istifadə olunmamış taxtanı vidalayaraq qısaltdım və uclarını stolüstü zımpara ilə zımparaladım. Arduinonun montaj delikləri yoxdur, buna görə də isti şəkildə yerə yapışdırıldı.

Hər şey quraşdırıldıqdan sonra üstünü yapışdırmadan yerinə qoydum. Özünü tutmaq üçün kifayət qədər sıxdır və struktur baxımından əhəmiyyətli deyil.

Addım 5: Tamamlama

Tamamlanması
Tamamlanması
Tamamlanması
Tamamlanması
Tamamlanması
Tamamlanması

Bitmiş layihə masamda əla görünür.

İstifadə etdiyim ilk şey bu Instructable üçün şəkilləri düzəltmək idi.

Bitdi!