Transistores para Danita

Posted by

A Danita le gusta presionar el botón de encendido de Dorothy, que ya me ha traído problemas 🤪 tuve que desactivar la suspensión por ACPI 😃

Shutting down now

Entonces se me ocurrió hacerle un panel de luces y botones, para que deje a Dorothy en paz 😁 Tengo un Raspberry PI 2 dando vueltas por ahí, decidí darle uso. Luego pensé en usar al menos 5 LEDs brillantes de 10mm, pero son grandes y consumen más corriente que los pequeños, y el RPi no tiene mucha energía en cada uno de sus pines de GPIO. Las Internet sugieren que no pase de 50mA en total, pero igual, no quiero arriesgar que se queme. Así que llegó la hora de usar por primera vez en mi vida, un transistor. 😎

Se supone que no es la primera vez, he tenido que usarlos cuando estudié Electrónica 🤪 Pero no recuerdo nada de nada. Quizás no fui a esas clases 😅 Solo se que hay ciertos cálculos que hacer para calcular las resistencias. Y por la gracia del Universo, ahora puedes aprender cualquier cosa en las Interwebs 🤓 Este vídeo me ayudó un montón, resultó ser todo bastante straightforward. Así que, ¡a calcular!

Ignoren las manchitas de grasa…

Hace mucho compré unos transistores NPN BC547C que fueron de utilidad. No entendí por completo su datasheet 😅 dice que su hfe es en promedio 250, así que usé ese valor. Y después de sudar un poco pensando que iba a quemar el RPi, ¡eureka!

Fiat lux

Los 10mA del LED salen de un transformador de 5V, manejados solo por 1mA del RPi. Felicidad total.

Tengo un pequeño mueble con un compartimento vacío en la parte superior. Ahi irá el panel con los LEDs y pulsadores.

Midnight saw

Al día siguiente acabé haciendo los huecos para los LEDs y pulsadores.

En la vida real, los transistores los conecté al revés del diagrama, para facilitar el cableado:

Armé todo el circuito en un stripboard que también tenía a la mano.

Los primeros 5 pines son para los botones, más uno por si acaso, los siguientes 5 pines son para los LEDs, que van directo a la resistencia de la base del transistor. Algunas soldadas después, el tablero quedó listo.

Lo que no había pensado es que los botones requieren al menos dos resistencias, una para evitar el corto circuito al presionarlo, y otra de pull-down para que el RPi lea 0v cuando está sin presionar. Resulta que el RPi trae internamente una resistencia de pull-down, asi que solo tuve que soldar otra resistencia en serie a los botones, ya que no quería hacer más conexiones en el stripboard.

Hacking a hack.

El resultado final no quedó tan mal 😃

Un pequeño script en Python dentro del RPi hace que las luces jueguen, y cuando presionan uno de los pulsadores, cada LED empieza a prenderse y a apagarse. A Dana le gustó 👍 por 2 minutos 👎😅

Después empezó a presionar los LEDs que le llamaron más la atención, y ahí quedó todo 😄

Y como siempre, un TODO list:

  • Usar un único transformador. Ahorita hay dos transformadores, uno para el RPi y otro para los LEDs. La idea es hacer un bifurcación del transformador de 5V 2A con un conector micro-USB para el RPi.
  • Volver a construir el panel usando botones iluminados. Mejor si son RGB. Así no presiona lo que no debe presionar. 😅
  • Añadirle más cosas, quizás que hable las vocales, los números, o que empiece a contar toda la sucesión de fibonacci. 🤓

Leave a Reply

Su dirección de correo no se hará público.