InicioHazlo Tu MismoTrolleando TVs y Comercios Mini TV-B-Gone HowTo v2
Hace aproximadamente tres meses compartí con ustedes la primera versión de este TV-B-Gone utilizando como base de desarrollo la placa Arduino Pro Mini (5V/16MHz). Si bien es completamente funcional y el diseño es reducido, no alcanza a ser lo suficientemente discreto en ciertos lugares donde podemos ser continuamente observados por cierto público perspicaz. No debemos olvidar que, si bien el conjunto es pequeño, éste emplea una fuente de alimentación externa, en este caso se trata de un conjunto de cuatro baterías AAA (conectadas en serie) que reducen la discreción de nuestro TV-B-Gone. El análisis realizado en el párrafo anterior, me llevó a revisar nuevamente la teoría y principio de funcionamiento de este dispositivo. La versión original utiliza como base de desarrollo el microcontrolador ATtiny85, el cual dispone de 8KB de memoria flash y, para este caso, se ha fijado su frecuencia de reloj en 8MHz con oscilador externo. Otra característica importante a tener en cuenta en la versión original, es su tensión de alimentación de 3V, lo cual nos llevaría a reducir drásticamente las dimensiones de nuestra fuente de alimentación y emplear una batería tipo "botón", como la ampliamente conocida CR2032 utilizada en las motherboards. Luego, para continuar reduciendo aún más el diseño en aras de la discreción, he reducido el número de LED's infrarrojos a solamente uno. El siguiente punto de análisis fue el uso de un oscilador externo, ya que la presencia del mismo ocupa un pequeño espacio adicional en nuestra placa. Ventajas de utilizar un oscilador externo: • Es más preciso y presenta menos variaciones que el oscilador RC interno que posee el microcontrolador, lo cual puede marcar la diferencia en el correcto funcionamiento. Desventajas de utilizar un oscilador externo: • Pequeño costo adicional. • Ocupa un pequeño espacio adicional. • Agrega una pequeña complejidad a las conexiones. En particular, recomiendo imperativamente el uso de un oscilador externo en la medida de lo posible, salvo ciertas situaciones extremas como las ocurridas durante el desarrollo de este proyecto, a saber: • Inexistencia de resonador cerámico de 8MHz en las casas de electrónica de mi localidad y zonas aledañas. • Cristal de cuarzo de 8MHz encapsulado HC49/U únicamente (grandes dimensiones para nuestra pequeña placa). Los inconvenientes analizados en el párrafo anterior me llevaron a realizar pruebas de funcionamiento utilizando el oscilador RC interno de 8MHz que posee el microcontrolador y dichas pruebas resultaron exitosas bajo diferentes condiciones y, particularmente, me sorprendió la estabilidad del oscilador RC interno. No debemos olvidar que, por su naturaleza, un oscilador RC presenta variaciones de acuerdo al voltaje y temperatura de funcionamiento. Con el análisis realizado anteriormente, el diagrama esquemático de nuestro pequeño TV-B-Gone se observa en la siguiente imagen: Lista de Componentes 1 Microcontrolador ATtiny85-20PU 1 Pulsador tipo “push button” 6mm [4 terminales] o Interruptor SPST pequeño. 1 Transistor PN2222A 1 LED IR 5mm 940nm haz angosto [de apariencia blanco] 1 LED Rojo 3mm difuso [opcional ] 1 Resistencia 1KΩ 0.25W [opcional ] 1 Resistencia 150Ω 0.25W 1 Capacitor Electrolítico 100uF 16V 1 Capacitor Cerámico 100nf 50V 1 Portapilas para batería CR2032 Antes de comenzar con el montaje debemos realizar la carga del firmware correspondiente a nuestro microcontrolador. Utilizaremos el firmware provisto por Adafruit Industries para su kit TV-B-Gone de código abierto. Descargaremos el firmware correspondiente a la versión 1.1, ya que se adapta perfectamente a nuestro diseño. Autor: Adafruit Industries Web: www.adafruit.com Tamaño: 18887 SHA1 Hash: 8EE3E4CE97DFA2151692DA9E392D565618161F8E Descarga Del archivo “tvbgone11.zip” descargado anteriormente, debemos extraer el archivo “tvbgone.hex”. A continuación, debemos descargar e instalar el software WinAVR, el cual nos permitirá cargar en nuestro microcontrolador firmware descargado anteriormente. El lector perspicaz, ya inferirá que utilizaremos nuestra placa Arduino como programador para cargar el firmware en nuestro microcontrolador ATtiny85. Para ello, debemos lanzar el IDE de Arduino y, en la barra de menú seleccionamos “Archivo” --> “Ejemplos” --> “ArduinoISP”. A continuación, desplegamos el menú "Herramientas" --> “Tarjeta” --> “Arduino UNO” (o la placa que corresponda). Luego, desplegamos nuevamente el menú “Herramientas” --> “Puerto Serial” --> “COM9” (o el puerto serie que corresponda). Finalmente, hacemos click en el botón “Cargar”. Con lo realizado anteriormente, ya programamos nuestra placa Arduino UNO como programador AVRISP. En la siguiente imagen se observa cómo debemos realizar la interconexión entre nuestra placa Arduino UNO y el microcontrolador ATtiny85. ATtiny85 --> Arduino UNO RESET (Pin 1) --> Arduino UNO (Pin 10) MOSI (Pin 5) --> Arduino UNO (Pin 11) MISO (Pin 6) --> Arduino UNO (Pin 12) SCK (Pin 7) --> Arduino UNO (Pin 13) Capacitor electrolítico 10uF en placa Arduino UNO, terminal positivo a pin “RESET” y terminal negativo a pin “GND”. Llegados a este punto, y habiendo realizado exitosamente los pasos anteriores, ya estamos en condiciones de cargar el firmware TV-B-Gone v1.1 en nuestro microcontrolador ATtiny85. A continuación se encuentra el comando que debemos ejecutar y los resultados de la ejecución del mismo en caso de ser exitoso. C:\>avrdude -P com9 -b 19200 -c avrisp -p attiny85 -v -e -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m -U flash:w:tvbgone.hex:i avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch System wide configuration file is "C:WinAVR-20100110binavrdude.conf" Using Port : com9 Using Programmer : avrisp Overriding Baud Rate : 19200 AVR Part : ATtiny85 Chip Erase delay : 4500 us PAGEL : P00 BS2 : P00 RESET disposition : possible i/o RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 6 4 0 no 512 4 0 4000 4500 0xff 0xff flash 65 6 32 0 yes 8192 64 128 4500 4500 0xff 0xff signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 calibration 0 0 0 0 no 2 0 0 0 0 0x00 0x00 Programmer Type : STK500 Description : Atmel AVR ISP Hardware Version: 2 Firmware Version: 1.18 Topcard : Unknown Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85 avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.11s avrdude: Device signature = 0x1e930b avrdude: safemode: lfuse reads as FE avrdude: safemode: hfuse reads as DF avrdude: safemode: efuse reads as FF avrdude: erasing chip avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85 avrdude: reading input file "0xe2" avrdude: writing lfuse (1 bytes): Writing | ################################################## | 100% 0.07s avrdude: 1 bytes of lfuse written avrdude: verifying lfuse memory against 0xe2: avrdude: load data lfuse data from input file 0xe2: avrdude: input file 0xe2 contains 1 bytes avrdude: reading on-chip lfuse data: Reading | ################################################## | 100% 0.03s avrdude: verifying ... avrdude: 1 bytes of lfuse verified avrdude: reading input file "0xdf" avrdude: writing hfuse (1 bytes): Writing | ################################################## | 100% 0.04s avrdude: 1 bytes of hfuse written avrdude: verifying hfuse memory against 0xdf: avrdude: load data hfuse data from input file 0xdf: avrdude: input file 0xdf contains 1 bytes avrdude: reading on-chip hfuse data: Reading | ################################################## | 100% 0.02s avrdude: verifying ... avrdude: 1 bytes of hfuse verified avrdude: reading input file "0xff" avrdude: writing efuse (1 bytes): Writing | ################################################## | 100% 0.03s avrdude: 1 bytes of efuse written avrdude: verifying efuse memory against 0xff: avrdude: load data efuse data from input file 0xff: avrdude: input file 0xff contains 1 bytes avrdude: reading on-chip efuse data: Reading | ################################################## | 100% 0.03s avrdude: verifying ... avrdude: 1 bytes of efuse verified avrdude: reading input file "tvbgone.hex" avrdude: writing flash (8132 bytes): Writing | ################################################## | 100% 15.85s avrdude: 8132 bytes of flash written avrdude: verifying flash memory against tvbgone.hex: avrdude: load data flash data from input file tvbgone.hex: avrdude: input file tvbgone.hex contains 8132 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 11.20s avrdude: verifying ... avrdude: 8132 bytes of flash verified avrdude: safemode: lfuse reads as E2 avrdude: safemode: hfuse reads as DF avrdude: safemode: efuse reads as FF avrdude: safemode: Fuses OK avrdude done. Thank you. Habiendo resultado exitosa la carga del firmware en nuestro microcontrolador, podemos proceder sin mayor demora a construir el circuito de acuerdo al diagrama esquemático mostrado anteriormente. La placa terminada se observa en la siguiente imagen: Como medida de protección adicional, podemos proteger nuestra pequeña placa con tubo termocontraíble de 1 pulgada.
Datos archivados del Taringa! original
3puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

h
hardrive9000🇦🇷
Usuario
Puntos0
Posts7
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.