Leer una base de datos SQL para controlar una bombilla

Leer una base de datos SQL para controlar una bombilla

Tengo una idea para un tablero de puntuación para una sala de juegos. Me gustaría encender o apagar una bombilla dependiendo de una bandera en una base de datos. Entonces digamos que tengo una columna llamada "fuera". Para out=1 se encendería una bombilla, para out=2 dos bombillas, etc. ¿Sería esto posible? ¿Qué necesitaría? Configurar la base de datos e insertar los datos no es un problema.

Respuesta1

Conceptualmente, necesitarás lo siguiente:

  1. Hardware que recibe la solicitud y muestra el número apropiado de luces.
  2. software que convierte el número recuperado en una solicitud al hardware
  3. software que sondea la base de datos

Considerando estos en ese orden:

Interfaz de hardware

Una de las formas más sencillas de interconectar hardware es mediante el uso del puerto paralelo (si su computadora está equipada con él). Generalmente hay 8 o más salidas disponibles que se pueden controlar de forma independiente. El segundo más fácil es un puerto serie. En cualquier caso, necesitaría relés o controladores LED o su equivalente para cambiar los niveles de voltaje en esas interfaces a algo que sus luces puedan usar.

Control de software a hardware

Si puede escribir código en C o C++, probablemente no tendrá problemas para escribir software en su sistema particular (Windows, Mac, Linux) para enviar un solo byte a un puerto paralelo o serie. Los ejemplos abundan en Internet. El código podría listenestar en una IP socketpara que el valor se envíe al hardware.

Software para sondear la base de datos.

Generalmente, esto sería una consulta simple a la base de datos que se ejecutaría periódicamente según su elección. Puede configurarlo para que realice un sondeo cada 60 segundos, por ejemplo, recuperar el valor de la base de datos y luego enviar el valor a través de un socket IP al software de listado mencionado anteriormente.

Debido a que su pregunta es bastante amplia, esta respuesta también lo es, pero si tiene preguntas específicas sobre alguna parte de esto, haga otra pregunta. Sin embargo, tenga en cuenta que la ingeniería eléctrica se ocupa principalmente de los dos primeros elementos y, en general, no de las partes puramente de software.

Respuesta2

Esto sería sencillo de hacer. Mi sugerencia:

1) En lugar de utilizar luces individuales, utilice una tira de LED RGB direccionable. Esto será mucho más fácil que encender luces individuales y facilitará la obtención de diferentes colores y atenuaciones. Puedes poner pelotas de ping-pong sobre los LED si quieres un aspecto diferente.

2) Usaría un arduino para manejar la tira de LED. Puede conectarse a su PC a través de un puerto serie, y un programa en la PC puede simplemente realizar la consulta de la base de datos, tomar el valor y enviarlo a través del puerto serie al arduino. El arduino lee el valor y lo envía a la tira de LED.

Encontrarás muchas cosas enadafruit.com, incluidos tutoriales que te ayudarán.

Respuesta3

Suena como la aplicación perfecta para Raspberry Pi. Es una mini computadora Linux que es más que capaz de alojar software que puede consultar una base de datos. (Y albergar uno). También tiene pines GPIO que pueden controlar cosas.

http://www.raspberrypi.org/

Debes decidir el tipo de luz antes de saber cómo encenderla.

Si es un LED es posible que necesite un controlador de LED, si es una bombilla de 240 V es posible que necesite un relé, etc.

Otras variantes que quizás quieras ver incluyen Beagle Bone, ODROID y no olvides buscar en Google "mini computadora Linux" para obtener más opciones.

Respuesta4

Mi solución de mínimo esfuerzo fue usar una luz de discoteca (que usa el protocolo DMX) y un 'diablillo eléctrico' que presenta una API web a la que puedes conectarte.

También puede comunicarse con LED o neopíxeles como alternativa.

Aquí hay un video de una demostración simple que creé.

https://www.youtube.com/watch?v=RxttrlHJntw&list=UU2vDg0Cv64FmkmjJYpVnWuQ

información relacionada