Indholdsfortegnelse:

USB -kontrollerede mini -lavalamper: 9 trin
USB -kontrollerede mini -lavalamper: 9 trin

Video: USB -kontrollerede mini -lavalamper: 9 trin

Video: USB -kontrollerede mini -lavalamper: 9 trin
Video: WORLDE EASYCONTROL 9 - Portable USB MIDI Controller (UNBOXING & DEMO) 2024, Juli
Anonim
USB -kontrollerede mini lavalamper
USB -kontrollerede mini lavalamper
USB -kontrollerede mini lavalamper
USB -kontrollerede mini lavalamper
USB -kontrollerede mini lavalamper
USB -kontrollerede mini lavalamper

Denne instruktør beskriver opbygningen af et USB -drevet og kontrolleret sæt lavalamper fra et USB -tastatur og to Think Geek USB -lavalamper ved hjælp af et simpelt transistorrelæafbryderkredsløb, der drives af tastaturets lysdioder. Det illustrerer en enkel måde at styre op til tre switches med høj latens (ved op til 120 volt, 0,5 ampere) over en USB-forbindelse for et minimalt beløb (0 $ til 40 $ afhængigt af din uønskede samling) og uden at have til at programmere en USB seriel kontroldriver eller en mikrokontroller. Potentielt kan du også bruge tastaturet til at tilføje over 100 input, der ville skrive tegn, der kunne bruges til at styre et program (som beskrevet af randofo og af David Merrill, men denne fremgangsmåde blev ikke brugt til dette projekt. Dette projekt blev opfattet som en gave til min ven Chris Lasher til minde om hans flytning og begyndelse på en kandidatuddannelse i bioinformatik. Chris vil lave en masse programmering og er tilhænger af Pragmatisk / Agil Programmering, hvoraf en af de vigtigste er enhedstest. Mens enhedstest af et program kører, er det rart at vide, om de lykkes eller mislykkes, og som er fremherskende. Nogle pragmatiske programmører lavede berømt et feedback-system ved at styre lavastamper i fuld størrelse fra en enhedstestramme ved at tilslutte nogle hjemmestyringsenheder på hylden (det kostede dem over $ 60). Lamperne tillod dem at se, om testene passerede eller mislykkedes, og den gradvise opvarmning af en lampe gav dem mulighed for at se, hvilke selv ts var fremherskende. Dette er en fed idé, men jeg ville gøre Chris til noget, der: 1) ville styre to små USB-drevne lavalamper, 2) ville blive slukket for Chris fancy nye bærbare computer og interface via USB (ingen ældre porte på nyere computere, især bærbare computere), 3) ville være lidt mere hjemmelavet og hackervenligt, 4) ville være meget billigere. At køre relæer fra en USB til seriel port konverter synes at være en enkel løsning. Der er mange tilgængelige kredsløb online til serielle portkontrolprojekter. Et glimrende projekt, som jeg tilpassede, var på https://www.windmeadow.com/node/4. Desværre tillader næsten alle USB til serielle enheder ikke lavt bit -banging (manuelt skift af kontrollinjer), der er påkrævet for at bruge disse kredsløb. En anden tilgang ville være at købe et USB -interfacekredsløb eller bygge et fra en mikrokontroller. Uanset hvad, ville projektet kræve en hel del mikrokontrollerkode og drivere (selv ved hjælp af de eksisterende menneskelige interface-drivere eller en præfabrikeret controller). Jeg valgte at løse dette problem med et bjærget USB-tastatur, da de er relativt billige, og indeholder alt, hvad der er nødvendigt for tre enkle tænd/sluk -udgange, i form af tallet, hætter og rullelås -LED'er. Under Linux er der en række mekanismer til at skifte dine lysdioder fra et program eller en kommandolinje (en er endda refereret til i Cryptonomicon). Setled er den enkleste og er forudinstalleret på næsten alle maskiner, ledd er bygget på en klient-server-model, og der er endda et modul i Ruby-programmeringssproget. Windows og Mac OS'er og andre programmeringssprog burde have sammenlignelige mekanismer - post dem i kommentarerne, hvis du ved, hvordan du skifter tastatur -LED'er i andre operativsystemer eller programmeringssprog! Jeg gav Chris sin gave, og nu kan han ikke kun se, om hans enhedstest passerer, kan alle programmører i hans nye afdeling vide, hvilken sej DIY -maker han er.

Trin 1: Deleliste

2 USB -lavalamper (fra Thinkgeek eller froogle ~ $ 10 pr. Stk.) 1 USB -tastatur (et æbletastatur ville også give dig mulighed for at redde to USB -stik, hvilket gør hackeryet i "fattigmandens USB -stik" unødvendigt) $ 0 for et skrabet tastatur med en død nøgle eller to, til $ 4 online (https://froogle.google.com/froogle?q=usb%20keyboard) til $ 30 i bedste fald køb) 2 reed switch relæer (Radio Shack #275-233 $ 3,00, Mouser #677-OMR-112H $ 1.54) alle andre elektriske komponenter skulle kun koste et par dollars. 2 transistorer (som en 2N2222) (Radio Shack #276-1617, Mouser #511-2N2222A) 2 modstande (Radio Shack #271-1124, Mouser #291-4.7k, gul-violet-rød-guldbånd) 4 dioder, noget som 1N404 (Radio Shack #276-1103, Mouser #512-1N414B) 1 strømafbryder (SPST) en lille smule wire1 perfboard (Radio Shack #276-1395) 1 Altoider blød pap, et ark gennemsigtighed/overheadfilmVærktøjer: loddejern og / eller trådindpakningsværktøj og trådfremstillingsværktøj eller håndværktøj og patineret bor og bitsa digital multimeterrød og grøn Sharpie-markør Viden og færdigheder: Grundlæggende lodning og elektronik viden. Jeg kan varmt anbefale Forest Mimm's bog, hvis du er elektronikbegynder og gerne vil vide, hvordan kredsløb fungerer. Tid: Dette projekt tog to aftener og en eftermiddag, herunder fejlfinding.

Trin 2: Tastaturudtagning

Fjernelse af tastatur
Fjernelse af tastatur
Fjernelse af tastatur
Fjernelse af tastatur
Fjernelse af tastatur
Fjernelse af tastatur

Tag dit tastatur fra hinanden så ikke -destruktivt som muligt. Det tastatur, jeg havde liggende, var et Dynex multimedie USB-tastatur, modelnummer DX-MKB101. Når du adskiller, skal du passe på ikke at bryde de tynde ledninger, der ofte bruges. Du skulle se noget lignende det andet billede efter åbning af tastaturet. Du vil redde kredsløbets og kortets krop med lysdioderne (ofte på det samme printkort) og miste det omfangsrige tastatur. Forhåbentlig kan du løsne den tynde plastfilm, der fungerer som tasterne til tastaturet, eller på anden måde afbryde tastaturkontakterne uden at beskadige hovedkredsløbet. Jeg var nødt til at skære igennem noget plastik for at frigøre tavlen, men efter endt brug skulle du kunne tilslutte tastaturet, få det genkendt og skifte de blotte lysdioder med et andet, funktionelt tastaturs låsetaster, der er tilsluttet den samme computer. Du kan have flere tastaturer, USB og ikke, tilsluttet samtidigt med de fleste moderne operativsystemer, og de vil udløse hinandens caps lock og andre låsetaster. På dette tidspunkt skal jeg sige, at det er muligt at beskadige eller ødelægge din computer ved at tilslutte bare kredsløb til den. Vær forsigtig og fortsæt forsigtigt. Hvis du er bekymret, test med en billig USB -hub. På den anden side prøvede jeg alle mulige ting under fejlfinding af dette kredsløb, herunder genopkobling af levende kredsløb, og min bærbare computer forbliver ufrit.

Trin 3: Fattig mands USB -stik

Stakkels mands USB -stik
Stakkels mands USB -stik
Stakkels mands USB -stik
Stakkels mands USB -stik

Jeg ville ikke ødelægge USB -stikket på lavalamperne, så de kunne bruges separat, og så USB lavalampe -controlleren var modulær (andre enheder kunne bruges tændt og slukket i stedet for lamperne). Hvis du demonterede et æbletastatur i det sidste trin, ville du have to kvindelige USB-A-stik, som du kan bruge, og så kan du springe dette trin over. Du kan også købe de kvindelige USB-A-stik fra mouser eller redde dem fra en ekstra USB-hub. Jeg valgte dog at gå med en billig og enkel mulighed - et simpelt USB -stik fremstillet af en stribet trådfolie (enhver tynd tråd ville være tilstrækkelig), en smule perfboard og noget papir og gennemsigtighedsfilm til isolering. Skær ganske enkelt en smule perfboard for at gå INDEN for USB -stik, tilføj ledning gennem hullerne, så indsættelse af stikket ikke trækker dem ud og giver dem mulighed for at komme i kontakt med +5V- og jordforbindelserne i stikket (se pinouterne på " Lav kredsløb "trin, for hvilken forbindelse er hvilken). Skær derefter en vis gennemsigtighedsfilm for at dække den ene side af brættet, så perfboardtråden ikke kortslutter mod stikket af metal. Stik dette isolerede kort ind i USB -stikket, og bekræft med dit multimeter, at ledningerne får en god kontakt og ikke er korte. Sådan er USB -lavalamperne forbundet til kredsløbet. Til dette projekt skal du lave to af disse stakkels mands propper head-to-head på den samme bit af perfboard (se billedet). Under samlingstrinnet vil du se, hvordan sagen holder begge USB -stik på dette stik.

Trin 4: Skær kabinet og Perfboard

Skær kabinet og Perfboard
Skær kabinet og Perfboard
Skær kabinet og Perfboard
Skær kabinet og Perfboard

Find ud af layoutet af dit projekt i dets kabinet. Jeg brugte den altid populære Altoids-tin. Bor et hul på bagsiden af Altoids -blikket til den store on/off SPST -switch, et foran til tastaturets USB -kabel og to huller i siderne til USB -lavalampestikkene. Skær nøglehulsslidser med et dremel afskæringshjul eller håndsav ned til for- og sidehullerne, så USB-kablerne kan passe ind (se billede). Linje huller med gaffatape for at forhindre skæring af kabler. Beslut dig om formen på dit perfboard til dit kredsløb og skær den form ud med et dremel -værktøj. Dette kommer til at passe godt…

Trin 5: Lav kredsløb

Lav kredsløb
Lav kredsløb
Lav kredsløb
Lav kredsløb
Lav kredsløb
Lav kredsløb

Kernen i dette projekt er simpelthen at bruge software til at skifte tastaturets lysdioder og kapre lysdioderne til at skifte større strømme. Jeg skal her nævne, at nogle lysdioder tændes ved at anvende en positiv spænding på anoden, mens andre kredsløb (som det på dette tastatur) flyder LED -anoden højt (så LED'en er slukket) og knytter LED'ens katode til jorden, når den er aktiveret (pull-down switch). Du kan ændre dette kredsløb til at arbejde med enten, men jeg vil diagramme den negative bindingsmetode. Lysdioden, der slukkes (sættes højt) tænder en transistorafbryder, som lukker et relæ, og til sidst aktiveres lavalampen. Det betyder, at softwarekontakten til lampen vendes fra LED'en. Jeg tilpassede kredsløbet fra windmeadow, men det er baseret på en simpel transistorafbryder som beskrevet i de fleste elektroniske tekster (s. 50 i Mimms bog eller på wikipedia). Jeg har inkluderet en ktechlab -fil, så du kan se, hvordan transistorkontakten fungerer, og en fuldstændig skematisk (i svg- og-p.webp

Trin 6: Farv USB -lavalamper

Farve USB Lava lamper
Farve USB Lava lamper

Lav de klare USB -lavalamper, der er farvet ved at farve et plaster af overheadfilmen med de røde eller grønne markører, og skær derefter en cirkel ud for at indsætte i lampens bund mellem lyset og "lavakammeret". Saml lavalys igen.

Trin 7: Endelig samling

Endelig forsamling
Endelig forsamling
Endelig forsamling
Endelig forsamling
Endelig forsamling
Endelig forsamling

Altoids dåser laver store kabinetter. De er gode til at afskærme, men de er desværre ledere og vil kortslutte ubeskyttede kredsløb. For at forhindre dette skal du skære pap og gennemsigtighedsfilm i størrelsen på formen og passe mellem tastaturets printkort og dit perfboard. Sæt kontakten i det bageste hul i din dåse. Sæt USB -stik, der er parret til den stakkels mands USB -stik, i nøglehullets udskæringer i siden, så blikket holder propperne i stikket. Cram i perfboard og bjærget tastatur kredsløb, isolere med pap og gennemsigtighed film. Prøv at lukke dåsen (vores passer næsten ikke).

Trin 8: Kode

Lavalamperne vil blive styret af systemopkald til det "setled" -program, der vil tænde og slukke for capslock- og scroll -lås -LED'erne. Test det ved at køre følgende fra en kommandolinje (mulig som root, afhængigt af din konfiguration) for at få dine lamper til at blinke: setleds -L -caps +scroll < /dev /tty0; sleep 3s; setleds -L +caps -scroll < /dev /tty0; sove 3; setleds -L </dev/tty0 nedbrydning af dette: #Tænd for den røde lampe: setleds -L -caps +rul </dev/tty0#for at tænde den grønne lampe: setleds -L +caps -scroll </dev/ tty0#for at vende tilbage til den tilstand, hvor lysdioderne viser tastaturindstillingersetleds -L </dev/tty0Du kan inkludere disse systemopkald i dit eget program eller bruge et phython -enhedstestmodul, som Chris skrev baseret på PyUnit -enhedens testramme, der er bygget ind i python. Pak bare filerne ud fra tar-arkivet (tar -xzvf lava_unittest.tar.gz fra en konsol) og prøv følgende kommandoer fra en konsol: python lava_unittest.py test_lava_unittest-passpython lava_unittest.py test_lava_unittest-failorpython test_lava_unittest-pass_lava_unittest-pass.lava_unittest fail.pyFor at køre fra en terminalemulator, skal du kommentere de advarselsmarkerede linjer og prøve at køre den som root fra en terminalemulator. Med denne kode er alt, hvad man skal gøre, at bytte forekomster af "unittest" med "lava_unittest" i Python-scripts skrevet til enhedstest. Ingen omkodning er nødvendig.

Trin 9: Smuk emballage

Smuk emballage
Smuk emballage
Smuk emballage
Smuk emballage

For at afslutte dette projekt skal du lave og udskrive din egen etiket eller bruge det medfølgende billede (åbn secong-billedet i fuld størrelse eller xcf-filen med gimp). Du skal blot indsætte omslaget på dine fantastiske USB -kontrollerede lavalamper.

Anbefalede: