Índice:

Mini lâmpadas Lava Controladas por USB: 9 etapas
Mini lâmpadas Lava Controladas por USB: 9 etapas

Vídeo: Mini lâmpadas Lava Controladas por USB: 9 etapas

Vídeo: Mini lâmpadas Lava Controladas por USB: 9 etapas
Vídeo: Conmutador para dos focos 💡💡 2024, Novembro
Anonim
Mini lâmpadas Lava Controladas por USB
Mini lâmpadas Lava Controladas por USB
Mini lâmpadas Lava Controladas por USB
Mini lâmpadas Lava Controladas por USB
Mini lâmpadas Lava Controladas por USB
Mini lâmpadas Lava Controladas por USB

Este instrutível descreve a construção de um conjunto de lâmpadas de lava alimentado e controlado por USB a partir de um teclado USB e duas lâmpadas de lava Think Geek USB usando um circuito de interruptor de relé de transistor simples acionado pelos LEDs do teclado. Ele ilustra uma maneira simples de controlar até três interruptores de alta latência (em até 120 volts, 0,5 amperes) em uma conexão USB, por uma quantia mínima de dinheiro (0 $ a 40 $ dependendo de sua coleção de lixo), e sem ter para programar um driver de controle serial USB ou um microcontrolador. Potencialmente, você também poderia usar as teclas do teclado para adicionar mais de 100 entradas que digitariam caracteres que poderiam ser usados para controlar um programa (conforme descrito por randofo e por David Merrill, mas esta abordagem não foi usada para este projeto. Este projeto foi concebido como um presente para meu amigo Chris Lasher para comemorar sua mudança e o início de um programa de pós-graduação em bioinformática. Chris fará muita programação e é adepto da Programação Pragmática / Ágil, um dos princípios dos quais são os testes de unidade. testes de unidade de um programa estão em execução, é bom saber se eles estão tendo sucesso ou falhando, e qual é o predominante. Notoriamente, alguns programadores pragmáticos criaram um sistema de feedback controlando lâmpadas de lava de tamanho normal a partir de uma estrutura de teste de unidade conectando alguns dispositivos de controle doméstico prontos para uso (custavam mais de US $ 60). As lâmpadas permitiam que eles vissem se os testes estavam passando ou falhando, e o aquecimento gradual em uma lâmpada permitia que eles vissem quais ts foram predominantes. É uma ideia legal, mas eu queria fazer de Chris algo que: 1) controlasse duas pequenas lâmpadas de lava alimentadas por USB, 2) fosse desligado do novo laptop sofisticado de Chris e fizesse interface via USB (sem portas legadas em computadores mais novos, particularmente laptops), 3) seriam um pouco mais caseiros e amigáveis para hackers, 4) seriam alocados mais baratos. Conduzir relés de um conversor de porta serial para USB pareceria uma solução simples. Existem muitos circuitos disponíveis on-line para projetos de controle de porta serial. Um excelente projeto que adaptei foi em https://www.windmeadow.com/node/4. Infelizmente, quase todos os dispositivos USB para serial não permitem o bit banging de baixo nível (a alternância manual das linhas de controle) que é necessário para usar esses circuitos. Outra abordagem seria comprar um circuito de interface USB ou construir um a partir de um microcontrolador. De qualquer forma, o projeto exigiria uma boa quantidade de códigos e drivers de microcontroladores (mesmo usando os drivers de interface humana pré-existentes ou um controlador pré-fabricado). Optei por resolver este problema com um teclado USB recuperado, uma vez que são relativamente baratos, e contêm tudo o que é necessário para três saídas liga / desliga simples, na forma de LEDs de número, maiúsculas e scroll lock. No Linux, há uma série de mecanismos para alternar seus LEDs de um programa ou linha de comando (um deles é até referenciado em Cryptonomicon). Setled é o mais simples e vem pré-instalado em quase todas as máquinas, o ledd é construído em um modelo cliente-servidor, e há até um módulo na linguagem de programação Ruby. Os sistemas operacionais Windows e Mac, e outras linguagens de programação, devem ter mecanismos comparáveis - poste-os nos comentários se você sabe como alternar os LEDs do teclado em outros sistemas operacionais ou linguagens de programação! Dei a Chris o seu presente, e agora ele não pode apenas ver se o seu os testes de unidade estão passando, todos os programadores em seu novo departamento podem saber como ele é um fabricante legal de DIY.

Etapa 1: Lista de peças

2 lâmpadas lava USB (da Thinkgeek ou froogle ~ $ 10 cada) 1 teclado USB (um teclado apple também permitiria que você recupere duas entradas USB, tornando desnecessário o hackery listado na etapa "tomada USB do pobre") $ 0 para um teclado danificado com uma chave morta ou duas, a $ 4 on-line (https://froogle.google.com/froogle?q=usb%20keyboard) a $ 30 na melhor compra) 2 relés de interruptor de palheta (Radio Shack # 275-233 $ 3,00, Mouser # 677-OMR-112H $ 1,54) todos os outros componentes elétricos devem custar apenas alguns dólares. 2 transistores (como um 2N2222) (Radio Shack # 276-1617, Mouser # 511-2N2222A) 2 resistores (Radio Shack # 271-1124, Mouser # 291-4.7k, bandas amarelo-violeta-vermelho-ouro) 4 diodos, algo como 1N404 (Radio Shack # 276-1103, Mouser # 512-1N414B) 1 botão liga / desliga (SPST) um pouco de wire1 perfboard (Radio Shack # 276-1395) 1 Cartolina Altoids, uma folha de transparência / ferramentas de filme suspensas: ferramenta de solda e / ou wire wrap e wiredremel tool ou hand-tool e patiencedrill e bitsa digital multimeterred e green sharpie markerConhecimentos e habilidades: Soldagem básica e conhecimento eletrônico. Eu recomendo fortemente o livro de Forest Mimm se você é um iniciante em eletrônica e gostaria de saber como os circuitos funcionam. Tempo: Este projeto levou duas noites e uma tarde, incluindo solução de problemas.

Etapa 2: Evisceração do teclado

Evisceração de teclado
Evisceração de teclado
Evisceração de teclado
Evisceração de teclado
Evisceração de teclado
Evisceração de teclado

Desmonte seu teclado da maneira mais não destrutiva possível. O teclado que eu tinha por aí era um teclado USB multimídia Dynex, modelo número DX-MKB101. Ao desmontar, tome cuidado para não quebrar os fios finos que são usados com frequência. Você deverá ver algo como a segunda imagem após abrir o teclado. Você quer salvar o corpo do circuito e a placa com os LEDs (geralmente na mesma placa de circuito) e perder o teclado volumoso. Com sorte, você pode remover a fina película de plástico que atua como as teclas do teclado ou, de alguma outra forma, cortar as teclas do teclado sem danificar o circuito principal. Tive que cortar um pouco de plástico para liberar a placa, mas depois de terminar você deve conseguir conectar o teclado, fazer com que ele seja reconhecido e alternar os LEDs nus com outras teclas de bloqueio funcionais conectadas ao mesmo computador. Você pode ter vários teclados, USB ou não, conectados simultaneamente à maioria dos sistemas operacionais modernos e eles ativarão o caps lock e outras teclas de bloqueio uns dos outros. Neste ponto, devo dizer que é possível danificar ou destruir seu computador conectando circuitos vazios a ele. Tenha cuidado e proceda com cuidado. Se você está preocupado teste com um hub USB barato. Por outro lado, tentei todos os tipos de coisas enquanto solucionava problemas neste circuito, incluindo religar circuitos ativos, e meu laptop continua sem fritar.

Etapa 3: Plug USB do pobre homem

Plugue USB do pobre homem
Plugue USB do pobre homem
Plugue USB do pobre homem
Plugue USB do pobre homem

Eu não queria destruir os plugues USB nas lâmpadas lava para que pudessem ser usados separadamente e para que o controlador da lâmpada lava USB fosse modular (outros dispositivos poderiam ser usados ligados e desligados em vez das lâmpadas). Se você desmontou um teclado Apple na última etapa, você terá duas entradas USB-A fêmeas que pode usar e, portanto, pode pular esta etapa. Você também pode comprar os conectores USB-A fêmea na mouser ou salvá-los de um hub USB sobressalente. No entanto, optei por uma opção simples e barata - um conector USB simples feito de algum envoltório de fio listrado (qualquer fio fino seria suficiente), um pouco de perfboard e um pouco de papel e filme de transparência para isolamento. Simplesmente corte um pouco do perfboard para entrar DENTRO dos plugues USB, adicione o fio através dos orifícios para que inserir o plugue não os tire e permita que eles entrem em contato com os conectores de + 5V e terra no plugue (veja a pinagem no " Faça o circuito "etapa para qual conexão é qual). Em seguida, corte um pouco de filme de transparência para cobrir um lado da placa para que o fio da perfboard não entre em curto com o corpo de metal do plugue. Insira esta placa isolada no plugue USB e confirme com o multímetro se os fios estão em bom contato e não estão em curto. É assim que as lâmpadas lava USB são conectadas ao circuito. Para este projeto, faça dois desses plugues do pobre homem frente a frente no mesmo pedaço de perfboard (veja a imagem). Durante a etapa de montagem, você verá como o gabinete contém os dois plugues USB deste conector.

Etapa 4: Corte o gabinete e o perfboard

Cortar gabinete e perfboard
Cortar gabinete e perfboard
Cortar gabinete e perfboard
Cortar gabinete e perfboard

Descubra o layout do seu projeto em seu gabinete. Usei a sempre popular lata Altoids. Faça um orifício na parte de trás da lata Altoids para o grande botão liga / desliga SPST, um na frente para o cabo USB do teclado e dois orifícios nas laterais para os plugues da lâmpada lava USB. Faça fendas em forma de fechadura com uma roda de corte dremel ou serra manual na frente e nos orifícios laterais para que os cabos USB possam caber (consulte a imagem). Forre os orifícios com fita adesiva para evitar o corte de cabos. Decida a forma da sua perfboard para o seu circuito e recorte essa forma com uma ferramenta dremel. Isso vai ser um ajuste muito apertado…

Etapa 5: faça o circuito

Faça Circuito
Faça Circuito
Faça Circuito
Faça Circuito
Faça Circuito
Faça Circuito

O coração deste projeto é simplesmente usar software para alternar os LEDs do teclado e sequestrar os LEDs para alternar correntes maiores. Devo mencionar aqui que alguns LEDs são ligados aplicando uma tensão positiva ao ânodo, enquanto outros circuitos (como o deste teclado) elevam o ânodo do LED (de forma que o LED está desligado) e ligam o cátodo do LED a aterramento quando é ativado (comutação pull-down). Você poderia modificar este circuito para funcionar com qualquer um deles, mas vou fazer um diagrama do método de amarração negativa. O LED sendo desligado (definido como alto) liga um interruptor de transistor, que fecha um relé e, finalmente, a lâmpada de lava é ativada. Isso significa que a alternância do software para a lâmpada será invertida no LED. Eu adaptei o circuito do windmeadow, mas ele é baseado em uma chave de transistor simples, conforme descrito na maioria dos textos de eletrônica (p. 50 no livro de Mimm ou na wikipedia). Incluí um arquivo ktechlab para que você possa ver como funciona a chave do transistor e um esquema completo (nos formatos SVG e PNG). Certifique-se de usar o esquema original ou o arquivo svn para imprimir, pois as imagens menores não são claras. Você precisará remover os LEDs da placa de circuito do teclado e determinar sua polaridade e qual lado é trocado com um multímetro. Passe um fio de cada LED que estará envolvido em um circuito de comutação (eles são rotulados como SCROLLLOCK e CAPSLOCK no esquema). Desolder o + 5v e o aterramento do circuito do teclado para fornecer energia para a perfboard e, em seguida, passar os fios para retornar a energia para a placa (este é o + 5V e os aterramentos no esquema). Em seguida, siga o esquema para fazer o circuito, usando as pinagens dos componentes para identificar as conexões. Monte este circuito primeiro em uma placa de ensaio e teste o circuito. Esta foi a etapa em que determinei que os LEDs eram pull-up em vez de pull-down comutados, e geralmente atingia o ponto de caos máximo em minha bancada. Quando o circuito funcionar (pode ser testado pressionando a tecla Caps Lock ou Scroll Lock e ver se as lâmpadas de lava se alternam), descubra como embalar os componentes no perfboard. Wirewrap pode ser usado, mas o método mais simples de montagem é simplesmente enfiar os componentes pelos orifícios, embrulhar os terminais e soldá-los. Teste se o circuito montado funciona no perfboard.

Etapa 6: lâmpadas de lava USB coloridas

Lâmpadas de lava USB coloridas
Lâmpadas de lava USB coloridas

Torne as lâmpadas de lava USB transparentes coloridas colorindo um pedaço do filme suspenso com os marcadores vermelhos ou verdes e, em seguida, recorte um círculo para inserir na base da lâmpada entre a luz e a câmara de "lava". Remonte as luzes de lava.

Etapa 7: Montagem final

Assembléia final
Assembléia final
Assembléia final
Assembléia final
Assembléia final
Assembléia final

Latas de Altoids são ótimas caixas. Eles são bons em blindagem, mas infelizmente são condutores e causarão curto-circuito em circuitos desprotegidos. Para evitar isso, corte papelão e filme de transparência no tamanho de uma lata e para caber entre a placa de circuito do teclado e sua perfboard. Insira o interruptor no orifício traseiro da lata. Insira os plugues USB acoplados ao conector USB do pobre homem nos cortes da fechadura na lateral para que a lata segure os plugues no conector. Enfie em perfboard e circuito de teclado recuperado, isole com o papelão e filme de transparência. Tente fechar a lata (a nossa mal cabe).

Etapa 8: Código

As lâmpadas de lava serão controladas por chamadas de sistema para o programa "estabelecido" que ligará e desligará os LEDs capslock e scroll lock. Teste-o executando o seguinte em uma linha de comando (possível como root, dependendo da sua configuração) para fazer suas lâmpadas piscarem: setleds -L -caps + scroll </ dev / tty0; sleep 3s; setleds -L + caps -scroll </ dev / tty0; dormir 3; setleds -L </ dev / tty0 quebrando isto: #Para ligar a lâmpada vermelha: setleds -L -caps + scroll </ dev / tty0 # para ligar a lâmpada verde: setleds -L + caps -scroll </ dev / tty0 # para retornar ao estado em que os LEDs exibem as configurações do teclado definidas -L </ dev / tty0Você pode incluir essas chamadas de sistema em seu próprio programa ou usar o módulo de teste de unidade phython que Chris escreveu com base na estrutura de teste de unidade PyUnit construída em python. Basta descompactar os arquivos do arquivo tar (tar -xzvf lava_unittest.tar.gz de um console) e tentar os seguintes comandos em um console: python lava_unittest.py test_lava_unittest-passpython lava_unittest.py test_lava_unittest-failorpython test_lava_unittest-pass.pyunittest-pass.pyunittest fail.pyPara executar a partir de emuladores de terminal, descomente as linhas sinalizadas de aviso e tente executá-lo como root em um emulador de terminal. Com este código, tudo o que se precisa fazer é trocar as instâncias de "unittest" por "lava_unittest" em scripts Python escritos para teste de unidade. Nenhuma recodificação é necessária.

Etapa 9: Embalagem bonita

Embalagem bonita
Embalagem bonita
Embalagem bonita
Embalagem bonita

Para terminar este projeto, faça e imprima sua própria etiqueta ou use a imagem incluída (abra a segunda imagem em tamanho real ou o arquivo xcf com o gimp). Simplesmente cole a capa de suas incríveis lâmpadas lava controladas por USB.

Recomendado: