Mündəricat:

USB Nəzarətli Mini Lava Lampaları: 9 Addım
USB Nəzarətli Mini Lava Lampaları: 9 Addım

Video: USB Nəzarətli Mini Lava Lampaları: 9 Addım

Video: USB Nəzarətli Mini Lava Lampaları: 9 Addım
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Noyabr
Anonim
USB Nəzarətli Mini Lava Lampaları
USB Nəzarətli Mini Lava Lampaları
USB Nəzarətli Mini Lava Lampaları
USB Nəzarətli Mini Lava Lampaları
USB Nəzarətli Mini Lava Lampaları
USB Nəzarətli Mini Lava Lampaları

Bu təlimat, klaviatura LED -lərinin idarə etdiyi sadə bir tranzistor rölesi keçidindən istifadə edərək, USB klaviaturasından bir USB ilə işləyən və idarə olunan bir lava lampa dəsti və iki Think Geek USB lava lampasının qurulmasını təsvir edir. Minimum miqdarda (zibil kolleksiyanızdan asılı olaraq 0 $-40 $) bir USB bağlantısı üzərindən üç gecikmə açarını (120 volt, 0,5 amperə qədər) idarə etməyin sadə bir yolunu göstərir. USB seriyalı idarəetmə sürücüsünü və ya mikro nəzarətçini proqramlaşdırmaq. Potensial olaraq bir proqramı idarə etmək üçün istifadə edilə bilən simvolları yazacaq 100 -dən çox giriş əlavə etmək üçün klaviatura düymələrindən də istifadə edə bilərsiniz (randofo və David Merrill tərəfindən təsvir edildiyi kimi, lakin bu yanaşma bu layihə üçün istifadə edilməmişdir. Bu layihə kimi düşünülmüşdür) dostum Chris Lasher -in bioinformatikada keçdiyi və məzun olduğu bir proqrama başlamasını xatırlamaq üçün bir hədiyyə. Chris çox proqramlaşdırma ilə məşğul olacaq və əsaslarından biri vahid testi olan Praqmatik / Çevik Proqramlaşdırmanın tərəfdarıdır. Bir proqramın vahid testləri davam edir, müvəffəqiyyətli olub-olmadığını və hansı üstünlük təşkil etdiyini bilmək çox xoşdur. Məşhur olaraq, bəzi praqmatik proqramçılar, vahid test çərçivəsindən tam ölçülü lava lampalarını idarə edərək bir rəy sistemi qurdular. satışdan çıxan ev idarəetmə cihazları (onların qiyməti 60 dollardan artıqdır). Lampalar testlərin keçib-getmədiyini görməyə imkan verirdi və bir lampada tədricən istiləşmə hansının hətta ts üstünlük təşkil edirdi. Bu sərin bir fikirdir, amma mən Chrisə elə bir şey etmək istəyirdim ki: 1) USB ilə işləyən iki kiçik lava lampasını idarə etsin, 2) Chrisin xülya yeni dizüstü kompüteri söndürülsün və USB vasitəsilə interfeysi olsun (yeni kompüterlərdə heç bir köhnə port yoxdur, Xüsusilə noutbuklar), 3) bir az daha ev istehsalı və hacker dostu olardı, 4) daha ucuz olardı. USB-dən serial port çeviricisinə röle sürmək sadə bir həll kimi görünür. Serial port nəzarət layihələri üçün bir çox dövrələr mövcuddur. Uyğunlaşdırdığım əla bir layihə https://www.windmeadow.com/node/4 idi. Təəssüf ki, demək olar ki, bütün USB cihazları bu sxemləri istifadə etmək üçün lazım olan aşağı səviyyəli bit vurulmasına (idarəetmə xətlərinin əl ilə dəyişdirilməsinə) icazə vermir. Başqa bir yanaşma, bir USB interfeysi dövrəsi almaq və ya bir mikro nəzarət cihazından qurmaq olar. Hər halda, layihə çoxlu mikrokontrolör kodu və sürücüləri tələb edərdi (hətta əvvəllər mövcud olan insan interfeysi sürücülərindən və ya əvvəlcədən hazırlanmış bir nəzarətçidən istifadə etsəniz də). Bu problemi nisbətən ucuz olduğu üçün xilas edilmiş USB klaviatura ilə həll etməyi seçdim. və ədəd, qapaqlar və sürüşmə kilidi LEDləri şəklində üç sadə açma/söndürmə çıxışı üçün lazım olan hər şeyi ehtiva edir. Linux altında LED -lərinizi bir proqramdan və ya əmr satırından dəyişdirmək üçün bir sıra mexanizmlər mövcuddur (bunlara hətta Cryptonomiconda istinad edilir). Setled ən sadədir və demək olar ki, bütün maşınlarda əvvəlcədən quraşdırılmışdır, ledd müştəri-server modeli üzərində qurulmuşdur və hətta Ruby proqramlaşdırma dilində bir modul da mövcuddur. Windows və Mac OS -lərin və digər proqramlaşdırma dillərinin müqayisə edilə bilən mexanizmləri olmalıdır - digər OS və ya proqramlaşdırma dillərində klaviatura LED -lərini necə dəyişdirə biləcəyinizi bilirsinizsə şərhlərdə yazın! Mən Chrisə hədiyyəsini verdim, indi isə yalnız vahid testləri keçir, yeni şöbəsindəki bütün proqramçılar nə sərin DIY istehsalçısı olduğunu bilə bilər.

Addım 1: Parça siyahısı

2 USB lava lampası (hər biri Thinkgeek və ya froogle -dan ~ 10 dollar) 1 USB klaviatura (alma klaviaturası, "yoxsul adamın USB yuvası" nda qeyd olunan hackeriyanı lazımsız hala gətirərək iki USB yuvasını xilas etməyinizə də imkan verəcək) qırılmış bir klaviatura üçün $ 0 bir və ya iki ölü açarla, ən yaxşı alış üçün 30 dollara qədər ($ https://froogle.google.com/froogle?q=usb%20keyboard) 4 dollara qədər) 2 qamış keçid rölesi (Radio Shack #275-233 $ 3.00, Mouser #677-OMR-112H $ 1.54) bütün digər elektrik komponentləri yalnız bir neçə dollara başa gəlməlidir. 2 tranzistor (2N2222 kimi) (Radio Shack #276-1617, Mouser #511-2N2222A) 2 müqavimət (Radio Shack #271-1124, Mouser #291-4.7k, sarı-bənövşəyi-qırmızı-qızıl bantlar) 4 diod, 1N404 kimi bir şey (Radio Shack #276-1103, Mouser #512-1N414B) 1 güc açarı (SPST) bir az tel1 perfboard (Radio Shack #276-1395) 1 Altoidlər xoşagəlməz karton, şəffaf bir təbəqə/yerüstü film Alətlər: lehimləmə dəmir və / və ya tel sarma aləti və telli alət və ya əl aləti və səbirli rill və bitsa rəqəmsal multimetreli və yaşıl kəsici marker Bilik və bacarıqlar: Əsas lehimləmə və elektronika bilikləri. Elektronikaya yeni başlamısınızsa və dövrələrin necə işlədiyini bilmək istəyirsinizsə Forest Mimm kitabını çox tövsiyə edirəm. Vaxt: Bu layihə problemlərin aradan qaldırılması da daxil olmaqla iki axşam və bir günorta çəkdi.

Addım 2: Klaviatura Evisceration

Klaviatura Evisceration
Klaviatura Evisceration
Klaviatura Evisceration
Klaviatura Evisceration
Klaviatura Evisceration
Klaviatura Evisceration

Klaviaturanı mümkün qədər dağıdıcı şəkildə ayırın. Ətrafımda yatdığım klaviatura, model nömrəsi DX-MKB101 olan Dynex multimedia USB klaviaturası idi. Sökərkən diqqətli olun ki, tez -tez istifadə olunan nazik telləri qırmayın. Klaviaturanı açdıqdan sonra ikinci şəkil kimi bir şey görməlisiniz. LED -lərlə dövrə gövdəsini və lövhəni xilas etmək (çox vaxt eyni dövrə lövhəsində) və böyük klaviaturanı itirmək istəyirsən. Ümid edirik ki, klaviatura üçün açar rolunu oynayan nazik plastik filmi ayıra və ya başqa bir şəkildə əsas dövrə zərər vermədən klaviatura açarlarını kəsə bilərsiniz. Lövhəni sərbəst buraxmaq üçün bir neçə plastik kəsməliydim, amma bitirdikdən sonra klaviaturanı bağlaya, tanıya və çılpaq LEDləri eyni kompüterə qoşulmuş başqa bir funksional klaviatura kilidi düymələri ilə dəyişə bilərsiniz. Əksər müasir əməliyyat sistemləri ilə eyni vaxtda qoşulmuş bir neçə USB klaviaturanız ola bilər və onlar bir -birlərinin caps lock və digər kilid düymələrini işə salacaq. Bu nöqtədə deməliyəm ki, çılpaq sxemləri bağlayaraq kompüterinizə zərər vurmaq və ya məhv etmək mümkündür. Ehtiyatlı olun və diqqətlə hərəkət edin. Narahat olsanız, ucuz bir USB hub ilə sınayın. Digər tərəfdən, bu dövrənin problemlərini həll edərkən canlı sxemlərin yenidən qurulması da daxil olmaqla hər şeyi sınadım və dizüstü kompüterim hələ də qurudulmamış qalır.

Addım 3: Kasıbın Usb Fişi

Kasıb adamın usb fişi
Kasıb adamın usb fişi
Kasıb adamın usb fişi
Kasıb adamın usb fişi

Ayrı -ayrılıqda istifadə oluna bilməsi üçün və USB lava lampa idarəedicisinin modul olması üçün lava lampalarındakı USB fişlərini məhv etmək istəmədim (lampalar yerinə digər cihazları açıb söndürmək olardı). Bir alma klaviaturasını son addımda söksəniz, istifadə edə biləcəyiniz iki qadın USB-A yuvasına sahib olacaqsınız və bu addımı atlaya bilərsiniz. Dişi USB-A jaklarını mouserdən satın ala və ya ehtiyat USB hubundan xilas edə bilərsiniz. Ucuz və sadə bir seçimlə getməyi seçdim - bəzi zolaqlı tel sarğıdan (hər hansı bir nazik tel kifayət edər) sadə bir USB yuvası, bir az perfboard və izolyasiya üçün bir az kağız və şəffaf film. USB fişlərinin içərisinə keçmək üçün bir az perforator kəsin, deliklərdən tel əlavə edin ki, fişi çəkməsin və fişdəki +5V və topraklama konnektorları ilə əlaqə saxlasınlar ("pinlərdəki düymələrə baxın" Hansı əlaqənin olduğu üçün "dövrə edin". Sonra lövhənin bir tərəfini örtmək üçün bir az şəffaflıq filmi kəsin ki, perfboard teli fişin metal gövdəsinə qısalmasın. Bu izolyasiya edilmiş lövhəni USB fişinə bağlayın və tellərin yaxşı bir əlaqə qurduğunu və qısalmadığını multimetrinizlə təsdiqləyin. USB lava lampalarının dövrə necə bağlandığı belədir. Bu layihə üçün, bu yoxsul adamın iki fişini eyni perfor taxtasının başı üstə düzəldin (şəklə baxın). Montaj mərhələsində, korpusun bu bağlayıcıdakı hər iki USB fişini necə tutduğunu görəcəksiniz.

Addım 4: Kassanı və Perfboardu kəsin

Kassanı və Perfboardu kəsin
Kassanı və Perfboardu kəsin
Kassanı və Perfboardu kəsin
Kassanı və Perfboardu kəsin

Layihənizin planını onun içərisində anlayın. Həmişə populyar olan Altoids qalayından istifadə etdim. Altoids qalayının arxasındakı böyük açma/söndürmə SPST açarı üçün bir klaviatura USB kabeli üçün ön tərəfdə və USB lava lampa fişləri üçün iki delik açın. USB kabellərinin yerləşə bilməsi üçün açar delik yarıqlarını ön və yan deliklərə qədər bir dremel kəsici təkər və ya əl testerəsi ilə kəsin (şəklə baxın). Kabellərin kəsilməsinin qarşısını almaq üçün delikləri yapışan bantla düzəldin. Dövrünüz üçün mükəmməl taxtanızın formasına qərar verin və bu formanı dremel aləti ilə kəsin. Bu olduqca sıx bir uyğunlaşma olacaq…

Addım 5: Dövrə edin

Dövrə edin
Dövrə edin
Dövrə edin
Dövrə edin
Dövrə edin
Dövrə edin

Bu layihənin əsası sadəcə klaviatura LED -lərini dəyişdirmək üçün proqramdan istifadə etmək və daha böyük cərəyanları dəyişdirmək üçün LED -ləri qaçırmaqdır. Burada qeyd etməliyəm ki, bəzi LEDlər anoda müsbət bir gərginlik tətbiq etməklə açılır, digər dövrələr (bu klaviaturadakı kimi) LED anodunu yüksək üzür (LED sönür) və LED -in katotunu bağlayır. işə salındıqda torpaq (açılan açar). Bu dövrəni hər ikisi ilə işləmək üçün dəyişdirə bilərsiniz, amma mənfi bağlama metodunu diaqramlaşdıracağam. LED söndürüldükdə (yüksək olaraq təyin olunduqda) bir röleyi bağlayan bir tranzistor açarı açılır və nəhayət lava lampası işə düşür. Bu o deməkdir ki, lampanın proqram təminatı LED -dən geri çevriləcək. Dövrəni külək çəmənindən uyğunlaşdırdım, amma əksər elektronika mətnlərində təsvir edildiyi kimi sadə bir tranzistor açarına əsaslanır (Mimm kitabında və ya vikipediyada s. 50). Transistor açarının necə işlədiyini və tam bir sxematik (svg və-p.webp

Addım 6: Rəngli USB Lava Lampaları

Rəngli USB Lava Lampaları
Rəngli USB Lava Lampaları

Qırmızı və ya yaşıl markerlərlə üst filmin bir hissəsini rəngləyərək aydın bir USB lava lampaları rəngləndirin, sonra işıq və "lava" kamerası arasındakı lampanın əsasına daxil etmək üçün bir dairə kəsin. Lava işıqlarını yenidən yığın.

Addım 7: Son Quraşdırma

Final Məclisi
Final Məclisi
Final Məclisi
Final Məclisi
Final Məclisi
Final Məclisi

Altoid qalayları böyük örtüklər yaradır. Qorunmağı yaxşı bacarırlar, amma təəssüf ki, dirijorlardır və qorunmayan dövrələri qısaldırlar. Bunun qarşısını almaq üçün karton və şəffaflıq filmini qalay ölçüsündə kəsin və klaviatura devre kartı ilə lövhənizin arasına sığdırın. Qutunuzdakı arxa çuxura keçid daxil edin. Kasıbın USB konnektoru ilə birləşdirilmiş USB fişlərini, yanındakı açar deliklərinə daxil edin, belə ki, qalay fişləri bağlayıcıya bağlayır. Mükəmməl taxta və xilas edilmiş klaviatura dövrəsində, karton və şəffaf filmlə izolyasiya edin. Qələmi bağlamağa çalışın (bizimki çətinliklə uyğun gəlir).

Addım 8: Kod

Lava lampaları, capslock və scroll lock LED -lərini açacaq və söndürəcək "setled" proqramına sistem zəngləri ilə idarə olunacaq. Lampalarınızın yanıb -sönməsini təmin etmək üçün aşağıdakıları əmr satırından (kökdən asılı olaraq mümkündür) işlədərək sınayın: setleds -L -caps +scroll < /dev /tty0; 3s yuxu; setleds -L +caps -scroll < /dev /tty0; yuxu 3; setleds -L </dev/tty0 bunu qıraraq:#Qırmızı lampanı yandırmaq üçün: setleds -L -caps +scrolle </dev/tty0#yaşıl lampanı yandırmaq üçün: setleds -L +caps -sürün </dev/ LED -lərin klaviatura parametrlərini göstərdiyi vəziyyətə qayıtmaq üçün tty0#-L </dev/tty0Bu sistem zənglərini öz proqramınıza daxil edə bilərsiniz və ya Chrisin PyUnit vahid test çərçivəsinə əsaslanaraq yazdığı fiton vahid test modulundan istifadə edə bilərsiniz. pythona daxil edin. Yalnız tar arxivindəki faylları açın (bir konsoldan tar -xzvf lava_unittest.tar.gz) və bir konsoldan aşağıdakı əmrləri sınayın: python lava_unittest.py test_lava_unittest-passpython lava_unittest.py test_lava_unittest-failorpython test_ testi fail.pyTerminal emulyatorlarından çalışmaq üçün xəbərdarlıq işarələnmiş sətirləri açmayın və terminal emulatorundan root ilə çalışmağa çalışın. Bu kodla, "unittest" nümunələrini Python skriptlərində "lava_unittest" ilə dəyişdirmək kifayətdir. vahid test. Yenidən kodlaşdırmağa ehtiyac yoxdur.

Addım 9: Olduqca Qablaşdırma

Gözəl Qablaşdırma
Gözəl Qablaşdırma
Gözəl Qablaşdırma
Gözəl Qablaşdırma

Bu layihəni bitirmək üçün öz etiketinizi hazırlayın və çap edin və ya daxil edilmiş şəkildən istifadə edin (tam ölçülü sekong şəklini və ya xcf faylını gimp ilə açın). Sadəcə inanılmaz USB nəzarətli lava lampalarınızın qapağına yapışdırın.

Tövsiyə: