İçindekiler:

USB Kontrollü Mini Lav Lambaları: 9 Adım
USB Kontrollü Mini Lav Lambaları: 9 Adım

Video: USB Kontrollü Mini Lav Lambaları: 9 Adım

Video: USB Kontrollü Mini Lav Lambaları: 9 Adım
Video: EN İLGİNÇ 3 AKILLI SAAT🤫 2024, Kasım
Anonim
USB Kontrollü Mini Lav Lambaları
USB Kontrollü Mini Lav Lambaları
USB Kontrollü Mini Lav Lambaları
USB Kontrollü Mini Lav Lambaları
USB Kontrollü Mini Lav Lambaları
USB Kontrollü Mini Lav Lambaları

Bu talimat, klavye LED'leri tarafından çalıştırılan basit bir transistör röle anahtar devresi kullanan bir USB klavyeden ve iki Think Geek USB lav lambasından USB ile çalışan ve kontrollü bir lav lambası setinin oluşturulmasını açıklar. Bir USB bağlantısı üzerinden üç adede kadar yüksek gecikmeli anahtarı (120 volta kadar, 0,5 amperde) minimum miktarda parayla (önemsiz koleksiyonunuza bağlı olarak 0$ ila 40$) kontrol etmenin basit bir yolunu gösterir. USB seri kontrol sürücüsünü veya mikrodenetleyiciyi programlamak için. Potansiyel olarak klavye tuşlarını, bir programı kontrol etmek için kullanılabilecek karakterleri yazacak 100'den fazla giriş eklemek için de kullanabilirsiniz (randofo ve David Merrill tarafından açıklandığı gibi, ancak bu yaklaşım bu proje için kullanılmadı. Bu proje şu şekilde tasarlandı: arkadaşım Chris Lasher'a biyoinformatik alanında yüksek lisans programına geçişini ve başlamasını anmak için bir hediye. Chris çok fazla programlama yapacak ve prensiplerinden biri birim testi olan Pragmatik / Çevik Programlama'nın bir takipçisidir. Bir programın birim testleri çalışıyor, başarılı olup olmadıklarını ve hangisinin baskın olduğunu bilmek güzel. Ünlü olarak, bazı pragmatik programcılar, tam boyutlu lav lambalarını bir birim test çerçevesinden bazılarını birbirine takarak kontrol ederek bir geri bildirim sistemi yaptılar. kullanıma hazır ev kontrol cihazları (60 dolardan fazlaya mal oldu). Lambalar, testlerin geçip geçmediğini görmelerine izin verdi ve bir lambanın kademeli olarak ısınması, hangisinin bile olduğunu görmelerine izin verdi. ts baskındı. Bu harika bir fikir, ama ben Chris'i şöyle bir şey yapmak istedim: 1) USB ile çalışan iki küçük lav lambasını kontrol edecek, 2) Chris'in şık yeni dizüstü bilgisayarı kapatılacak ve USB üzerinden arayüz (daha yeni bilgisayarlarda eski bağlantı noktaları yok) özellikle dizüstü bilgisayarlar), 3) biraz daha ev yapımı ve bilgisayar korsanı dostu olurdu, 4) çok daha ucuz olurdu. Röleleri USB'den seri port dönüştürücüye sürmek basit bir çözüm gibi görünüyor. Seri port kontrol projeleri için çevrimiçi olarak birçok devre mevcuttur. Uyarladığım mükemmel bir proje https://www.windmeadow.com/node/4 adresindeydi. Ne yazık ki, neredeyse tüm USB'den seri cihazlara, bu devreleri kullanmak için gereken düşük seviyeli bit çarpmasına (kontrol hatlarının manuel olarak değiştirilmesi) izin vermez. Başka bir yaklaşım, bir USB arabirim devresi satın almak veya bir mikro denetleyiciden bir tane oluşturmak olacaktır. Her iki durumda da, proje çok sayıda mikrodenetleyici kodu ve sürücüsü gerektirecektir (önceden var olan insan arabirim sürücülerini veya önceden yapılmış bir denetleyiciyi kullanarak bile). Göreceli olarak ucuz oldukları için bu sorunu kurtarılabilir bir USB klavyeyle çözmeyi seçtim., ve sayı, büyük harf ve kaydırma kilidi LED'leri şeklinde üç basit açma/kapama çıkışı için gereken her şeyi içerir. Linux altında, LED'lerinizi bir programdan veya komut satırından değiştirmek için bir dizi mekanizma vardır (birine Cryptonomicon'da bile atıfta bulunulur). Setled en basitidir ve hemen hemen tüm makinelerde önceden kuruludur, ledd bir istemci-sunucu modeli üzerine kuruludur ve hatta Ruby programlama dilinde bir modül bile vardır. Windows ve Mac OS'ler ve diğer programlama dilleri, karşılaştırılabilir mekanizmalara sahip olmalıdır - diğer işletim sistemlerinde veya programlama dillerinde klavye LED'lerini nasıl değiştireceğinizi biliyorsanız, yorumlara gönderin! birim testleri geçiyor, yeni bölümündeki tüm programcılar onun ne kadar havalı bir DIY yapımcısı olduğunu biliyor.

Adım 1: Parça Listesi

2 USB lav lambası (Thinkgeek veya froogle'dan her biri ~10$'dan)1 USB klavye (bir elma klavyesi ayrıca iki USB jakını kurtarmanıza izin verir, bu da "fakir adamın USB jakı" adımında listelenen korsanlığı gereksiz kılar) kazınmış bir klavye için 0$ bir veya iki ölü anahtarla, çevrimiçi 4$'a (https://froogle.google.com/froogle?q=usb%20keyboard) en iyi ihtimalle 30$'a kadar)2 manyetik anahtar rölesi (Radio Shack #275-233 3,00$, Mouser #677-OMR-112H 1,54 $) diğer tüm elektrikli bileşenler yalnızca birkaç dolara mal olmalıdır. 2 transistör (2N2222 gibi) (Radio Shack #276-1617, Mouser #511-2N2222A)2 direnç (Radio Shack #271-1124, Mouser #291-4.7k, sarı-mor-kırmızı-altın bantları)4 diyot, 1N404 (Radio Shack #276-1103, Mouser #512-1N414B)1 güç düğmesi (SPST)biraz tel1 perfboard (Radio Shack #276-1395)1 gibi bir şey havya ve/veya tel sarma aleti ve wiredremel aleti veya el aleti ve saban matkabı ve bitsa dijital multimetreli ve yeşil şarpi işaretleyiciBilgi ve beceriler:Temel lehimleme ve elektronik bilgisi. Elektroniğe yeni başlıyorsanız ve devrelerin nasıl çalıştığını öğrenmek istiyorsanız Forest Mimm'in kitabını şiddetle tavsiye ederim. Zaman: Bu proje, sorun giderme de dahil olmak üzere iki akşam ve bir öğleden sonra sürdü.

2. Adım: Klavye Eviserasyon

Klavye Eviserasyon
Klavye Eviserasyon
Klavye Eviserasyon
Klavye Eviserasyon
Klavye Eviserasyon
Klavye Eviserasyon

Klavyenizi mümkün olduğunca zarar vermeden ayırın. Yanımda duran klavye, DX-MKB101 model numaralı Dynex multimedya USB klavyeydi. Sökerken sık kullanılan ince telleri kırmamaya dikkat edin. Klavyeyi açtıktan sonra ikinci resimdeki gibi bir şey görmelisiniz. Devrenin gövdesini ve LED'li kartı (genellikle aynı devre kartında) kurtarmak ve hacimli klavyeyi kaybetmek istiyorsunuz. Umarım klavye için tuş anahtarları görevi gören ince plastik filmi çıkarabilir veya ana devreye zarar vermeden klavye anahtarlarını başka bir şekilde kesebilirsiniz. Kartı serbest bırakmak için biraz plastik kesmek zorunda kaldım, ancak bitirdikten sonra klavyeyi takabilmeniz, tanımasını sağlamanız ve çıplak LED'leri aynı bilgisayara takılı başka bir işlevsel klavyenin kilit tuşlarıyla değiştirebilmeniz gerekir. Çoğu modern işletim sistemiyle aynı anda takılı birden fazla klavyeniz, USB'niz olabilir ve olmayabilir ve bunlar birbirlerinin büyük harf kilidini ve diğer kilit tuşlarını tetikler. Bu noktada şunu söylemeliyim ki, bilgisayarınıza çıplak devreler takarak bilgisayarınıza zarar vermek veya yok etmek mümkündür. Dikkatli kullanın ve dikkatli bir şekilde ilerleyin. Endişeleniyorsanız, ucuz bir USB hub ile test edin. Öte yandan, bu devrede sorun giderirken, canlı devrelerin yeniden kablolanması da dahil olmak üzere her türlü şeyi denedim ve dizüstü bilgisayarım kızarmadı.

3. Adım: Zavallı Adamın Usb Fişi

Zavallı Adamın Usb Fişi
Zavallı Adamın Usb Fişi
Zavallı Adamın Usb Fişi
Zavallı Adamın Usb Fişi

Lav lambaların üzerindeki USB fişlerini ayrı ayrı kullanılabilsinler diye ve USB lav lambası kontrolörü modüler olsun diye (lambalar yerine başka cihazlar açılıp kapatılabilsin) kırmak istemedim. Son adımda bir elma klavyesini demonte ettiyseniz, kullanabileceğiniz iki adet dişi USB-A jakınız olur ve bu adımı atlayabilirsiniz. Ayrıca dişi USB-A jaklarını mouser'dan satın alabilir veya yedek bir USB hub'ından kurtarabilirsiniz. Bununla birlikte, ucuz ve basit bir seçenekle gitmeyi seçtim - biraz çizgili tel sargıdan yapılmış basit bir USB jakı (herhangi bir ince tel yeterli olacaktır), biraz perfboard ve yalıtım için bir miktar kağıt ve şeffaf film. USB fişlerinin İÇERİSİNE geçmek için bir parça perfboard kesin, deliklerden kablo ekleyin, böylece fişin takılması onları dışarı çekmez ve fişteki + 5V ve toprak konektörlerine temas etmelerine izin verir (bkz. " Hangi bağlantının hangisi olduğu için devre yapın" adımı). Ardından, levhanın bir tarafını kaplamak için biraz şeffaf film kesin, böylece perfboard tel fişin metal gövdesine karşı kısa devre yapmaz. Bu yalıtımlı kartı USB fişine sıkıştırın ve multimetrenizle kabloların iyi bir temas kurduğunu ve kısa devre yapmadığını onaylayın. USB lav lambaları devreye bu şekilde bağlanır. Bu proje için, bu zavallı adamın fişlerinden ikisini aynı perfboard üzerinde kafa kafaya yapın (resme bakın). Montaj adımı sırasında, kasanın bu konektör üzerindeki her iki USB fişini nasıl tuttuğunu göreceksiniz.

Adım 4: Muhafazayı ve Perfboard'u Kesin

Kesilmiş Muhafaza ve Perfboard
Kesilmiş Muhafaza ve Perfboard
Kesilmiş Muhafaza ve Perfboard
Kesilmiş Muhafaza ve Perfboard

Projenizin mahfazasındaki düzenini belirleyin. Her zaman popüler olan Altoids tenekesini kullandım. Altoids kutusunun arkasına büyük açma/kapama SPST anahtarı için bir delik, klavye USB kablosu için önde ve USB lav lambası fişleri için yanlarda iki delik açın. Anahtar deliği yarıklarını bir dremel kesme diski veya el testeresi ile ön ve yan deliklere kadar kesin, böylece USB kabloları girebilsin (resme bakın). Kabloların kesilmesini önlemek için koli bandı ile çizgi delikleri. Devreniz için perfboard'unuzun şekline karar verin ve bu şekli bir dremel aletiyle kesin. Bu oldukça sıkı bir uyum olacak…

Adım 5: Devre Yapın

Devre Yap
Devre Yap
Devre Yap
Devre Yap
Devre Yap
Devre Yap

Bu projenin kalbi, klavye LED'lerini değiştirmek için yazılımı kullanmak ve daha büyük akımları değiştirmek için LED'leri ele geçirmektir. Burada belirtmeliyim ki bazı LED'ler anoda pozitif voltaj uygulanarak açılırken, diğer devreler (bu klavyedeki gibi) LED anodunu yüksekte yüzer (yani LED kapalıdır) ve LED'in katotunu anoda bağlar. etkinleştirildiğinde topraklayın (aşağı çekme anahtarlama). Bu devreyi ikisinden biriyle çalışacak şekilde değiştirebilirsiniz, ancak ben negatif bağlama yöntemini çizeceğim. Kapatılan LED (yüksek olarak ayarlanmış), bir röleyi kapatan bir transistör anahtarını açar ve son olarak lav lambası etkinleştirilir. Bu, lamba için yazılım geçişinin LED'den tersine çevrileceği anlamına gelir. Devreyi windmeadow'dan uyarladım, ancak çoğu elektronik metinde anlatıldığı gibi basit bir transistör anahtarına dayanıyor (Mimm'in kitabında veya wikipedia'da s. 50). Transistör anahtarının nasıl çalıştığını görebilmeniz için bir ktechlab dosyası ve tam bir şematik (svg ve-p.webp

Adım 6: Renkli USB Lav Lambaları

Renkli USB Lav Lambaları
Renkli USB Lav Lambaları

Üstteki filmin bir parçasını kırmızı veya yeşil işaretlerle boyayarak şeffaf USB lav lambalarını renklendirin, ardından lambanın tabanına ışık ve "lav" odası arasına yerleştirmek için bir daire kesin. Lav ışıklarını yeniden monte edin.

Adım 7: Son Montaj

Son montaj
Son montaj
Son montaj
Son montaj
Son montaj
Son montaj

Altoids teneke kutuları harika muhafazalar yapar. Korumada iyidirler, ancak ne yazık ki iletkendirler ve korumasız devreleri kısa devre yapacaklardır. Bunu önlemek için karton ve şeffaf filmi kalay boyutunda ve klavye devre kartı ile perfboard arasına sığacak şekilde kesin. Teneke kutunuzdaki arka deliğe anahtarı yerleştirin. Fakir adamın USB konektörüyle eşleşen USB fişlerini, teneke fişleri konektöre tutacak şekilde yandaki anahtar deliği kesiklerine takın. Perfboard ve kurtarılmış klavye devresini sıkıştırın, karton ve şeffaf film ile yalıtın. Tenekeyi kapatmaya çalışın (bizimki zar zor sığıyor).

Adım 8: Kod

Lav lambaları, kapak kilidi ve kaydırma kilidi LED'lerini açıp kapatacak olan "yerleşik" programa yapılan sistem çağrıları ile kontrol edilecektir. Lambalarınızın yanıp sönmesini sağlamak için bir komut satırından (yapılandırmanıza bağlı olarak root olarak mümkündür) aşağıdakileri çalıştırarak test edin:setleds -L -caps +scroll < /dev/tty0;sleep 3s;setleds -L +caps -scroll < /dev/tty0; uyku 3; setleds -L </dev/tty0bunu kırmak için:#Kırmızı lambayı açmak için:setleds -L -caps +scroll < /dev/tty0#yeşil lambayı açmak için:setleds -L +caps -scroll < /dev/ tty0#LED'lerin klavye ayarlarını görüntülediği duruma dönmek için setleds -L </dev/tty0Bu sistem çağrılarını kendi programınıza dahil edebilir veya Chris'in yerleşik PyUnit birim test çerçevesine dayalı olarak yazdığı bir phython birim test modülünü kullanabilirsiniz. piton içine. Dosyaları tar arşivinden açın (bir konsoldan tar -xzvf lava_unittest.tar.gz) ve bir konsoldan aşağıdaki komutları deneyin:python lava_unittest.py test_lava_unittest-passpython lava_unittest.py test_lava_unittest-failorpython test_lava_unittest-test_lavapython. fail.pyBir uçbirim öykünücüsünden çalıştırmak için, uyarı işaretli satırların yorumunu kaldırın ve bir uçbirim öykünücüsünden itas root çalıştırmayı deneyin. Bu kodla, tek yapmanız gereken Python betiklerinde "unittest" örneklerini "lava_unittest" ile değiştirmektir. birim testi. Yeniden kodlama gerekli değildir.

Adım 9: Güzel Paketleme

güzel paketleme
güzel paketleme
güzel paketleme
güzel paketleme

Bu projeyi bitirmek için, kendi etiketinizi yapın ve yazdırın veya birlikte verilen resmi kullanın (tam boyutlu secong resmini veya gimp ile xcf dosyasını açın). Harika USB kontrollü lav lambalarınızın kapağına yapıştırmanız yeterlidir.

Önerilen: