USB/Ethernet a un timbre (real) basado en una señal

Soy un principiante total en hardware, pero me gustaría construir una pieza de material que haga sonar una campana real durante un tiempo específico o, eventualmente, en lugar de una campana, una luz que se encienda en función de una duración específica. .

El inicio y la duración se activarían de forma remota a través de USB o Ethernet, codificados en un lenguaje Java (parte con la que tengo más experiencia).

Pensé en usar un Arduino, pero como no sé nada en el área de hardware, les pido su consejo sobre cómo y qué comprar para que sea la forma más económica.

Además, sería genial si este dispositivo se vendiera alimentado, entonces estoy pensando en usar un USB, ¿verdad?

Muchas gracias por su ayuda :)

Respuestas (4)

Lo primero es lo primero: no hay forma de hacer esto de forma económica solo en Java. Hay algunos chips que pueden ejecutar Java, pero no he oído hablar de ninguno que sea accesible para principiantes.

Entonces, es C o el lenguaje de Arduino si vas por esa ruta.

A continuación, necesitará una fuente de alimentación para la campana. Esto dependerá de la campana y tendrá un gran impacto en el circuito que harás. Probablemente necesitará un relé y un circuito de protección para controlar el timbre que se alimentará de una fuente de alimentación separada (como, por ejemplo, la red eléctrica). Tendrá que buscar los detalles de los pines de Arduino (o lo que quiera usar) y obtener un relé que pueda activarse con dicha fuente de alimentación.

A continuación, necesitará una conexión Ethernet o USB. Matt ya recomendó chips USB a RS-232 y esa es una manera fácil de resolver el problema. El chip aparecerá como un puerto serie y todo lo que necesitará hacer es crear un programa Java que enviará datos al puerto al microcontrolador.

La otra opción más complicada sería usar Ethernet. Para Arduino, ya existe un escudo Ethernet que es compatible con su IDE. También podría elegir otra placa Ethernet como esta o esta . El lado positivo del escudo de Arduino es que puedes usar la biblioteca existente que podría resultar útil. Para una solución de terceros, deberá escribir el código usted mismo.

También un poco de comparación entre Arduino, chips AVR desnudos o PIC.

Primero, los chips PIC y AVR actuales son más o menos similares en precio y capacidades. Algunas personas recomendarán PIC y otras recomendarán AVR. Hay innumerables fanáticos furiosos en cada lado, pero mi consejo es ignorarlos. Si está planeando adentrarse seriamente en el mundo de los microcontroladores, sería una buena idea familiarizarse con ambas familias, porque ambas son muy populares. Los chips se programan generalmente en C o ensamblador y existen muchas herramientas de desarrollo (algunas de ellas gratuitas) disponibles para ambas líneas.

A continuación tenemos Arduino. Primero, no es un chip. Es una línea de placa de desarrollo y esa es una diferencia importante. Utiliza chips AVR en su interior y un gestor de arranque especial para que sean más fáciles de programar. Con eso, ha empaquetado un buen IDE que usa un lenguaje similar a C ++ para la programación y puede facilitar algunas cosas para un principiante. Recientemente ha ganado una enorme popularidad entre los principiantes. Su principal problema es que oculta algunos conceptos operativos del chi[ del usuario y en un momento puede tener la sensación de que está luchando contra el IDE y el lenguaje.

Por otro lado, también tenemos los PICAXE, que son básicamente la versión PIC de Arduino. También tienen IDE y lenguaje de programación (un derivado BASIC) y gestor de arranque. Por lo que puedo ver, las placas PICAXE no son tan populares como Arduino por alguna razón, pero no tengo experiencia con ellas, por lo que no puedo explicar por qué.

Entonces, para resumir esto: si desea un solo proyecto, considere Arduino o PICAXE. De esta manera, no tendrá que pagar los costos de configuración (como el programador, el tiempo necesario para la capacitación y el diseño de la placa, etc.) que conlleva trabajar con un solo microcontrolador.

Si planea trabajar seriamente con microcontroladores en el futuro, considere hacerlo con un chip AVR de PIC. Será una experiencia mucho más educativa, pero podría volverse demasiado complicado si solo haces un proyecto único.

Gracias por la respuesta, todo parece muy confuso, pero tu respuesta me ayudó mucho.
@cx42net Simplemente no olvide que si se queda atascado en un paso de la solución que no es la programación del programa Java en la computadora principal, puede solicitar una aclaración aquí.
¿ Has oído hablar del Sello de Jabalina ? Es un micro pequeño y agradable con una JVM integrada.
@Fake Name Sí, por eso mencioné que hay algunos chips que pueden ejecutar Java. Si bien el sello Javelin está a la venta ahora, su precio normal es de alrededor de $ 90, que creo que es demasiado caro. Por esa cantidad de dinero, se puede completar todo el proyecto que OP tiene en mente.
Una solución no necesariamente requeriría ningún desarrollo integrado, ya que hay módulos y periféricos USB de función especial adecuados disponibles en el estante. Por lo tanto, la única programación que debe realizarse es en la PC de control.

Personalmente, haría esto usando un pequeño microcontrolador PIC o similar. El lado USB puede ser bastante difícil de programar (en el chip PIC) para el principiante (aún no lo he entendido), por lo que un convertidor USB a RS232 (ya sea como un dongle USB o como un chip USB a RS232 ) puede hacer que las cosas sean mucho más fáciles de manejar.

El PIC16F88 es un buen punto de partida si no desea programar el USB usted mismo, y es muy económico (puede obtener muestras gratuitas del fabricante ). Si desea USB, entonces debe mirar la serie de microcontroladores PIC18F (acabo de tener el primero funcionando hoy - yippee).

Si no quiere construir su propio hardware y programar el PIC usted mismo, hay muchos kits de bricolaje que vienen con un PIC preprogramado (como el K8055 de Velleman ) que a menudo ya tienen el USB integrado.

Gracias por tu respuesta, parece mucho más difícil para un principiante como yo de lo que pensé al principio, pero mezclar todas las respuestas probablemente me ayude :)

Existen soluciones listas para usar para relés controlados por USB, generalmente con bibliotecas para una variedad de lenguajes de alto nivel.

Edición posterior: se me ocurre que si el requisito de tiempo no es demasiado estricto, uno podría simplemente usar un convertidor serial USB estándar y utilizar una de las señales de control.

Es probable que el programa de control se pueda escribir en Java, si la JVM le da acceso al puerto o le permite ejecutar algo como la herramienta stty en Linux/Unix o un equivalente de Windows.

Su respuesta es prometedora, ¿tiene un enlace para ver ejemplos/precios, por favor?
Responder eso lo convertiría en una pregunta de "compra" y haría que algunas personas votaran para cerrar, pero una búsqueda en la web debería encontrar ejemplos.

Recomendaría usar PIC18F24J50. Es un microcontrolador mucho mejor y es fácil de programar. Ni siquiera necesita alto voltaje para programarlo. Logré programarlo desde cero (firmware --> DLL --> aplicaciones VB y C++). Lo que lo hace más divertido, incluso hice un programador simple con el microcontrolador MCP2200 industrialmente preprogramado... Es simple porque PIC18F24J50 no necesita alto voltaje (como 9V o 12V) para programar...

¿Estás seguro del nombre? google.com/search?q=PC18F24J50
De hecho, es el microcontrolador Microchip PIC18F24J50.