Sommario:

Mini lampade lava controllate da USB: 9 passaggi
Mini lampade lava controllate da USB: 9 passaggi

Video: Mini lampade lava controllate da USB: 9 passaggi

Video: Mini lampade lava controllate da USB: 9 passaggi
Video: Бюджетный zigbee сенсор электричества - 220 В / 5 В USB, создание, применение в Home Assistant 2024, Dicembre
Anonim
Mini lampade lava controllate tramite USB
Mini lampade lava controllate tramite USB
Mini lampade lava controllate tramite USB
Mini lampade lava controllate tramite USB
Mini lampade lava controllate tramite USB
Mini lampade lava controllate tramite USB

Questa istruzione descrive la costruzione di un set di lampade lava alimentate e controllate tramite USB da una tastiera USB e due lampade lava USB Think Geek utilizzando un semplice circuito di commutazione relè a transistor pilotato dai LED della tastiera. Illustra un modo semplice per controllare fino a tre interruttori ad alta latenza (fino a 120 volt, 0,5 ampere) tramite una connessione USB, per una quantità minima di denaro (da 0 $ a 40 $ a seconda della raccolta di posta indesiderata) e senza dover per programmare un driver di controllo seriale USB o un microcontrollore. Potenzialmente potresti anche usare i tasti della tastiera per aggiungere oltre 100 input che digiteranno caratteri che potrebbero essere usati per controllare un programma (come descritto da randofo e da David Merrill, ma questo approccio non è stato utilizzato per questo progetto. Questo progetto è stato concepito come un regalo per il mio amico Chris Lasher per commemorare il suo trasferimento e l'inizio di un corso di laurea in bioinformatica. Chris farà molta programmazione ed è un aderente alla programmazione pragmatica/agile, uno dei cui principi è il test unitario. Mentre il i test unitari di un programma sono in esecuzione, è bello sapere se stanno riuscendo o fallendo, e quale è predominante. Notoriamente, alcuni programmatori pragmatici hanno realizzato un sistema di feedback controllando lampade lava a grandezza naturale da un framework di test unitari collegando insieme alcuni dispositivi di controllo domestico standard (gli è costato più di $ 60). Le lampade hanno permesso loro di vedere se i test stavano passando o no, e il riscaldamento graduale su una lampada ha permesso loro di vedere quale anche erano predominanti. Questa è un'idea interessante, ma volevo creare a Chris qualcosa che: 1) controllasse due piccole lampade lava alimentate tramite USB, 2) si spegnesse dal nuovo fantastico laptop di Chris e si interfacciasse tramite USB (nessuna porta legacy sui computer più recenti, in particolare i laptop), 3) sarebbe un po' più casalingo e a misura di hacker, 4) sarebbe più economico. Pilotare i relè da un convertitore USB a porta seriale sembrerebbe una soluzione semplice. Ci sono molti circuiti disponibili on-line per progetti di controllo della porta seriale. Un ottimo progetto che ho adattato era su https://www.windmeadow.com/node/4. Sfortunatamente, quasi tutti i dispositivi da USB a seriale non consentono il bit banging di basso livello (l'attivazione/disattivazione manuale delle linee di controllo) necessario per utilizzare questi circuiti. Un altro approccio sarebbe quello di acquistare un circuito di interfaccia USB o costruirne uno da un microcontrollore. In entrambi i casi, il progetto richiederebbe una buona quantità di codice e driver del microcontrollore (anche utilizzando i driver di interfaccia umana preesistenti o un controller prefabbricato). Ho scelto di risolvere questo problema con una tastiera USB recuperata, poiché sono relativamente economici, e contengono tutto ciò che è necessario per tre semplici uscite on/off, sotto forma di numero, tappi e LED di blocco dello scorrimento. Sotto Linux ci sono una serie di meccanismi per attivare i LED da un programma o da una riga di comando (uno è persino referenziato in Cryptonomicon). Setled è il più semplice ed è preinstallato su quasi tutte le macchine, ledd è costruito su un modello client-server e c'è persino un modulo nel linguaggio di programmazione Ruby. Windows e Mac OS e altri linguaggi di programmazione dovrebbero avere meccanismi comparabili: pubblicali nei commenti se sai come attivare i LED della tastiera in altri OS o linguaggi di programmazione! Ho dato a Chris il suo regalo, e ora non solo può vedere se il suo i test unitari stanno superando, tutti i programmatori nel suo nuovo dipartimento possono sapere che bravo creatore di fai-da-te è.

Passaggio 1: elenco delle parti

2 lampade lava USB (da Thinkgeek o froogle ~ $ 10 ciascuna) 1 tastiera USB (una tastiera Apple ti permetterebbe anche di salvare due prese USB, rendendo superfluo l'hacking elencato nel passaggio "presa USB dei poveri") $ 0 per una tastiera raschiata con un tasto morto o due, a $ 4 on-line (https://froogle.google.com/froogle?q=usb%20keyboard) a $ 30 al massimo dell'acquisto) 2 relè di commutazione reed (Radio Shack # 275-233 $ 3,00, Mouser #677-OMR-112H $ 1,54) tutti gli altri componenti elettrici dovrebbero costare solo pochi dollari. 2 transistor (come un 2N2222) (Radio Shack #276-1617, Mouser #511-2N2222A)2 resistori (Radio Shack #271-1124, Mouser #291-4.7k, bande giallo-viola-rosso-oro)4 diodi, qualcosa come 1N404 (Radio Shack #276-1103, Mouser #512-1N414B)1 interruttore di alimentazione (SPST)un po' di filo1 perfboard (Radio Shack #276-1395)1 cartoncino altoids, un foglio di pellicola trasparente/overhead Strumenti: saldatore e/o strumento per avvolgere il filo e strumento wiredremel o strumento manuale e pazienza trapano e bitsa multimetro digitale pennarello rosso e verde Conoscenza e abilità: conoscenze di base di saldatura ed elettronica. Consiglio vivamente il libro di Forest Mimm se sei un principiante dell'elettronica e vorresti sapere come funzionano i circuiti. Tempo: questo progetto ha richiesto due sere e un pomeriggio, inclusa la risoluzione dei problemi.

Passaggio 2: eviscerazione della tastiera

Eviscerazione della tastiera
Eviscerazione della tastiera
Eviscerazione della tastiera
Eviscerazione della tastiera
Eviscerazione della tastiera
Eviscerazione della tastiera

Smonta la tastiera nel modo più non distruttivo possibile. La tastiera che avevo in giro era una tastiera USB multimediale Dynex, numero di modello DX-MKB101. Durante lo smontaggio, fare attenzione a non rompere i fili sottili che vengono spesso utilizzati. Dovresti vedere qualcosa come la seconda immagine dopo aver aperto la tastiera. Vuoi salvare il corpo del circuito e la scheda con i LED (spesso sulla stessa scheda) e perdere l'ingombrante tastiera. Si spera che tu possa staccare la sottile pellicola di plastica che funge da interruttori a chiave per la tastiera, o in qualche altro modo tagliare gli interruttori della tastiera senza danneggiare il circuito principale. Ho dovuto tagliare un po' di plastica per liberare la scheda, ma dopo aver finito dovresti essere in grado di collegare la tastiera, farla riconoscere e attivare i LED nudi con i tasti di blocco di un'altra tastiera funzionale collegata allo stesso computer. Puoi avere più tastiere, USB e non, collegate contemporaneamente con la maggior parte dei sistemi operativi moderni e attiveranno il blocco delle maiuscole dell'altro e altri tasti di blocco. A questo punto devo dire che è possibile danneggiare o distruggere il computer collegandovi dei circuiti scoperti. Usare cautela e procedere con cautela. Se sei preoccupato, prova con un hub USB economico. D'altra parte, ho provato ogni sorta di cose durante la risoluzione dei problemi di questo circuito, incluso il ricablaggio dei circuiti sotto tensione, e il mio laptop non è stato fritto.

Passaggio 3: presa USB dei poveri

Spina Usb dei poveri
Spina Usb dei poveri
Spina Usb dei poveri
Spina Usb dei poveri

Non volevo distruggere le spine USB sulle lampade lava in modo che potessero essere utilizzate separatamente e in modo che il controller della lampada lava USB fosse modulare (al posto delle lampade potevano essere utilizzati altri dispositivi accesi e spenti). Se hai smontato una tastiera Apple nell'ultimo passaggio, avresti due jack USB-A femminili che puoi utilizzare e quindi puoi saltare questo passaggio. Puoi anche acquistare i jack USB-A femmina da mouser o recuperarli da un hub USB di riserva. Tuttavia, ho scelto di optare per un'opzione economica e semplice: un semplice jack USB realizzato con un involucro di filo a strisce (qualsiasi filo sottile sarebbe sufficiente), un po' di perfboard e un po' di carta e pellicola trasparente per l'isolamento. Basta tagliare un po' di perfboard per andare ALL'INTERNO delle prese USB, aggiungere il filo attraverso i fori in modo che l'inserimento della spina non le estragga e consenta loro di entrare in contatto con i connettori +5V e massa nella presa (vedere i pinout sul " Fai il circuito" passo per quale connessione è quale). Quindi tagliare un po' di pellicola trasparente per coprire un lato della scheda in modo che il filo della perfboard non vada in cortocircuito contro il corpo metallico della spina. Inserisci questa scheda isolata nella presa USB e conferma con il multimetro che i fili abbiano un buon contatto e non siano in cortocircuito. Ecco come le lampade lava USB sono collegate al circuito. Per questo progetto, fai due di questi tappi per poveri testa a testa sullo stesso pezzo di perfboard (vedi l'immagine). Durante la fase di assemblaggio, vedrai come la custodia trattiene entrambe le spine USB su questo connettore.

Passaggio 4: taglio dell'involucro e della scheda perf

Cut Enclosure e Perfboard
Cut Enclosure e Perfboard
Cut Enclosure e Perfboard
Cut Enclosure e Perfboard

Scopri il layout del tuo progetto nel suo recinto. Ho usato la famosissima latta Altoids. Praticare un foro nella parte posteriore della latta Altoids per il grande interruttore SPST on/off, uno nella parte anteriore per il cavo USB della tastiera e due fori sui lati per le spine USB della lampada lava. Tagliare le fessure del buco della serratura con un disco da taglio Dremel o un seghetto a mano fino ai fori anteriori e laterali in modo che i cavi USB possano inserirsi (vedi foto). Foderare i fori con nastro adesivo per evitare il taglio dei cavi. Decidi la forma della tua perfboard per il tuo circuito e ritaglia quella forma con uno strumento Dremel. Questa sarà una vestibilità piuttosto stretta…

Passaggio 5: crea il circuito

Fai il circuito
Fai il circuito
Fai il circuito
Fai il circuito
Fai il circuito
Fai il circuito

Il cuore di questo progetto è semplicemente usare il software per attivare i LED della tastiera e dirottare i LED per commutare correnti più grandi. Dovrei menzionare qui che alcuni LED vengono accesi applicando una tensione positiva all'anodo, mentre altri circuiti (come quello in questa tastiera) fanno galleggiare l'anodo del LED in alto (quindi il LED è spento) e legano il catodo del LED a massa quando è attivato (commutazione pull-down). Potresti modificare questo circuito per funzionare con entrambi, ma disegnerò il metodo di ancoraggio negativo. Il LED che si spegne (impostato alto) accende un interruttore a transistor, che chiude un relè e infine si attiva la lampada lava. Ciò significa che l'interruttore software per la lampada sarà invertito dal LED. Ho adattato il circuito da Windmeadow, ma è basato su un semplice interruttore a transistor come descritto nella maggior parte dei testi di elettronica (p. 50 nel libro di Mimm o su wikipedia). Ho incluso un file ktechlab in modo da poter vedere come funziona l'interruttore a transistor e uno schema completo (nei formati svg e png). Assicurati di utilizzare lo schema originale o il file svn per la stampa, poiché le immagini più piccole non sono chiare. Dovrai rimuovere i LED dalla scheda del circuito della tastiera e determinare la loro polarità e quale lato viene commutato con un multimetro. Esegui un filo da ciascun LED che sarà coinvolto in un circuito di commutazione (questi sono etichettati SCROLLLOCK e CAPSLOCK sullo schema). Dissaldare il +5v e la massa dal circuito della tastiera per fornire alimentazione alla perfboard, quindi eseguire i cavi per restituire l'alimentazione alla scheda (questo è il +5V e le masse sullo schema). Quindi seguire lo schema per realizzare il circuito, utilizzando i piedini dei componenti per identificare le connessioni. Assemblare prima questo circuito su una breadboard e testare il circuito. Questo è stato il passaggio in cui ho determinato che i LED erano pull-up anziché pull-down e generalmente hanno raggiunto il punto di massimo caos sul mio banco di lavoro. Quando il circuito funziona (testabile premendo il tasto Caps Lock o Scroll Lock e vedendo se le lampade lava si attivano), scopri come imballare i componenti sulla perfboard. È possibile utilizzare il wirewrap, ma il metodo di assemblaggio più semplice è semplicemente spingere i componenti attraverso i fori, avvolgere i cavi e saldarli insieme. Verificare che il circuito assemblato funzioni sulla perfboard.

Passaggio 6: lampade lava USB a colori

Lampade lava USB a colori
Lampade lava USB a colori

Fai colorare le lampade lava USB trasparenti colorando una pezza della pellicola sopraelevata con i pennarelli rossi o verdi, quindi ritagliando un cerchio da inserire nella base della lampada tra la luce e la camera "lava". Riassemblare le luci di lava.

Passaggio 7: assemblaggio finale

Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale

Le lattine Altoids sono ottimi contenitori. Sono bravi a schermare, ma sfortunatamente sono conduttori e cortocircuitano i circuiti non protetti. Per evitare ciò, taglia il cartone e la pellicola per lucidi alle dimensioni della latta e inseriscili tra il circuito della tastiera e il tuo perfboard. Inserisci l'interruttore nel foro posteriore della latta. Inserisci le spine USB accoppiate al connettore USB del povero nei tagli del buco della serratura sul lato in modo che lo stagno tenga le spine nel connettore. Riempire in perfboard e circuito di tastiera di recupero, isolare con il cartone e pellicola trasparente. Prova a chiudere il barattolo (il nostro ci entra a malapena).

Passaggio 8: codice

Le lampade lava saranno comandate da chiamate di sistema al programma "impostato" che accenderà e spegnerà i led capslock e scroll lock. Provalo eseguendo quanto segue da una riga di comando (possibile come root, a seconda della tua configurazione) per far lampeggiare le tue lampade: setleds -L -caps +scroll < /dev/tty0;sleep 3s;setleds -L +caps -scroll < /dev/tty0; dormire 3; setleds -L </dev/tty0scomponendo questo:#Per accendere la lampada rossa:setleds -L -caps +scroll < /dev/tty0#per accendere la lampada verde:setleds -L +caps -scroll < /dev/ tty0#per tornare allo stato in cui i LED visualizzano le impostazioni della tastierasetleds -L </dev/tty0Puoi includere queste chiamate di sistema nel tuo programma o utilizzare il modulo di test dell'unità phython che Chris ha scritto sulla base del framework di test dell'unità PyUnit creato in pitone. Basta decomprimere i file dall'archivio tar (tar -xzvf lava_unittest.tar.gz da una console) e provare i seguenti comandi da una console: python lava_unittest.py test_lava_unittest-passpython lava_unittest.py test_lava_unittest-failorpython test_lava_unittest-pass.pypython test_lava_unittest- fail.pyPer eseguire da un emulatore di terminale, decommenta le righe contrassegnate da avviso e prova a eseguire itas root da un emulatore di terminale. Con questo codice, tutto ciò che devi fare è scambiare istanze di "unittest" con "lava_unittest" negli script Python scritti per test unitario. Non è necessaria alcuna ricodifica.

Passaggio 9: confezione carina

Confezione carina
Confezione carina
Confezione carina
Confezione carina

Per completare questo progetto, crea e stampa la tua etichetta o usa l'immagine inclusa (apri l'immagine secong a grandezza naturale o il file xcf con gimp). Basta incollare sulla copertina delle tue fantastiche lampade lava controllate tramite USB.

Consigliato: