Inhoudsopgave:

USB-gestuurde mini-lavalampen - Ajarnpa
USB-gestuurde mini-lavalampen - Ajarnpa

Video: USB-gestuurde mini-lavalampen - Ajarnpa

Video: USB-gestuurde mini-lavalampen - Ajarnpa
Video: Бюджетная Zigbee LED лента с питанием по USB, для декоративного и аварийного освещения 2024, Juli-
Anonim
USB-gestuurde mini-lavalampen
USB-gestuurde mini-lavalampen
USB-gestuurde mini-lavalampen
USB-gestuurde mini-lavalampen
USB-gestuurde mini-lavalampen
USB-gestuurde mini-lavalampen

Deze instructable beschrijft het bouwen van een USB-aangedreven en gecontroleerde set lavalampen van een USB-toetsenbord en twee Think Geek USB-lavalampen met behulp van een eenvoudig transistorrelaisschakelcircuit aangedreven door de toetsenbord-LED's. Het illustreert een eenvoudige manier om maximaal drie schakelaars met hoge latentie (tot 120 volt, 0,5 ampère) via een USB-verbinding te bedienen, voor een minimaal bedrag (0 $ tot $ 40, afhankelijk van je rommelverzameling), en zonder dat je om een USB-stuurprogramma voor seriële besturing of een microcontroller te programmeren. Mogelijk zou je ook de toetsenbordtoetsen kunnen gebruiken om meer dan 100 inputs toe te voegen die karakters zouden typen die zouden kunnen worden gebruikt om een programma te besturen (zoals beschreven door randofo en door David Merrill, maar deze benadering werd niet gebruikt voor dit project. Dit project werd opgevat als een cadeau voor mijn vriend Chris Lasher ter herdenking van zijn verhuizing en het starten van een afstudeerprogramma in bio-informatica. Chris zal veel programmeren en is een aanhanger van Pragmatic / Agile Programing, waarvan unit testing een van de belangrijkste is. Terwijl de unit tests van een programma worden uitgevoerd, is het leuk om te weten of ze slagen of falen, en wat overheerst. Beroemd is dat sommige pragmatische programmeurs een feedbacksysteem hebben gemaakt door lavalampen op ware grootte te besturen vanuit een unit-testraamwerk door enkele kant-en-klare apparaten voor thuisbediening (het kostte ze meer dan $ 60). Met de lampen konden ze zien of de tests doorgingen of faalden, en door de geleidelijke opwarming van één lamp konden ze zien welke zelfs ts waren overheersend. Dit is een cool idee, maar ik wilde van Chris iets maken dat: 1) twee kleine lavalampen met USB-voeding zou bedienen, 2) Chris' mooie nieuwe laptop zou kunnen uitschakelen en zou kunnen communiceren via USB (geen legacy-poorten op nieuwere computers, met name laptops), 3) zou een beetje meer zelfgemaakt en hackervriendelijk zijn, 4) zou veel goedkoper zijn. Het aansturen van relais van een USB naar seriële poortconverter lijkt een eenvoudige oplossing. Er zijn veel circuits online beschikbaar voor projecten voor seriële poortcontrole. Een uitstekend project dat ik heb aangepast was op https://www.windmeadow.com/node/4. Helaas staan bijna alle USB-naar-serieel-apparaten geen bit-banging op laag niveau toe (het handmatig omschakelen van besturingslijnen) die nodig is om deze circuits te gebruiken. Een andere benadering zou zijn om een USB-interfacecircuit te kopen of er een te bouwen vanaf een microcontroller. Hoe dan ook, het project zou veel microcontrollercode en -stuurprogramma's vereisen (zelfs met behulp van de reeds bestaande menselijke interface-stuurprogramma's of een vooraf gemaakte controller). Ik koos ervoor om dit probleem op te lossen met een geborgen USB-toetsenbord, omdat ze relatief goedkoop zijn, en bevat alles wat nodig is voor drie eenvoudige aan/uit-uitgangen, in de vorm van de nummer-, hoofdletters en scroll-lock-LED's. Onder Linux zijn er een aantal mechanismen om uw LED's van een programma of opdrachtregel te wisselen (er wordt zelfs naar verwezen in Cryptonomicon). Setled is de eenvoudigste en is voorgeïnstalleerd op bijna alle machines, ledd is gebouwd op een client-servermodel en er is zelfs een module in de programmeertaal Ruby. Windows en Mac OS en andere programmeertalen zouden vergelijkbare mechanismen moeten hebben - plaats ze in de opmerkingen als je weet hoe je toetsenbord-LED's in andere besturingssystemen of programmeertalen kunt schakelen! Ik gaf Chris zijn cadeau, en nu kan hij niet alleen zien of zijn unit tests zijn geslaagd, kunnen alle programmeurs in zijn nieuwe afdeling weten wat een coole doe-het-zelfmaker hij is.

Stap 1: Onderdelenlijst

2 USB-lavalampen (van Thinkgeek of froogle ~ $ 10 elk) 1 USB-toetsenbord (met een Apple-toetsenbord kun je ook twee USB-aansluitingen redden, waardoor de hacking die wordt vermeld in de stap "arme man's USB-aansluiting" overbodig is) $ 0 voor een geschraapt toetsenbord met een dode sleutel of twee, tot $ 4 online (https://froogle.google.com/froogle?q=usb%20keyboard) tot $ 30 bij best buy) 2 reed-schakelaarrelais (Radio Shack #275-233 $ 3,00, Mouser #677-OMR-112H $1,54) alle andere elektrische componenten zouden maar een paar dollar moeten kosten. 2 transistors (zoals een 2N2222) (Radio Shack #276-1617, Mouser #511-2N2222A)2 weerstanden (Radio Shack #271-1124, Mouser #291-4.7k, geel-violet-rood-gouden banden)4 diodes, zoiets als 1N404 (Radio Shack #276-1103, Mouser #512-1N414B)1 aan/uit-schakelaar (SPST)een klein stukje draad1 perfboard (Radio Shack #276-1395)1 Altoids blikkarton, een vel transparanten/overhead filmGereedschappen: soldeerbout en/of draadwikkelgereedschap en draaddremelgereedschap of handgereedschap en geduldboor en bitssa digitale multimeterrode en groene scherpe markerKennis en vaardigheden:Basiskennis van solderen en elektronica. Ik raad het boek van Forest Mimm ten zeerste aan als je een beginner bent in elektronica en graag wilt weten hoe circuits werken. Tijd: Dit project nam twee avonden en een middag in beslag, inclusief het oplossen van problemen.

Stap 2: Uithalen van het toetsenbord

Uithalen van het toetsenbord
Uithalen van het toetsenbord
Uithalen van het toetsenbord
Uithalen van het toetsenbord
Uithalen van het toetsenbord
Uithalen van het toetsenbord

Haal je toetsenbord zo niet-destructief mogelijk uit elkaar. Het toetsenbord dat ik had liggen was een Dynex multimedia USB-toetsenbord, modelnummer DX-MKB101. Let er bij het demonteren op dat u de dunne draden die vaak worden gebruikt niet breekt. Je zou zoiets als de tweede afbeelding moeten zien nadat je het toetsenbord hebt geopend. U wilt de behuizing van het circuit en het bord met de LED's (vaak op dezelfde printplaat) redden en het omvangrijke toetsenbord kwijtraken. Hopelijk kun je de dunne plastic film losmaken die fungeert als de toetsschakelaars voor het toetsenbord, of op een andere manier de toetsenbordschakelaars afsnijden zonder het hoofdcircuit te beschadigen. Ik moest wat plastic doorsnijden om het bord te bevrijden, maar nadat je klaar was, zou je het toetsenbord moeten kunnen aansluiten, laten herkennen en de kale LED's kunnen schakelen met de vergrendelingstoetsen van een ander, functioneel toetsenbord die op dezelfde computer zijn aangesloten. Je kunt meerdere toetsenborden hebben, al dan niet USB, tegelijkertijd aangesloten op de meeste moderne besturingssystemen en ze zullen elkaars caps lock en andere lock-toetsen activeren. Op dit punt zou ik moeten zeggen dat het mogelijk is om uw computer te beschadigen of te vernietigen door er kale circuits op aan te sluiten. Wees voorzichtig en ga voorzichtig te werk. Als je je zorgen maakt, test dan met een goedkope USB-hub. Aan de andere kant heb ik van alles geprobeerd tijdens het oplossen van problemen met dit circuit, inclusief het opnieuw bedraden van live-circuits, en mijn laptop blijft ongefrituurd.

Stap 3: Poor Man's Usb Plug

Poor Man's USB-stekker
Poor Man's USB-stekker
Poor Man's USB-stekker
Poor Man's USB-stekker

Ik wilde de USB-stekkers op de lavalampen niet vernietigen, zodat ze afzonderlijk konden worden gebruikt, en zodat de USB-lavalampcontroller modulair was (andere apparaten konden worden aan- en uitgeschakeld in plaats van de lampen). Als je in de laatste stap een Apple-toetsenbord hebt gedemonteerd, heb je twee vrouwelijke USB-A-aansluitingen die je kunt gebruiken en kun je deze stap dus overslaan. Je kunt ook de vrouwelijke USB-A-aansluitingen van mouser kopen of die van een extra USB-hub. Ik koos echter voor een goedkope en eenvoudige optie - een eenvoudige USB-aansluiting gemaakt van een gestreepte draadwikkel (elke dunne draad zou voldoende zijn), een beetje perfboard en wat papier en transparante film voor isolatie. Knip gewoon een stukje perforatorplaat om BINNEN de USB-stekkers te gaan, voeg draad toe door de gaten zodat het plaatsen van de stekker ze er niet uit trekt en ze in staat zullen stellen contact te maken met de +5V- en aardingsconnectoren in de stekker (zie de pin-outs op de " Maak circuit" stap voor welke verbinding welke is). Knip vervolgens wat transparante folie af om één kant van het bord te bedekken, zodat de perfboarddraad niet kortsluit tegen het metalen lichaam van de stekker. Steek dit geïsoleerde bord in de USB-stekker en controleer met je multimeter of de draden goed contact maken en niet kortsluiten. Zo worden de USB lavalampen aangesloten op het circuit. Maak voor dit project twee van deze arme man-pluggen tegen elkaar op hetzelfde stuk perfboard (zie de afbeelding). Tijdens de montagestap zult u zien hoe de behuizing beide USB-stekkers op deze connector vasthoudt.

Stap 4: Behuizing en perfboard snijden

Gesneden behuizing en perfboard
Gesneden behuizing en perfboard
Gesneden behuizing en perfboard
Gesneden behuizing en perfboard

Bereken de lay-out van uw project in zijn behuizing. Ik gebruikte het immer populaire Altoids blikje. Boor een gat in de achterkant van het Altoids-blik voor de grote aan / uit SPST-schakelaar, een aan de voorkant voor de USB-kabel van het toetsenbord en twee gaten in de zijkanten voor de USB-lavalamppluggen. Snijd sleutelgatspleten met een dremel doorslijpschijf of handzaag tot aan de voor- en zijgaten zodat de USB-kabels erin passen (zie afbeelding). Lijn de gaten uit met ducttape om het doorknippen van kabels te voorkomen. Bepaal de vorm van je perfboard voor je circuit en knip die vorm uit met een dremel-gereedschap. Dit gaat een vrij strakke pasvorm worden…

Stap 5: Maak een circuit

Maak een circuit
Maak een circuit
Maak een circuit
Maak een circuit
Maak een circuit
Maak een circuit

De kern van dit project is simpelweg het gebruik van software om de toetsenbord-LED's te schakelen en de LED's te kapen om grotere stromen te schakelen. Ik moet hier vermelden dat sommige LED's worden ingeschakeld door een positieve spanning op de anode aan te brengen, terwijl andere circuits (zoals die in dit toetsenbord) de LED-anode hoog laten zweven (dus de LED is uit) en de kathode van de LED aan aarde wanneer deze is geactiveerd (pull-down-schakeling). Je zou dit circuit kunnen aanpassen om met beide te werken, maar ik zal de negatieve vastbindmethode in een diagram zetten. De LED die wordt uitgeschakeld (hoog ingesteld) schakelt een transistorschakelaar in, die een relais sluit en ten slotte wordt de lavalamp geactiveerd. Dit betekent dat de software-toggle voor de lamp wordt omgekeerd van de LED. Ik heb de schakeling van windmeadow aangepast, maar deze is gebaseerd op een eenvoudige transistorschakelaar zoals beschreven in de meeste elektronicateksten (p. 50 in Mimm's boek, of op wikipedia). Ik heb een ktechlab-bestand bijgevoegd zodat je kunt zien hoe de transistorschakelaar werkt, en een volledig schema (in svg- en png-indelingen). Zorg ervoor dat u het originele schema of het svn-bestand gebruikt om af te drukken, omdat de kleinere afbeeldingen niet duidelijk zijn. U moet de LED's van de printplaat van het toetsenbord verwijderen en hun polariteit bepalen en welke kant wordt geschakeld met een multimeter. Leid één draad van elke LED die betrokken zal zijn bij een schakelcircuit (deze zijn gelabeld met SCROLLLOCK en CAPSLOCK in het schema). Desoldeer de +5v en aarde van het toetsenbordcircuit om het perfboard van stroom te voorzien en voer vervolgens draden uit om het bord weer van stroom te voorzien (dit is de +5V en aardt op het schema). Volg daarna het schema om het circuit te maken, met behulp van de pin-outs van de componenten om verbindingen te identificeren. Monteer deze schakeling eerst op een breadboard en test de schakeling. Dit was de stap waarbij ik vaststelde dat de LED's pull-up waren in plaats van pull-down geschakeld, en over het algemeen bereikte ik het punt van maximale chaos op mijn werkbank. Wanneer het circuit werkt (testbaar door op de Caps Lock-toets of Scroll Lock-toets te drukken en te kijken of de lavalampen schakelen), moet u uitzoeken hoe u de componenten op het perfboard moet inpakken. Wirewrap kan worden gebruikt, maar de eenvoudigste montagemethode is om componenten eenvoudig door gaten te schuiven, de draden samen te wikkelen en ze aan elkaar te solderen. Test of het geassembleerde circuit werkt op het perfboard.

Stap 6: USB-lavalampen in kleur

USB-lavalampen in kleur
USB-lavalampen in kleur

Maak de doorzichtige USB-lavalampen gekleurd door een stukje van de overheadfilm in te kleuren met de rode of groene markeringen en snijd vervolgens een cirkel uit om in de voet van de lamp tussen het licht en de "lava" -kamer te plaatsen. Zet lavalampen weer in elkaar.

Stap 7: Eindmontage

Eindmontage
Eindmontage
Eindmontage
Eindmontage
Eindmontage
Eindmontage

Altoids blikken zijn geweldige omhulsels. Ze zijn goed in afscherming, maar het zijn helaas geleiders en zullen onbeschermde circuits kortsluiten. Om dit te voorkomen, snijdt u karton en transparantfolie op maat van het blik, zodat het tussen de printplaat van het toetsenbord en uw perfboard past. Steek de schakelaar in het achterste gat in je blik. Steek USB-stekkers die zijn gekoppeld aan de USB-connector van de arme man in de sleutelgatuitsparingen aan de zijkant, zodat het blik de stekkers in de connector houdt. Proppen in perfboard en geborgen toetsenbordcircuit, isoleren met het karton en transparante film. Probeer het blikje te sluiten (die van ons paste amper).

Stap 8: Coderen

De lavalampen worden bestuurd door systeemaanroepen naar het "vaste" programma dat de capslock- en scroll-lock-LED's in- en uitschakelt. Test het door het volgende uit te voeren vanaf een opdrachtregel (mogelijk als root, afhankelijk van uw configuratie) om uw lampen te laten knipperen:setleds -L -caps +scroll < /dev/tty0;sleep 3s;setleds -L +caps -scroll < /dev/tty0; slaap 3; setleds -L </dev/tty0om dit op te splitsen:#Om de rode lamp aan te zetten:setleds -L -caps +scroll < /dev/tty0#om de groene lamp aan te zetten:setleds -L +caps -scroll < /dev/ tty0#om terug te keren naar de staat waarin de LED's de toetsenbordinstellingen weergevensetleds -L </dev/tty0U kunt deze systeemaanroepen in uw eigen programma opnemen, of de phython unit-testmodule gebruiken die Chris schreef op basis van het PyUnit unit-testraamwerk gebouwd in python. Pak de bestanden uit het tar-archief (tar -xzvf lava_unittest.tar.gz van een console) en probeer de volgende opdrachten vanaf een console:python lava_unittest.py test_lava_unittest-passpython lava_unittest.py test_lava_unittest-failorpython test_lava_unittest-pass_lapy_unittest-test- fail.py Om vanaf een terminal-emulator te draaien, verwijdert u de opmerkingen bij de waarschuwingsvlaggen en probeert u itas root vanuit een terminal-emulator uit te voeren. Met deze code hoeft u alleen instanties van "unittest" te wisselen met "lava_unittest" in Python-scripts geschreven voor testen van een eenheid. Opnieuw coderen is niet nodig.

Stap 9: mooie verpakking

Mooie verpakking
Mooie verpakking
Mooie verpakking
Mooie verpakking

Om dit project te voltooien, maakt en print u uw eigen label of gebruikt u de meegeleverde afbeelding (open de tweede afbeelding op volledige grootte of het xcf-bestand met de gimp). Plak gewoon op de hoes van je geweldige USB-gestuurde lavalampen.

Aanbevolen: