Innehållsförteckning:

USB -kontrollerade mini -lavalampor: 9 steg
USB -kontrollerade mini -lavalampor: 9 steg

Video: USB -kontrollerade mini -lavalampor: 9 steg

Video: USB -kontrollerade mini -lavalampor: 9 steg
Video: STEG 2018. Возвращение Итальянской Легенды 2024, Juli
Anonim
USB -kontrollerade mini -lavalampor
USB -kontrollerade mini -lavalampor
USB -kontrollerade mini -lavalampor
USB -kontrollerade mini -lavalampor
USB -kontrollerade mini -lavalampor
USB -kontrollerade mini -lavalampor

Denna instruerbara beskriver byggandet av en USB -driven och kontrollerad uppsättning lavalampor från ett USB -tangentbord och två Think Geek USB -lavalampor med en enkel transistorreläomkopplare som drivs av tangentbordets lysdioder. Det illustrerar ett enkelt sätt att styra upp till tre switchar med hög latens (vid upp till 120 volt, 0,5 ampere) över en USB-anslutning, för en minimal summa pengar (0 $ till 40 $ beroende på din skräpsamling), och utan att ha för att programmera en USB -seriell styrdrivrutin eller en mikrokontroller. Potentiellt kan du också använda tangentbordstangenterna för att lägga till över 100 ingångar som skulle skriva tecken som kan användas för att styra ett program (enligt beskrivning av randofo och David Merrill, men detta tillvägagångssätt användes inte för detta projekt. Detta projekt var tänkt som en present till min vän Chris Lasher för att fira hans flytt och påbörja ett forskarutbildning i bioinformatik. Chris kommer att göra mycket programmering och är en anhängare av Pragmatic / Agile Programing, en av huvudmännen som är enhetstestning. enhetstester av ett program körs, är det trevligt att veta om de lyckas eller misslyckas, och som är dominerande. Som bekant gjorde några pragmatiska programmerare ett återkopplingssystem genom att styra fullstora lavalampor från en enhetstestram genom att koppla ihop några hemkontrollenheter på hyllan (det kostade dem över $ 60). Lamporna tillät dem att se om tester passerade eller misslyckades, och den gradvisa uppvärmningen på en lampa gjorde att de kunde se vilka till och med ts var dominerande. Det här är en häftig idé, men jag ville göra Chris till något som: 1) skulle styra två små USB-drivna lavalampor, 2) skulle släckas av Chris snygga nya bärbara dator och gränssnitt via USB (inga äldre portar på nyare datorer, särskilt bärbara datorer), 3) skulle vara lite mer hemlagad och hackarvänlig, 4) skulle vara mycket billigare. Att köra reläer från en USB till seriell portomvandlare verkar vara en enkel lösning. Det finns många kretsar tillgängliga online för seriella portkontrollprojekt. Ett utmärkt projekt som jag anpassade var på https://www.windmeadow.com/node/4. Tyvärr tillåter nästan alla USB till seriella enheter inte lågnivåbitarslag (manuell växling av kontrolledningar) som krävs för att använda dessa kretsar. Ett annat tillvägagångssätt skulle vara att köpa en USB -gränssnittskrets eller bygga en från en mikrokontroller. Hur som helst skulle projektet kräva en hel del mikrokontrollkod och drivrutiner (även med hjälp av befintliga drivrutiner för mänskligt gränssnitt eller en färdiggjord styrenhet). Jag valde att lösa detta problem med ett bärgat USB-tangentbord, eftersom de är relativt billiga, och innehåller allt som behövs för tre enkla på/av -utgångar, i form av siffror, lock och rullningslås -lysdioder. Under Linux finns det ett antal mekanismer för att växla dina lysdioder från ett program eller en kommandorad (en är även refererad i Cryptonomicon). Setled är det enklaste och är förinstallerat på nästan alla maskiner, ledd är byggt på en klient-server-modell, och det finns till och med en modul i Ruby-programmeringsspråket. Windows och Mac OS, och andra programmeringsspråk, borde ha jämförbara mekanismer - lägg dem i kommentarerna om du vet hur man växlar tangentbordets lysdioder i andra operativsystem eller programmeringsspråk! Jag gav Chris sin present, och nu kan han inte bara se om hans enhetstester passerar, kan alla programmerare på hans nya avdelning veta vilken cool DIY -tillverkare han är.

Steg 1: Dellista

2 USB -lavalampor (från Thinkgeek eller froogle ~ $ 10 vardera) 1 USB -tangentbord (ett äppeltangentbord gör det också möjligt för dig att rädda två USB -uttag, vilket gör hackningen onödig) $ 0 för ett skrapat tangentbord med en död nyckel eller två, till $ 4 online (https://froogle.google.com/froogle?q=usb%20keyboard) till $ 30 i bästa fall) 2 reed switch reläer (Radio Shack #275-233 $ 3,00, Mouser #677-OMR-112H $ 1.54) alla andra elektriska komponenter bör bara kosta några få dollar. 2 transistorer (som en 2N2222) (Radio Shack #276-1617, Mouser #511-2N2222A) 2 motstånd (Radio Shack #271-1124, Mouser #291-4.7k, gul-violett-rött-guldband) 4 dioder, något som 1N404 (Radio Shack #276-1103, Mouser #512-1N414B) 1 strömbrytare (SPST) en liten bit tråd1 perfboard (Radio Shack #276-1395) 1 Altoids tinnig kartong, ett ark transparent/overheadfilm Verktyg: lödkolv och / eller trådlindningsverktyg och trådborttagningsverktyg eller handverktyg och patiencedill borr och bitsa digital multimeterred och grön Sharpie-markör Kunskap och färdigheter: Grundläggande löd- och elektronikkunskaper. Jag rekommenderar starkt Forest Mimms bok om du är nybörjare inom elektronik och vill veta hur kretsar fungerar. Tid: Detta projekt tog två kvällar och en eftermiddag, inklusive felsökning.

Steg 2: Tangentbordsuttag

Utmatning av tangentbord
Utmatning av tangentbord
Utmatning av tangentbord
Utmatning av tangentbord
Utmatning av tangentbord
Utmatning av tangentbord

Ta isär ditt tangentbord så oförstörande som möjligt. Tangentbordet jag hade liggande var ett Dynex multimedia USB-tangentbord, modellnummer DX-MKB101. När du demonterar, var försiktig så att du inte bryter de tunna trådarna som ofta används. Du bör se något liknande den andra bilden efter att du har öppnat tangentbordet. Du vill rädda kretsens och styrelsens kropp med lysdioderna (ofta på samma kretskort) och tappa det skrymmande tangentbordet. Förhoppningsvis kan du ta loss den tunna plastfilmen som fungerar som tangentbrytare för tangentbordet, eller på något annat sätt klippa av tangentbordets omkopplare utan att skada huvudkretsen. Jag var tvungen att skära igenom lite plast för att frigöra brädet, men efter avslutad bör du kunna koppla in tangentbordet, få det igen och växla de bara lysdioderna med ett annat, funktionellt tangentbordets låstangenter anslutna till samma dator. Du kan ha flera tangentbord, USB och inte, anslutna samtidigt med de flesta moderna operativsystem och de kommer att utlösa varandras caps lock och andra låsnycklar. Vid denna tidpunkt skulle jag säga att det är möjligt att skada eller förstöra din dator genom att ansluta bara kretsar till den. Var försiktig och fortsätt försiktigt. Om du är orolig testa med en billig USB -hubb. Å andra sidan försökte jag alla möjliga saker när jag felsökte den här kretsen, inklusive omkoppling av levande kretsar, och min bärbara dator förblir ofriven.

Steg 3: Fattig mans USB -kontakt

Stackars mans USB -kontakt
Stackars mans USB -kontakt
Stackars mans USB -kontakt
Stackars mans USB -kontakt

Jag ville inte förstöra USB -kontakterna på lavalamporna så att de kunde användas separat, och så att USB -lavalampans kontroller var modulär (andra enheter kunde användas på och av i stället för lamporna). Om du demonterade ett äppeltangentbord i det sista steget skulle du ha två USB-A-honkontakter som du kan använda, och så kan du hoppa över det här steget. Du kan också köpa de kvinnliga USB-A-uttagen från musen eller rädda dem från ett extra USB-nav. Jag valde dock att gå med ett billigt och enkelt alternativ - ett enkelt USB -uttag tillverkat av någon randig trådfolie (vilken tunn tråd som helst skulle räcka), lite perfboard och lite papper och genomskinlig film för isolering. Skär helt enkelt lite perfboard för att gå INSIDAN USB -kontakterna, lägg till kabel genom hålen så att stickproppen inte drar ut dem och gör att de kan komma i kontakt med +5V- och jordkontakterna i kontakten (se stiften på " Gör krets "steg för vilken anslutning är vilken). Skär sedan lite genomskinlig film för att täcka ena sidan av brädet så att perfboardtråden inte kortas ut mot pluggens metallkropp. Stoppa in det isolerade kortet i USB -kontakten och bekräfta med din multimeter att ledningarna tar bra kontakt och inte är kortslutna. Så här är USB -lavalamporna anslutna till kretsen. För detta projekt, gör två av dessa stackars pluggar head-to-head på samma bit av perfboard (se bilden). Under monteringssteget ser du hur fodralet rymmer båda USB -kontakterna på den här kontakten.

Steg 4: Klipp hölje och Perfboard

Klippkapsling och Perfboard
Klippkapsling och Perfboard
Klippkapsling och Perfboard
Klippkapsling och Perfboard

Ta reda på layouten för ditt projekt i dess hölje. Jag använde det ständigt populära Altoids-tennet. Borra ett hål på baksidan av Altoids -burken för den stora på/av -SPST -omkopplaren, ett på framsidan för tangentbordets USB -kabel och två hål i sidorna för USB -lavalampans pluggar. Skär nyckelhålsslitsar med ett dremel-skärhjul eller en handsåg ner till fram- och sidohålen så att USB-kablarna får plats (se bild). Linjera hål med tejp för att förhindra skärning av kablar. Bestäm formen på din perfboard för din krets och klipp ut den formen med ett dremelverktyg. Det här kommer att passa ganska bra…

Steg 5: Gör krets

Gör krets
Gör krets
Gör krets
Gör krets
Gör krets
Gör krets

Hjärtat i detta projekt är helt enkelt att använda programvara för att växla mellan tangentbordets lysdioder och kapa lysdioderna för att byta större strömmar. Jag bör här nämna att vissa lysdioder tänds genom att anoden ansluts med en positiv spänning, medan andra kretsar (som den här på detta tangentbord) svävar LED -anoden högt (så att lysdioden är släckt) och knyter lampans katod till marken när den är aktiverad (neddragningsomkoppling). Du kan modifiera denna krets för att fungera med antingen, men jag kommer att diagramma den negativa bindningsmetoden. Lysdioden som stängs av (sätts hög) tänder en transistoromkopplare, som stänger ett relä, och slutligen aktiveras lavalampan. Detta innebär att programvarans växling för lampan kommer att vändas från lysdioden. Jag anpassade kretsen från windmeadow, men den är baserad på en enkel transistoromkopplare som beskrivs i de flesta elektroniska texter (s. 50 i Mimms bok, eller på wikipedia). Jag har inkluderat en ktechlab -fil så att du kan se hur transistoromkopplaren fungerar och en fullständig schematisk (i svg- och-p.webp

Steg 6: Färg USB Lava Lampor

Färg USB Lava lampor
Färg USB Lava lampor

Gör de tydliga USB -lavalamporna färgade genom att färga en lapp av overheadfilmen med de röda eller gröna markörerna och skär sedan ut en cirkel som ska sättas in i lampans bas mellan ljuset och "lavakammaren". Sätt ihop lavaljus igen.

Steg 7: Slutmontering

Slutmontering
Slutmontering
Slutmontering
Slutmontering
Slutmontering
Slutmontering

Altoids -burkar gör stora höljen. De är bra på att skärma, men de är tyvärr ledare och kommer att kortsluta oskyddade kretsar. För att förhindra detta, skär kartong och genomskinlig film till formens storlek och för att passa mellan tangentbordets kretskort och din perfektbräda. Sätt in omkopplaren i det bakre hålet i din plåt. Sätt in USB -kontakter som är kopplade till den stackars USB -kontakten i nyckelhålsskärningarna i sidan så att plåten håller pluggarna i kontakten. Propp i perfboard och bärgad tangentbordskrets, isolera med kartong och transparensfilm. Försök att stänga burken (vår passar knappt).

Steg 8: Kod

Lavalamporna kommer att styras av systemsamtal till "setled" -programmet som tänder och stänger av locket och lysdioder för rullningslås. Testa det genom att köra följande från en kommandorad (möjligt som root, beroende på din konfiguration) för att få dina lampor att blinka: setleds -L -caps +scroll < /dev /tty0; sleep 3s; setleds -L +caps -scroll < /dev /tty0; sova 3; setleds -L </dev/tty0 bryta ner detta: #Att slå på den röda lampan: setleds -L -caps +bläddra </dev/tty0#för att slå på den gröna lampan: setleds -L +caps -scroll </dev/ tty0#för att återgå till det läge där lysdioderna visar tangentbordets inställningar setleds -L </dev/tty0Du kan inkludera dessa systemanrop i ditt eget program eller använda en phyton -enhetstestmodul som Chris skrev baserat på PyUnit -enhetens testramverk byggt till python. Packa bara upp filerna från tararkivet (tar -xzvf lava_unittest.tar.gz från en konsol) och prova följande kommandon från 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-pass.lava_unittest fail.py För att köra från en terminalemulator, avmarkera de varningsflaggade raderna och försök köra den som rot från en terminalemulator. Med den här koden behöver du bara byta instanser av "unittest" med "lava_unittest" i Python-skript skrivna för enhetstestning. Ingen omkodning är nödvändig.

Steg 9: Pretty Packaging

Ganska förpackning
Ganska förpackning
Ganska förpackning
Ganska förpackning

För att avsluta detta projekt, gör och skriv ut din egen etikett eller använd den medföljande bilden (öppna secong-bilden i full storlek eller xcf-filen med gimp). Klistra bara in på omslaget på dina fantastiska USB -kontrollerade lavalampor.

Rekommenderad: