Talaan ng mga Nilalaman:

Kinokontrol ng USB Mga Mini Lava Lamp: 9 Hakbang
Kinokontrol ng USB Mga Mini Lava Lamp: 9 Hakbang

Video: Kinokontrol ng USB Mga Mini Lava Lamp: 9 Hakbang

Video: Kinokontrol ng USB Mga Mini Lava Lamp: 9 Hakbang
Video: Truck Campers for Adventurous Travelers: Top 10 Picks 2024, Hulyo
Anonim
Kinokontrol ng USB ang Mga Mini Lava Lamp
Kinokontrol ng USB ang Mga Mini Lava Lamp
Kinokontrol ng USB ang Mga Mini Lava Lamp
Kinokontrol ng USB ang Mga Mini Lava Lamp
Kinokontrol ng USB ang Mga Mini Lava Lamp
Kinokontrol ng USB ang Mga Mini Lava Lamp

Inilalarawan ng itinuturo na ito ang pagbuo ng isang USB na pinapatakbo at kinokontrol na hanay ng mga lava lamp mula sa isang USB keyboard at dalawang Think Geek USB lava lamp gamit ang isang simpleng transistor relay switch circuit na hinimok ng mga keyboard ng LED. Ito ay naglalarawan ng isang simpleng paraan upang makontrol ang hanggang sa tatlong switch na may mataas na latency (hanggang sa 120volts, 0.5 amps) sa isang koneksyon sa USB, para sa isang kaunting halaga ng pera (0 $ hanggang 40 $ depende sa iyong koleksyon ng basura), at nang walang upang mai-program ang isang USB serial control driver o isang microcontroller. Posibleng maaari mo ring gamitin ang mga keyboard key upang magdagdag ng higit sa 100 mga input na magta-type ng mga character na maaaring magamit upang makontrol ang isang programa (tulad ng inilarawan ni randofo at ni David Merrill, ngunit ang pamamaraang ito ay hindi ginamit para sa proyektong ito. Ang proyektong ito ay naisip bilang isang regalo para sa aking kaibigang si Chris Lasher upang gunitain ang kanyang paglipat at pagsisimula ng isang nagtapos na programa sa bioinformatics. Si Chris ay gumagawa ng maraming programa, at isang tagasunod ng Pragmatic / Agile Programing, isa sa mga punong-guro na kung saan ay ang pagsubok sa yunit. Habang ang tumatakbo ang mga pagsubok sa yunit ng isang programa, magandang malaman kung ang mga ito ay nagtatagumpay o nabigo, at kung saan ang namamayani. Sikat, ang ilang mga pragmatic programmer ay gumawa ng isang sistema ng puna sa pamamagitan ng pagkontrol sa buong laki na lava na lampara mula sa isang framework ng pagsubok sa yunit sa pamamagitan ng pagsasama-sama ng ilan mga aparato sa bahay na kontrol sa bahay (nasa halagang $ 60). Pinayagan silang makita ng mga lampara kung pumasa o nabigo ang mga pagsubok, at ang unti-unting pag-init sa isang ilawan ay pinapayagan silang makita kung alin ang namayani ang ts. Ito ay isang cool na ideya, ngunit nais kong gumawa ng Chris ng isang bagay na: 1) makokontrol ang dalawang maliliit na lampara ng lava na pinalakas ng USB, 2) ay papatayin sa magarbong bagong laptop ni Chris, at interface sa pamamagitan ng USB (walang mga port ng legacy sa mga mas bagong computer, lalo na ang mga laptop), 3) ay magiging isang mas higit na gawang bahay at hacker-friendly, 4) ay magiging mas mura. Ang pagsusumikap ng mga relay mula sa isang USB patungo sa serial port converter ay tila isang simpleng solusyon. Mayroong maraming mga circuit na magagamit on-line para sa mga proyekto sa serial control control. Ang isang mahusay na proyekto na inangkop ko ay sa https://www.windmeadow.com/node/4. Sa kasamaang palad, halos lahat ng USB sa mga serial device ay hindi pinapayagan para sa mababang antas ng banging (ang manu-manong pag-toggle ng mga linya ng kontrol) na kinakailangan upang magamit ang mga circuit na ito. Ang isa pang diskarte ay upang bumili ng isang USB interface circuit, o bumuo ng isa mula sa isang microcontroller. Alinmang paraan, ang proyekto ay mangangailangan ng isang mahusay na pakikitungo ng microcontroller code at mga driver (kahit na ang paggamit ng paunang umiiral na mga driver ng interface ng tao o isang paunang ginawa na kontrolado). Pinili kong malutas ang problemang ito sa isang naka-salvage na USB keyboard, dahil medyo mura ang mga ito, at naglalaman ng lahat ng kinakailangan para sa tatlong simpleng mga output na on / off, sa anyo ng bilang, mga takip, at mga scroll lock LED. Sa ilalim ng Linux mayroong isang bilang ng mga mekanismo upang i-toggle ang iyong mga LED mula sa isang programa o linya ng utos (ang isa ay na-refer sa Cryptonomicon). Ang pag-set up ay ang pinakasimpleng, at paunang naka-install sa halos lahat ng mga machine, ang ledd ay binuo sa isang modelo ng client-server, at mayroong kahit isang module sa wika ng pag-program na Ruby. Ang Windows at Mac OSs, at iba pang mga wika sa pagprograma, ay dapat magkaroon ng maihahambing na mekanismo - i-post ang mga ito sa mga komento kung alam mo kung paano i-toggle ang mga LEDs sa keyboard sa iba pang mga OS o mga wika sa pagprograma! Ibinigay ko kay Chris ang kanyang kasalukuyan, at ngayon hindi niya lamang makikita kung ang kanyang ang mga pagsubok sa yunit ay dumadaan, lahat ng mga programmer sa kanyang bagong kagawaran ay maaaring malaman kung ano ang isang cool na tagagawa ng DIY siya.

Hakbang 1: Listahan ng Mga Bahagi

2 USB lava lamp (mula sa Thinkgeek o froogle ~ $ 10 bawat isa) 1 USB keyboard (papayagan ka rin ng isang keyboard ng apple na makatipid ng dalawang USB jacks, na ginagawang hindi kinakailangan ang hackery na nakalista sa "jack's poor man's poor" na tao) $ 0 para sa isang scraped keyboard na may isang patay na susi o dalawa, sa $ 4 on-line (https://froogle.google.com/froogle?q=usb%20keyboard) hanggang sa $ 30 na pinakamahusay na pagbili) 2 relay switch relay (Radio Shack # 275-233 $ 3.00, Mouser # 677-OMR-112H $ 1.54) lahat ng iba pang mga de-koryenteng sangkap ay dapat gastos lamang ng ilang dolyar. 2 transistors (tulad ng isang 2N2222) (Radio Shack # 276-1617, Mouser # 511-2N2222A) 2 resistors (Radio Shack # 271-1124, Mouser # 291-4.7k, yellow-violet-red-gold-band) 4 diode, isang bagay tulad ng 1N404 (Radio Shack # 276-1103, Mouser # 512-1N414B) 1 power switch (SPST) isang maliit na wire1 perfboard (Radio Shack # 276-1395) 1 Altoids napakasarap na karton, isang sheet ng transparency / overhead filmTools: soldering iron at / o wire wrap tool at wiredremel tool o hand-tool at pasensyo at bitsa digital na multimeterred at berde na marka ng marka ng malas na kaalaman at kasanayan: Pangunahing kaalaman sa paghihinang at electronics. Masidhing inirerekumenda ko ang libro ni Forest Mimm kung ikaw ay isang nagsisimula sa electronics at nais mong malaman kung paano gumagana ang mga circuit. Oras: Ang proyektong ito ay tumagal ng dalawang gabi at isang hapon, kabilang ang pag-troubleshoot.

Hakbang 2: Evisceration sa Keyboard

Evisceration sa Keyboard
Evisceration sa Keyboard
Evisceration sa Keyboard
Evisceration sa Keyboard
Evisceration sa Keyboard
Evisceration sa Keyboard

Ihiwalay ang iyong keyboard bilang nondestructively hangga't maaari. Ang keyboard na nakahiga ako sa paligid ay isang Dynex multimedia USB keyboard, numero ng modelo na DX-MKB101. Sa iyong pag-disassemble, mag-ingat na huwag masira ang manipis na mga wire na madalas na ginagamit. Dapat mong makita ang isang bagay tulad ng pangalawang larawan pagkatapos buksan ang keyboard. Nais mong i-save ang katawan ng circuit at ang board gamit ang mga LED (madalas sa parehong circuit board) at mawala ang napakalaking keyboard. Inaasahan namin na maalis mo ang manipis na plastik na film na gumaganap bilang mga pangunahing switch para sa keyboard, o sa ibang paraan maputol ang mga switch ng keyboard nang hindi nakakasira sa pangunahing circuit. Kailangan kong gupitin ang ilang plastik upang mapalaya ang board, ngunit pagkatapos ng pagtatapos ay dapat mong mai-plug ang keyboard, kilalanin ito, at i-toggle ang mga hubad na LED sa isa pang, ang mga key ng pag-andar ng keyboard ay naka-plug sa parehong computer. Maaari kang magkaroon ng maraming mga keyboard, USB at hindi, naka-plug in nang sabay-sabay sa karamihan sa mga modernong operating system at mag-uudyok sila ng mga lock ng cap ng bawat isa at iba pang mga lock key. Sa puntong ito dapat kong sabihin na posible na mapinsala o sirain ang iyong computer sa pamamagitan ng pag-plug ng mga hubad na circuit dito. Mag-ingat at magpatuloy nang maingat. Kung nag-aalala ka pagsubok sa isang murang USB hub. Sa kabilang banda, sinubukan ko ang lahat ng uri ng mga bagay-bagay habang nagto-troubleshoot sa circuit na ito, kasama ang pag-rewire ng mga live na circuit, at ang aking laptop ay nananatiling hindi nag-iisip.

Hakbang 3: Usb Plug ng Hindi Mahusay na Tao

Usb Plug ng Hindi Mahusay na Tao
Usb Plug ng Hindi Mahusay na Tao
Usb Plug ng Hindi Mahusay na Tao
Usb Plug ng Hindi Mahusay na Tao

Hindi ko nais na sirain ang mga USB plug sa lava lamp upang maaari silang magamit nang magkahiwalay, at upang ang USB lava lamp controller ay modular (ang ibang mga aparato ay maaaring magamit na nakabukas at patayin sa halip na mga lampara). Kung na-disassemble mo ang isang keyboard ng mansanas sa huling hakbang magkakaroon ka ng dalawang babaeng USB-A jacks na maaari mong gamitin, at sa gayon ay maaaring laktawan ang hakbang na ito. Maaari mo ring bilhin ang mga babaeng USB-A jack mula sa mouser o i-salvage mula sa isang ekstrang USB hub. Gayunpaman pinili ko na pumunta sa isang murang at simpleng pagpipilian - isang simpleng USB jack na ginawa mula sa ilang mga guhit na balot ng kawad (ang anumang manipis na kawad ay sapat), isang piraso ng perfboard, at ilang papel at transparency na pelikula para sa pagkakabukod. Gupitin lamang ang isang piraso ng perfboard upang pumunta sa LOOB ng mga plugs ng USB, magdagdag ng kawad sa mga butas upang ang pagpasok ng plug ay hindi sila hilahin at papayagan silang makipag-ugnay sa + 5V at mga ground konektor sa plug (tingnan ang mga pinout sa " Gumawa ng circuit na "hakbang para sa kung aling ang koneksyon ay alin). Pagkatapos ay gupitin ang isang transparency film upang masakop ang isang gilid ng board upang ang perfboard wire ay hindi maikli laban sa metal na katawan ng plug. Isama ang naka-insulate na board na ito sa USB plug, at kumpirmahin sa iyong multimeter na ang mga wire ay nakakagawa ng isang mahusay na contact at hindi nakakulangan. Ito ay kung paano nakakonekta ang circuit ng lava ng USB sa circuit. Para sa proyektong ito, gumawa ng dalawa sa mga plug ng mahirap na taong ito sa ulo sa parehong piraso ng perfboard (tingnan ang imahe). Sa hakbang ng pagpupulong, makikita mo kung paano hinahawakan ng kaso ang pareho ng mga USB plug sa konektor na ito.

Hakbang 4: Gupitin ang Enclosure at Perfboard

Gupitin ang Enclosure at Perfboard
Gupitin ang Enclosure at Perfboard
Gupitin ang Enclosure at Perfboard
Gupitin ang Enclosure at Perfboard

Alamin ang layout ng iyong proyekto sa enclosure nito. Ginamit ko ang pinakatanyag na lata ng Altoids. Mag-drill ng butas sa likuran ng lata ng Altoids para sa malaking switch ng / off SPST, isa sa harap para sa keyboard USB cable, at dalawang butas sa mga gilid para sa mga lava ng plug ng lava ng USB. Gupitin ang mga slits ng keyhole gamit ang isang dremel cut-off na gulong o handsaw pababa sa harap at mga butas sa gilid upang magkasya ang mga USB cable (tingnan ang larawan). Mga hole hole na may duct tape upang maiwasan ang paggupit ng mga kable. Magpasya sa hugis ng iyong perfboard para sa iyong circuit at gupitin ang hugis na iyon gamit ang isang dremel tool. Ito ay magiging isang medyo masikip na magkasya…

Hakbang 5: Gumawa ng Circuit

Gumawa ng Circuit
Gumawa ng Circuit
Gumawa ng Circuit
Gumawa ng Circuit
Gumawa ng Circuit
Gumawa ng Circuit

Ang puso ng proyektong ito ay simpleng gumagamit ng software upang i-toggle ang mga LED keyboard, at i-hijack ang mga LED upang ilipat ang mas malalaking alon. Dapat kong banggitin dito na ang ilang mga LED ay nakabukas sa pamamagitan ng paglalapat ng isang positibong boltahe sa anode, habang ang iba pang mga circuit (tulad ng isa sa keyboard na ito) ay pinalutang ang LED anode mataas (kaya't naka-off ang LED) at itali ang katod ng LED sa ground kapag ito ay aktibo (pull-down switching). Maaari mong baguhin ang circuit na ito upang gumana sa alinman, ngunit ilalarawan ko ang negatibong pamamaraan ng pagtali. Ang LED na naka-patay (itinakda nang mataas) ay lumiliko sa isang switch ng transistor, na nagsasara ng isang relay, at sa wakas ang lava lampara ay naaktibo. Nangangahulugan ito na ang software na magpalipat-lipat para sa lampara ay mababaligtad mula sa LED. Inangkop ko ang circuit mula sa windmeadow, ngunit batay ito sa isang simpleng switch ng transistor tulad ng inilarawan sa karamihan ng mga teksto sa electronics (p. 50 sa libro ni Mimm, o sa wikipedia). Nagsama ako ng isang file ng ktechlab upang makita mo kung paano gumagana ang transistor switch, at isang buong eskematiko (sa mga format na svg at png). Siguraduhing gamitin ang orihinal na eskematiko o ang file ng svn para sa pag-print, dahil ang mga mas maliit na mga imahe ay hindi malinaw. Kakailanganin mong alisin ang mga LED mula sa keyboard circuit board at matukoy ang kanilang polarity at kung aling bahagi ang pinalitan ng isang multimeter. Patakbuhin ang isang kawad mula sa bawat LED na sasali sa isang switching circuit (ang mga ito ay may label na SCROLLLOCK at CAPSLOCK sa eskematiko). Ibagsak ang + 5v at lupa mula sa keyboard circuit upang magbigay ng lakas sa perfboard, at pagkatapos ay patakbuhin ang mga wire upang ibalik ang lakas sa board (ito ang + 5V at mga batayan sa eskematiko). Pagkatapos ay sundin ang eskematiko upang gawin ang circuit, gamit ang mga pinout ng mga bahagi upang makilala ang mga koneksyon. Ipunin muna ang circuit na ito sa isang breadboard, at subukan ang circuit. Ito ang hakbang kung saan natutukoy ko na ang mga LED ay pull-up sa halip na lumipat ang pull-down, at sa pangkalahatan ay umabot sa punto ng maximum na kaguluhan sa aking workbench. Kapag ang circuit ay gumagana (masubok sa pamamagitan ng pagpindot sa Caps Lock Key o Scroll Lock Key at makita kung ang mga lava lampara ay magpalipat-lipat), alamin kung paano i-pack ang mga sangkap sa perfboard. Maaaring gamitin ang Wirewrap, ngunit ang pinakasimpleng pamamaraan ng pagpupulong ay simpleng itulak ang mga sangkap sa pamamagitan ng mga butas, balutin ang mga lead, at sama-sama silang solder. Subukan na ang binuo circuit ay gumagana sa perfboard.

Hakbang 6: Kulay ng USB Lava Lamps

Kulay ng USB Lava Lamps
Kulay ng USB Lava Lamps

Gawin ang malinaw na mga lava ng USB lava na may kulay sa pamamagitan ng pagkulay ng isang patch ng overhead film na may pula o berdeng marker, pagkatapos ay gupitin ang isang bilog upang maipasok sa base ng ilawan sa pagitan ng ilaw at ng silid na "lava". Muling pagsamahin ang mga ilaw ng lava.

Hakbang 7: Pangwakas na Assembly

Huling pagtitipon
Huling pagtitipon
Huling pagtitipon
Huling pagtitipon
Huling pagtitipon
Huling pagtitipon

Ang mga lata ng Altoids ay gumawa ng magagaling na enclosure. Ang mga ito ay mahusay sa kalasag, ngunit sa kasamaang palad sila ay mga conductor at maiikli ang mga hindi protektadong mga circuit. Upang maiwasan ito, gupitin ang karton at transparency film sa laki ng lata, at upang magkasya sa pagitan ng keyboard circuit board at ng iyong perfboard. Ipasok ang switch sa butas sa likuran sa iyong lata. Ipasok ang mga USB plug na isinama sa konektor ng USB ng mahirap na tao sa mga keyhole cut sa gilid upang ang lata ay humahawak ng mga plugs sa konektor. Mag-cram sa perfboard at naka-salvage na keyboard circuit, mag-insulate sa karton at transparency film. Subukang isara ang lata (ang aming halos hindi magkasya).

Hakbang 8: Code

Ang lava lamp ay makokontrol ng mga tawag sa system sa "setled" na programa na i-on at i-off ang capslock at scroll lock LEDs. Subukan ito sa pamamagitan ng pagpapatakbo ng sumusunod mula sa isang linya ng utos (posible bilang ugat, depende sa iyong pagsasaayos) upang kumurap ang iyong mga lampara: setleds -L -caps + scroll </ dev / tty0; sleep 3s; setleds -L + caps -scroll </ dev / tty0; pagtulog 3; setleds -L </ dev / tty0breaking this down: #Upang buksan ang pulang ilawan: setleds -L -caps + scroll </ dev / tty0 # upang i-on ang berdeng lampara: setleds -L + caps -scroll </ dev / tty0 # upang bumalik sa estado kung saan ipinapakita ng mga LED ang mga setting ng keyboard -L </ dev / tty0Maaari mong isama ang mga tawag sa system na ito sa iyong sariling programa, o gamitin ang isang module ng pagsubok ng yunit ng phython na isinulat ni Chris batay sa naitayo na framework framework ng PyUnit unit sa sawa. I-unpack lamang ang mga file mula sa archive ng tar (tar -xzvf lava_unittest.tar.gz mula sa isang console) at subukan ang mga sumusunod na utos mula sa isang console: python lava_unittest.py test_lava_unittest-passpython lava_unittest.py test_lava_unittest-failorpython test_lava_unittest-pass.pypythun test fail.py Upang tumakbo mula sa isang mga emulator ng terminal, huwag paganahin ang mga linya na naka-flag ng babala at subukang patakbuhin ang root nito mula sa isang terminal emulator. Sa code na ito, ang kailangan lang gawin ay magpalit ng mga pagkakataon na "unittest" na may "lava_unittest" sa mga script ng Python na nakasulat para sa pagsubok sa yunit. Walang kinakailangang muling pag-coding.

Hakbang 9: Medyo Pagbalot

Medyo Pagbalot
Medyo Pagbalot
Medyo Pagbalot
Medyo Pagbalot

Upang tapusin ang proyektong ito, gumawa at mag-print ng iyong sariling label o gamitin ang kasama na imahe (buksan ang buong sukat na secong imahe o ang xcf file na may gimp). I-paste lamang sa takip ng iyong kamangha-manghang mga kinokontrol na lava lamp na USB.

Inirerekumendang: