Tenho uma ideia para um placar de sala de jogos. Gostaria de ligar ou desligar uma lâmpada dependendo de um sinalizador em um banco de dados. Digamos que eu tenha uma coluna chamada "out". Para out=1, uma lâmpada estaria acesa, para out=2, duas lâmpadas, etc. Isso seria possível? O que eu precisaria? Configurar o banco de dados e inserir os dados não é problema.
Responder1
Conceitualmente, você precisará do seguinte:
- hardware que recebe a solicitação e exibe o número apropriado de luzes
- software que transforma o número recuperado em uma solicitação ao hardware
- software que pesquisa o banco de dados
Considerando-os nesta ordem:
Interface de hardware
Uma das maneiras mais simples de conectar o hardware é usando a porta paralela (se o seu computador estiver equipado). Geralmente existem 8 ou mais saídas disponíveis que podem ser controladas de forma independente. O segundo mais fácil é uma porta serial. Em ambos os casos, você precisaria de relés ou drivers de LED ou equivalente para alterar os níveis de tensão nessas interfaces para algo que suas luzes possam usar.
Controle de software para hardware
Se você consegue escrever código em C ou C++, provavelmente não terá problemas para escrever software em seu sistema específico (Windows, Mac, Linux) para enviar um único byte para uma porta paralela ou serial. Exemplos não faltam na internet. O código poderia listen
estar em um IP socket
para o valor ser enviado ao hardware.
Software para pesquisar o banco de dados
Genericamente, esta seria uma consulta simples ao banco de dados que seria executada periodicamente de sua escolha. Você pode configurá-lo para pesquisar a cada 60 segundos, por exemplo, buscar o valor do banco de dados e, em seguida, enviar o valor por um soquete IP para o software de listagem mencionado acima.
Como sua pergunta é bastante ampla, esta resposta também o é, mas se você tiver dúvidas específicas sobre qualquer parte disso, faça outra pergunta. Observe, porém, que a Engenharia Elétrica se preocupa principalmente com os dois primeiros itens e não geralmente com as partes puramente de software.
Responder2
Isso seria simples de fazer. Minha sugestão:
1) Em vez de usar luzes individuais, use uma faixa de LED RGB endereçável. Isso será muito mais fácil do que acender luzes individuais e facilitará a obtenção de cores e escurecimento diferentes. Você pode colocar bolas de pingue-pongue sobre os leds se quiser um visual diferente.
2) Eu usaria um Arduino para lidar com a condução da faixa de LED. Ele pode se conectar ao seu PC por meio de uma porta serial, e um programa no PC pode simplesmente fazer a consulta ao banco de dados, obter o valor e enviá-lo pela porta serial para o Arduino. O Arduino lê o valor e o envia para a faixa de LED.
Você encontrará muitas coisas emadafruit.com, incluindo tutoriais que irão ajudá-lo.
Responder3
Parece o aplicativo perfeito para um Raspberry Pi. É um computador mini Linux mais do que capaz de hospedar software que pode consultar um banco de dados. (E hospede um). Ele também possui pinos GPIO que podem controlar coisas.
Você precisa decidir o tipo de luz antes de descobrir como acendê-la.
Se for um LED você pode precisar de um driver de LED, se for uma lâmpada de 240V você pode precisar de um relé, etc.
Outras variantes que você pode querer ver incluem Beagle Bone, ODROID e não se esqueça de pesquisar no Google "mini computador Linux" para obter mais opções.
Responder4
Minha solução de esforço mínimo foi usar uma luz de discoteca (que usa o protocolo DMX) e um 'imp elétrico' que apresenta uma API da web para você se conectar.
Também pode falar com leds ou neopixels como alternativa.
Aqui está um vídeo de uma demonstração simples que criei.
https://www.youtube.com/watch?v=RxttrlHJntw&list=UU2vDg0Cv64FmkmjJYpVnWuQ