Innholdsfortegnelse:

USB -kontrollerte mini -lavalamper: 9 trinn
USB -kontrollerte mini -lavalamper: 9 trinn

Video: USB -kontrollerte mini -lavalamper: 9 trinn

Video: USB -kontrollerte mini -lavalamper: 9 trinn
Video: Виниловый сайдинг! Секреты монтажа и полезные хитрости, о которых мало кто знает! 2024, Juli
Anonim
USB kontrollerte mini lavalamper
USB kontrollerte mini lavalamper
USB -kontrollerte mini lavalamper
USB -kontrollerte mini lavalamper
USB kontrollerte mini lavalamper
USB kontrollerte mini lavalamper

Denne instruksen beskriver bygningen av et USB -drevet og kontrollert sett med lavalamper fra et USB -tastatur og to Think Geek USB -lavalamper som bruker en enkel transistorrelébryterkrets drevet av tastaturets lysdioder. Den illustrerer en enkel måte å kontrollere opptil tre brytere med høy latens (på opptil 120 volt, 0,5 ampere) over en USB-tilkobling, for et minimalt beløp (0 $ til 40 $ avhengig av søppelsamlingen din), og uten å ha for å programmere en USB seriell kontrolldriver eller en mikrokontroller. Potensielt kan du også bruke tastaturet til å legge til over 100 innganger som skriver inn tegn som kan brukes til å kontrollere et program (som beskrevet av randofo og David Merrill, men denne tilnærmingen ble ikke brukt for dette prosjektet. Dette prosjektet ble tenkt som en gave til min venn Chris Lasher for å minnes hans flytting og begynnelsen på et kandidatprogram i bioinformatikk. Chris kommer til å gjøre mye programmering, og er en tilhenger av Pragmatic / Agile Programing, hvorav en av rektorene er enhetstesting. enhetstester av et program kjører, er det hyggelig å vite om de lykkes eller mislykkes, og som er dominerende. Noen pragmatiske programmerere har berømt laget et tilbakemeldingssystem ved å kontrollere lavastamper i full størrelse fra en enhetstestramme ved å koble sammen noen hjemmekontrollenheter på hyllen (det kostet dem over $ 60). Lampene tillot dem å se om testene passerte eller mislyktes, og den gradvise oppvarmingen på en lampe tillot dem å se hvilken ts var dominerende. Dette er en kul idé, men jeg ønsket å gjøre Chris til noe som: 1) ville kontrollere to små USB-drevne lavalamper, 2) ville bli slått av Chris fancy nye bærbare datamaskin og grensesnitt via USB (ingen eldre porter på nyere datamaskiner, spesielt bærbare datamaskiner), 3) ville vært litt mer hjemmelaget og hackervennlig, 4) ville vært mye billigere. Å kjøre reléer fra en USB til seriell port-omformer ser ut til å være en enkel løsning. Det er mange kretser tilgjengelig online for serieportkontrollprosjekter. Et utmerket prosjekt som jeg tilpasset var på https://www.windmeadow.com/node/4. Dessverre tillater nesten ikke alle USB til serielle enheter lavt bit -slag (manuelt bytte av kontrollinjer) som kreves for å bruke disse kretsene. En annen tilnærming ville være å kjøpe en USB -grensesnittkrets, eller bygge en fra en mikrokontroller. Uansett vil prosjektet kreve en god del mikrokontrollerkode og drivere (selv ved bruk av eksisterende menneskelige grensesnittdrivere eller en forhåndsdefinert kontroller). Jeg valgte å løse dette problemet med et berget USB-tastatur, siden de er relativt billige, og inneholder alt som trengs for tre enkle av/på -utganger, i form av tallet, caps og rullelås -lysdioder. Under Linux er det en rekke mekanismer for å bytte lysdioder fra et program eller en kommandolinje (en er til og med referert til i Cryptonomicon). Setled er den enkleste, og er forhåndsinstallert på nesten alle maskiner, ledd er bygget på en klient-server-modell, og det er til og med en modul i Ruby-programmeringsspråket. Windows og Mac OS, og andre programmeringsspråk, bør ha sammenlignbare mekanismer - legg dem i kommentarene hvis du vet hvordan du bytter tastatur -LED -er i andre operativsystemer eller programmeringsspråk! Jeg ga Chris sin gave, og nå kan han ikke bare se om hans enhetstester passerer, kan alle programmerere i den nye avdelingen vite hvilken kul DIY -maker han er.

Trinn 1: Deleliste

2 USB -lavalamper (fra Thinkgeek eller froogle ~ $ 10 hver) 1 USB -tastatur (et eple -tastatur vil også tillate deg å redde to USB -kontakter, noe som gjør hackeren oppført i "fattigmannens USB -kontakt" trinn unødvendig) $ 0 for et skrapt tastatur med en død nøkkel eller to, til $ 4 online (https://froogle.google.com/froogle?q=usb%20keyboard) til $ 30 i beste fall) 2 reléer for reedbrytere (Radio Shack #275-233 $ 3,00, Mouser #677-OMR-112H $ 1.54) alle andre elektriske komponenter burde bare koste noen få dollar. 2 transistorer (som en 2N2222) (Radio Shack #276-1617, Mouser #511-2N2222A) 2 motstander (Radio Shack #271-1124, Mouser #291-4.7k, gul-fiolett-rød-gullbånd) 4 dioder, noe som 1N404 (Radio Shack #276-1103, Mouser #512-1N414B) 1 strømbryter (SPST) en liten bit wire1 perfboard (Radio Shack #276-1395) 1 Altoider tinnete papp, et ark med transparens/overheadfilm Verktøy: loddejern og / eller wirewrapverktøy og wireremel-verktøy eller håndverktøy og patiencedill og bitsa digital multimeterred og grønn sharpie markørKunnskap og ferdigheter: Grunnleggende lodding og elektronikk kunnskap. Jeg anbefaler Forest Mimm's bok på det sterkeste hvis du er nybegynner innen elektronikk og vil vite hvordan kretser fungerer. Tid: Dette prosjektet tok to kvelder og en ettermiddag, inkludert feilsøking.

Trinn 2: Tastaturuttak

Tastaturuttak
Tastaturuttak
Tastaturuttak
Tastaturuttak
Tastaturuttak
Tastaturuttak

Ta tastaturet fra hverandre så ødeleggende som mulig. Tastaturet jeg hadde liggende var et Dynex multimedia USB-tastatur, modellnummer DX-MKB101. Når du demonterer, vær forsiktig så du ikke bryter de tynne ledningene som ofte brukes. Du bør se noe som det andre bildet etter å ha åpnet tastaturet. Du vil redde kretsens og tavlens kropp med lysdiodene (ofte på det samme kretskortet) og miste det store tastaturet. Forhåpentligvis kan du løsne den tynne plastfilmen som fungerer som nøkkelbrytere for tastaturet, eller på annen måte kutte av tastaturbryterne uten å skade hovedkretsen. Jeg måtte kutte gjennom litt plast for å frigjøre brettet, men etter at du var ferdig, bør du kunne koble tastaturet til, få det gjenkjent og veksle de bare LED -lampene med et annet, funksjonelt tastaturets låsetaster som er koblet til samme datamaskin. Du kan ha flere tastaturer, USB og ikke, koblet til samtidig med de fleste moderne operativsystemer, og de vil utløse hverandres caps lock og andre låsetaster. På dette tidspunktet skal jeg si at det er mulig å skade eller ødelegge datamaskinen din ved å koble bare kretser til den. Vær forsiktig og fortsett forsiktig. Hvis du er bekymret, test med en billig USB -hub. På den annen side prøvde jeg alle slags ting mens jeg feilsøkte denne kretsen, inkludert omkobling av strømkretser, og den bærbare datamaskinen min er ikke -stekt.

Trinn 3: Fattig manns USB -plugg

Fattig manns USB -plugg
Fattig manns USB -plugg
Fattig manns USB -plugg
Fattig manns USB -plugg

Jeg ønsket ikke å ødelegge USB -pluggene på lavalampene slik at de kunne brukes separat, og slik at USB lavalampekontrolleren var modulær (andre enheter kunne brukes slått på og av i stedet for lampene). Hvis du demonterte et eple-tastatur i det siste trinnet, ville du hatt to kvinnelige USB-A-kontakter som du kan bruke, og du kan hoppe over dette trinnet. Du kan også kjøpe de kvinnelige USB-A-kontaktene fra mouser eller redde dem fra en ekstra USB-hub. Jeg valgte imidlertid å gå med et billig og enkelt alternativ - en enkel USB -kontakt laget av en stripet trådfolie (en tynn ledning ville være tilstrekkelig), litt perfboard og litt papir og gjennomsiktig film for isolasjon. Bare kutt litt perfboard for å gå INNEN USB -pluggene, legg til ledning gjennom hullene slik at innsetting av pluggen ikke trekker dem ut og lar dem komme i kontakt med +5V og jordkontaktene i pluggen (se pinoutene på " Lag krets "trinn for hvilken tilkobling er hvilken). Klipp deretter litt gjennomsiktig film for å dekke den ene siden av brettet, slik at perfboardtråden ikke kommer til å kortes ut mot metallproppen. Fest dette isolerte kortet i USB -kontakten, og bekreft med multimeteret at ledningene tar en god kontakt og ikke er korte. Slik er USB -lavalampene koblet til kretsen. For dette prosjektet, lag to av disse stakkars mannens plugger head-to-head på den samme biten av perfboard (se bildet). Under monteringstrinnet vil du se hvordan saken holder begge USB -pluggene på denne kontakten.

Trinn 4: Klipp kabinett og Perfboard

Klipp kabinett og Perfboard
Klipp kabinett og Perfboard
Klipp kabinett og Perfboard
Klipp kabinett og Perfboard

Finn ut oppsettet til prosjektet i vedlegget. Jeg brukte det alltid populære Altoids-tinnet. Bor et hull på baksiden av Altoids -boksen for den store av/på -SPST -bryteren, ett foran for tastaturets USB -kabel og to hull i sidene for USB -lavalampene. Skjær nøkkelhullsspalter med et dremel avskåret hjul eller håndsag ned til hullene foran og på siden slik at USB-kablene får plass (se bildet). Linje hull med tape for å forhindre kutting av kabler. Bestem formen på ditt perfboard for kretsen din og kutt ut den formen med et dremel -verktøy. Dette kommer til å passe ganske tett…

Trinn 5: Lag krets

Lag krets
Lag krets
Lag krets
Lag krets
Lag krets
Lag krets

Hjertet i dette prosjektet er ganske enkelt å bruke programvare for å veksle tastaturets lysdioder og kapre lysdiodene for å bytte større strømmer. Jeg bør nevne her at noen lysdioder slås på ved å bruke en positiv spenning på anoden, mens andre kretser (som den på dette tastaturet) flyter LED -anoden høyt (så LED -en er av) og knytter katoden til LED -en til bakken når den er aktivert (nedtrekksbryter). Du kan endre denne kretsen til å fungere med enten, men jeg vil diagrammet den negative bindingsmetoden. Lysdioden som slås av (settes høyt) slår på en transistorbryter, som lukker et relé, og til slutt aktiveres lavalampen. Dette betyr at programvarebryteren for lampen vil reverseres fra LED -en. Jeg tilpasset kretsen fra windmeadow, men den er basert på en enkel transistorbryter som beskrevet i de fleste elektroniske tekster (s. 50 i Mimms bok, eller på wikipedia). Jeg har inkludert en ktechlab -fil, slik at du kan se hvordan transistorbryteren fungerer, og en fullstendig skjematisk (i svg- og-p.webp

Trinn 6: Farg USB Lava -lamper

Farge USB Lava lamper
Farge USB Lava lamper

Lag de klare USB -lavalampene farget ved å fargelegge en lapp av overheadfilmen med de røde eller grønne markørene, og kutt deretter ut en sirkel som skal settes inn i lampens base mellom lyset og "lavakammeret". Sett sammen lavalys igjen.

Trinn 7: Sluttmontering

Sluttmontering
Sluttmontering
Sluttmontering
Sluttmontering
Sluttmontering
Sluttmontering

Altoids -tinn gjør flotte skap. De er gode til å skjerme, men de er dessverre ledere og vil kortslutte ubeskyttede kretser. For å forhindre dette, kutt papp og gjennomsiktig film til størrelsen på tinnet, og pass det mellom tastaturets kretskort og perfboardet ditt. Sett bryteren i det bakre hullet i tinnen din. Sett USB -plugger som er koblet til den stakkars USB -kontakten inn i nøkkelhullskuttene i siden slik at tinnet holder pluggene i kontakten. Propp i perfboard og berget tastaturkrets, isoler med papp og gjennomsiktig film. Prøv å lukke tinnet (vårt passer knapt).

Trinn 8: Kode

Lavalampene vil bli styrt av systemanrop til "setled" -programmet som vil slå på og av lampene på lokket og rullelåsen. Test det ved å kjøre følgende fra en kommandolinje (mulig som root, avhengig av konfigurasjonen) for å få lampene til å blinke: setleds -L -caps +scroll < /dev /tty0; sleep 3s; setleds -L +caps -scroll < /dev /tty0; sove 3; setleds -L </dev/tty0 bryte ned dette: #For å slå på den røde lampen: setleds -L -caps +bla </dev/tty0#for å slå på den grønne lampen: setleds -L +caps -scroll </dev/ tty0#for å gå tilbake til tilstanden der lysdiodene viser tastaturinnstillingene setleds -L </dev/tty0Du kan inkludere disse systemanropene i ditt eget program, eller bruke en phython -enhetstestmodul som Chris skrev basert på PyUnit -enhetens testramme bygget inn i python. Bare pakk ut filene fra tjærearkivet (tar -xzvf lava_unittest.tar.gz fra en konsoll) og prøv følgende kommandoer fra en konsoll: 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.py For å kjøre fra en terminalemulator, må du kommentere de advarselmarkerte linjene og prøve å kjøre den som rot fra en terminalemulator. Med denne koden er alt du trenger å gjøre å bytte forekomster av "unittest" med "lava_unittest" i Python-skript skrevet for enhetstesting. Ingen omkoding er nødvendig.

Trinn 9: Pen emballasje

Ganske emballasje
Ganske emballasje
Ganske emballasje
Ganske emballasje

For å fullføre dette prosjektet, lag og skriv ut din egen etikett eller bruk det medfølgende bildet (åpne secong-bildet i full størrelse eller xcf-filen med gimp). Bare lim på forsiden av de fantastiske USB -kontrollerte lavalampene.

Anbefalt: