Electronica, Microcontroladores y Psicología
  POV TOY
 


Hola a todos de nuevo… empiezo el nuevo año con un nuevo proyecto, en realidad no es muy nuevo, lo hice hace algunos meses pero no había tenido tiempo de colgarlo. XD

 

Este proyecto consiste en mostrar imágenes en las llantas de una bicicleta. Para hacerlo haré uso de un fenómeno de la visión conocido como persistencia de visión que consiste en que la retina retiene la imagen unos instantes después de que ésta ha desaparecido, este efecto es usado en la TV que hace una barrido colocando píxel por píxel pero al hacerlo muy rápido se crea la ilusion de una imagen sólida.

 

Para este proyecto utilizaré un PIC 16F84 para prender y apagar los LED`S que estarán conectados al puerto B y crearan la imagen. La imagen se creará haciendo un barrido es decir se colocará hilera por hilera la imagen, para saber que numero debemos colocar debemos saber que imagen vamos a desplegar y dibujarla por pixeles como muestro a continuación:

                                              RB1   

  
                                         RB7

 

   

En las imágenes se ve como dividí los dibujos, ahora lo que se hace es simular cada hilera con el puerto B. El tiempo que debe permanecer una u otra hilera debe ser de unos 2 o3 ms aunque Uds. pueden cambiar el tiempo según les parezca, en el código coloque periodos de 1 ms por la velocidad a la que hacia girar la rueda.
 
Ahora el código:
 
#include <16f84.h>
#use delay (clock=4000000,restart_wdt)
#byte portb=0x06
 
main()
{
int contador=0;
int control=0;
set_tris_a(0x00);
set_tris_b(0x00);
output_a(0x00);
output_b(0x00);
 
while (1)
{
 
//Primera secuencia Muestra un corazon//
 
while (contador!=18)
{
output_b(0b00011100);
delay_ms(1);
output_b(0b00111110);
delay_ms(1);
output_b(0b01111110);
delay_ms(1);
output_b(0b11111100);
delay_ms(1);
output_b(0b01111110);
delay_ms(1);
output_b(0b00111110);
delay_ms(1);
output_b(0b00011100);
delay_ms(1);
 
output_b(0x00);
delay_ms(10);
control++;
 
if(control==200)
{control=0;
contador++;}
}
}
 
control=0;
contador=0;
output_b(0x00);
delay_ms(500);
 
//Segunda secuencia muestra la flecha//
 
 
while(contador!=15)
{
output_b(0b00111000);
delay_ms(1);
output_b(0b00111000);
delay_ms(1);
output_b(0b00111000);
delay_ms(1);
output_b(0b11111110);
delay_ms(1);
output_b(0b01111100);
delay_ms(1);
output_b(0b00111000);
delay_ms(1);
output_b(0b00010000);
delay_ms(1);
output_b(0x00);
delay_ms(10);
control++;
if (control==250)
{contador++;
 control=0;}
}
 
control=0;
contador=0;
output_b(0x00);
delay_ms(500);
}
}


Para la alimentación del circuito utilicé dos pilas de 1.5 voltios las cuales se conectaron directamente al circuito.
 
Ahora algunas imágenes del aparatito ya montado en la bicicleta:

 


Y hasta puse mi nombre!!!


Bueno espero que les haya servido y que lo puedan implementar, el esquema y la BRD las colgaré pronto.

SUERTE A TODOS Y HASTA LA PROXIMA.

 
   
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis