Tabla de contenido:

LED programable: 6 pasos (con imágenes)
LED programable: 6 pasos (con imágenes)

Video: LED programable: 6 pasos (con imágenes)

Video: LED programable: 6 pasos (con imágenes)
Video: TUTORIAL LETREROS LED MNE 2024, Mes de julio
Anonim
LED programable
LED programable

Inspirado por varios LED Throwies, LED parpadeantes e instructables similares, quería hacer mi versión de un LED controlado por un microcontrolador. La idea es hacer que la secuencia de parpadeo del LED sea reprogramable. Esta reprogramación se puede realizar con luces y sombras, p. Ej. Podrías usar tu linterna. Este es mi primer instructivo, cualquier comentario o corrección es bienvenido. Actualización 2008-08-12: Ahora hay un kit disponible en la Tienda Tinker. Aquí hay un video de reprogramación. Perdón por la calidad.

Paso 1: cómo funciona

Se utiliza un LED como salida. Como entrada utilicé un LDR, una resistencia dependiente de la luz. Este LDR cambia su resistencia a medida que recibe más o menos luz. La resistencia se utiliza luego como entrada analógica a los microprocesadores ADC (convertidor digital analógico).

El controlador tiene dos modos de funcionamiento, uno para grabar una secuencia y el otro para reproducir la secuencia grabada. Una vez que el controlador nota dos cambios de brillo en medio segundo (oscuro, brillante, oscuro o al revés), cambia al modo de grabación. En el modo de grabación, la entrada del LDR se mide varias veces por segundo y se almacena en el chip. Si se agota la memoria, el controlador vuelve al modo de reproducción y comienza a reproducir la secuencia grabada. Como la memoria de este pequeño controlador es muy limitada, 64 bytes (¡sí, bytes!), El controlador puede grabar 400 bits. Eso es suficiente espacio para 10 segundos con 40 muestras por segundo.

Paso 2: Materiales y herramientas

Materiales y herramientas
Materiales y herramientas
Materiales y herramientas
Materiales y herramientas

Materiales - Resistencia 2 x 1K - 1 x LDR (Resistencia dependiente de la luz), p. Ej. M9960- 1 x LED de baja corriente, 1.7V, 2ma- 1 x Atmel ATtiny13v, 1KB flash RAM, 64 Bytes RAM, 64 Bytes EEPROM, [email protected] 1 x CR2032, 3V, 220mAh Herramientas- soldador - Alambre de soldadura- Tablero de pruebas- Programador AVR- Fuente de alimentación de 5V- Multímetro Software- Eclipse- Complemento CDT- WinAVRCosts en general deben ser inferiores a 5 $ sin las herramientas. Usé el ATtiny13v porque esta versión de esta familia de controladores puede funcionar a 1.8V. Eso hace posible ejecutar el circuito con una batería muy pequeña. Para que funcione durante mucho tiempo, decidí usar un LED de baja corriente que alcanza el brillo completo ya a 2ma.

Paso 3: esquemas

Esquemas
Esquemas

Algunos comentarios sobre el esquema. La entrada de reset no está conectada. Ésta no es la mejor práctica. Mejor sería usar una resistencia de 10K como pull up. Pero funciona bien para mí sin y ahorra una resistencia. Para mantener el circuito lo más simple posible, utilicé el oscilador interno. Eso significa que guardamos un cristal y dos pequeños condensadores. El oscilador interno permite que el controlador funcione a 1.2MHz, que es una velocidad más que suficiente para nuestro propósito. Si decides usar otra fuente de alimentación de 5V o usar otros LED, debes calcular la resistencia R1. La fórmula es: R = (Fuente de alimentación V - LED V) / 0.002A = 1650 Ohm (Fuente de alimentación = 5V, LED V = 1.7V). Usando dos LED de baja corriente en lugar de uno, la fórmula se ve así: R = (Fuente de alimentación V - 2 * LED V) / 0.002A = 800 Ohm. Tenga en cuenta que debe ajustar el cálculo si elige otro tipo de LED. El valor de la resistencia R2 depende del LDR utilizado. 1KOhm funciona para mí. Es posible que desee utilizar un potenciómetro para encontrar el mejor valor. El cicuit debe poder detectar cambios de luz a la luz del día normal. Para ahorrar energía, PB3 solo se establece en alto, si se realiza una medición. Actualización: el esquema era engañoso. A continuación se muestra una versión correcta. Gracias, dave_chatting.

Paso 4: ensamblar en una placa de prototipo

Montar en una placa de prototipo
Montar en una placa de prototipo
Montar en una placa de prototipo
Montar en una placa de prototipo

Si desea probar su circuito, una placa de pruebas es muy útil. Puede ensamblar todas las piezas sin tener que soldar nada.

Paso 5: programe el circuito

Programa el circuito
Programa el circuito
Programa el circuito
Programa el circuito

El controlador se puede programar en diferentes idiomas. Los más utilizados son Assembler, Basic y C. Usé C porque se adapta mejor a mis necesidades. Estaba acostumbrado a C hace diez años y pude revivir algunos de los conocimientos (bueno, solo algunos …). Para escribir su programa, recomiendo Eclipse con el complemento CDT. Obtenga eclipse aquí https://www.eclipse.org/ y el complemento aquí https://www.eclipse.org/cdt/. Para compilar el lenguaje C para los microcontroladores AVR, necesitará un compilador cruzado. Por suerte que tengamos, existe un puerto del famoso GCC. Se llama WinAVR y se puede encontrar aquí https://winavr.sourceforge.net/. Un muy buen tutorial sobre cómo programar controladores AVR con WinAVR está aquí https://www.mikrocontroller.net/articles/AVR-GCC- Tutorial. Lo sentimos, está en alemán, pero puede encontrar miles de páginas de tutoriales sobre ese tema en su idioma, si las busca. Después de haber compilado su fuente, debe transferir el archivo hexadecimal al controlador. Eso se puede hacer conectando su PC al circuito usando ISP (en el programador del sistema) o usando programadores dedicados. Usé un programador dedicado, ya que hace que el circuito sea un poco más fácil al ahorrar algunos cables y un enchufe. El inconveniente es que debe cambiar el controlador entre el circuito y el programador cada vez que desee actualizar su software. Mi programador proviene de https://www.myavr.de/ y usa USB para conectarse a mi computadora portátil. Hay muchos otros alrededor e incluso puedes construirlo tú mismo. Para la transferencia en sí, utilicé un programa llamado avrdude que es parte de la distribución WinAVR. Una línea de comando de ejemplo puede verse así:

avrdude -F -p t13 -c avr910 -P com4 -U flash: w: flickled.hex: iAdjunto puede obtener la fuente y el archivo hexadecimal compilado.

Paso 6: soldadura

Soldadura
Soldadura

Si su circuito funciona en la placa de prueba, puede soldarlo.

Esto se puede hacer en una PCB (placa de circuito impreso), en una placa prototipo o incluso sin placa. Decidí hacerlo sin ya que el circuito consta solo de unos pocos componentes. Si no está familiarizado con la soldadura, le recomiendo que busque primero un tutorial de soldadura. Mis habilidades para soldar están un poco oxidadas, pero creo que entiendes la idea. Espero que lo hayan disfrutado. Alex

Recomendado: