InicioCiencia EducacionArbol de navidad a leds con Microcontrolador


Este es un simple árbol de navidad con leds y que a su vez es de bajo costo.

Tal vez la palabra simple sea un tanto camuflada ya que posee un microcontrolador para lograr los efectos, pero hoy en día no hay mucho problema con ellos, aunque si no tienen idea de cómo programar tal vez puedan rediseñar el circuito por ejemplo para implementar un 4017 y un 555 para el encendido de los leds, o bien transistores.

La idea del proyecto también es impulsar a realizar algún proyecto tradicional como lo suelen hacer en otras partes del globo.

Volviendo al proyecto, es un secuenciador de luces con un PIC16F628A (se elige este por el bajo costo y por la cantidad de pines suficiente para este tamaño de arbolito), se pueden usar MCU mas chicos por ejemplo cualquiera de la línea 12F pero hay que multiplexar los leds creando una matriz para aprovechar sus 6 pines de datos.

Podríamos decir que lo más divertido de esto es diseñar el PCB ya que sea la cara visible del árbol y luego programarle los efectos, si bien en este proyecto yo hice más de 10 efectos diferentes, solo mostrare 3 para que no sea muy extenso el programa de ejemplo.
Como se puede ver en el PCB pueden agregarle mensajes y demas.

El circuito:





El Programa:


#include <16F628A.h>
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
#FUSES NOLVP
#FUSES NOCPD
#use delay(int=4000000)
void main(){
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_ccp1(CCP_OFF);
   setup_comparator(NC_NC_NC_NC);
   int i;
   while(true){
      i=0;
      while(i<10){
         output_b(0b01010101);
         output_a(0b00000101);
         delay_ms(400);
         output_b(0b10101010);
         output_a(0b00001010);
         delay_ms(400);
         i++;
      }  
      i=0;
      while(i<10){
         output_b(0b00110011);
         output_a(0b00000011);
         delay_ms(200);
         output_b(0b11001100);
         output_a(0b00001100);
         delay_ms(200);
         i++;
      }     
      i=0;
      while(i<2){
         output_b(0b11111111);
         output_a(0b00001111);
         delay_ms(200);
         output_b(0b00000000);
         output_a(0b00000000);
         delay_ms(200);
         i++;
      }  
      i=0;
      while(i<20){
         output_b(0b00010000);
         output_a(0b00000000);
         delay_ms(10);
         output_b(0b00000000);
         output_a(0b00001000);
         delay_ms(10);
         output_b(0b01000000);
         output_a(0b00000000);
         delay_ms(10);
         output_b(0b00000100);
         output_a(0b00000000);
         delay_ms(10);
         output_b(0b00000000);
         output_a(0b00000010);
         delay_ms(10);
         output_b(0b00001000);
         output_a(0b00000000);
         delay_ms(10);
         output_b(0b00100000);
         output_a(0b00000000);
         delay_ms(10);     
         output_b(0b00000001);
         output_a(0b00000000);
         delay_ms(10);    
         output_b(0b00000000);
         output_a(0b00000001);
         delay_ms(10);    
         output_b(0b00000010);
         output_a(0b00000000);
         delay_ms(10);
         output_b(0b00000000);
         output_a(0b00001000);
         delay_ms(10); 
         output_b(0b10000000);
         output_a(0b00000000);
         i++;
      }
   }
}




Datos archivados del Taringa! original
55puntos
442visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
6visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

s
sebabjt84🇦🇷
Usuario
Puntos0
Posts60
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.