Autor Tema: GiroPlay: un display giratorio con vistas  (Leído 329085 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: GiroPlay: un display giratorio con vistas
« Respuesta #390 en: 06 de Julio de 2008, 18:05:54 »
Te felicito por el trabajo nocturno!!!! Quedo excelente!!!
Tengo ganas de hacer uno, y si no te molesta, te quiero preguntar un par de cositas:
1- El tema de la mecanica: como montas todo? tenes un pcb con los leds y el microcontrolador directamente agarrado al motor? Me preocupa q quede un poco desbalanceado y me doble el eje o algo asi (pienso usar un motorsito de un juego de mecanica q tenia de niño q se llama mecano)
2- Con respecto a la "sincronizacion": como haces? yo tengo pensado contar las rpm con un led y un foto transistor infrarrojo. Asi puedo saber donde comienzo a mostrar la "imagen", y cuanto dura cada led encendido.

Espero q me puedas dar una mano con esto, muchas gracias!!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: GiroPlay: un display giratorio con vistas
« Respuesta #391 en: 07 de Julio de 2008, 01:56:55 »
En esta primera versión, todo iba montado en una PCB en la que no me preocupé demasiado del equilibrio, porque lo que buscaba era hacer pruebas. Lo que hice fue dejar un hueco amplio para las baterías que me permitiera ponerlas más cerca o más lejos del eje hasta conseguir más o menos un equilibrio razonable.
Efectivamente no es la mejor solución, pero sí era una manera de conseguir resultados rápidos.
Para sincronizar uso un pequeño alambre que está sujeto a la parte fija del motor y un sensor óptico de corte que está en la parte giratoria. Obviamente con un led y un fototransistor quedará mucho mejor.
Suerte.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: GiroPlay: un display giratorio con vistas
« Respuesta #392 en: 15 de Julio de 2008, 14:28:21 »
Muchas gracias por los tips nocturno!!! esta misma tarde voy a la electronica a buscar los materiales para empezar con mi giroplay :D
Sigo pensando en la mecanica... pero bueno, vamos a ver que forma va tomando a medida q lo vaya armando.

saludos!!!

EDIT:
Ya tengo todos los materiales!!! y consegui unos LEDs azules q iluminan en un radio de 180º, asiq me imagino q se va a ver bien cuando termine :D
Lo que si, me preocupa el tema de la centrifuga... si el aparato va a girar a 25fps, serian unas 1500rpm... eso va a generar fuerzas considerables sobre los componentes... no hay peligro de q salga todo volando? el diametro de la base giratoria es de unos 15 a 20cm.
En fin, mañana voy a ir armando algo y les comento q salio, saludos!!!
« Última modificación: 16 de Julio de 2008, 00:58:09 por gera »

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: GiroPlay: un display giratorio con vistas
« Respuesta #393 en: 17 de Julio de 2008, 15:23:25 »
Hola a todos!! Esta vez vengo a pedir sugerencias sobre el software a ver si me dan una mano por favor.
Para sincronizar la imagen, indudablemente necesito saber a q velocidad esta girando el rotor (fps).
Para lograr esto, pienso utilizar los registros timer0 y timer1 (estoy utilizando un pic18f2550). El timer0 cuenta los pulsos generados por el fototransistor en cada giro, y el timer1 cuenta pulsos internos del pic. La idea es que cuando pase un segundo, el timer1 interrumpa, entonces voy a leer el valor del timer0, lo almaceno y lo reseteo. Y asi obtengo las fps.
Les gusta la idea? que me recomiendan?

El otro tema, es como generar la imagen. Lo que tengo en mente, es tener una matriz con los valores del puerto de los LEDs en funcion del tiempo. Entonces, voy cambiando ese valor secuencialmente. Lo unico a tener en cuenta, es el tiempo entre una imagen y la otra... el cual pienso calcular a partir del valor obtenido de los fps.

Voy bien? escucho toda clase de sugerencias. Muchas gracias!!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: GiroPlay: un display giratorio con vistas
« Respuesta #394 en: 20 de Julio de 2008, 02:55:55 »
Más que usar dos timers, yo usaría un timer y la interrupción Externa. Más o menos así:

- Configuras el timer para tener X pixeles en un giro de 360º, o sea, que desborde cada X/T_revolución. Cada vez que se ejecute la interrupción acumulas una unidad en Contador_Pixeles
- Configuras la interrupción externa para que salte cada vez que se vea el sensor de fin de vuelta
- En la interrupción externa podrás ver si Contador_Pixeles es igual a X. Si es igual no tocas nada.
Sin embargo, si Contador_Pixeles<>X, tendrás un nuevo T_revolución = Contador_Pixeles * PeriodoTimer. Ahora podrás configurar de nuevo tu Timer para que en la siguiente vuelta esté ajustado.

Esta rutina estará cambiando constantemente el "ancho" de tus píxeles mientras el motor está acelerando o decelerando, pero permanecerá estable cuando el motor alcance su velocidad de crucero normal.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: GiroPlay: un display giratorio con vistas
« Respuesta #395 en: 20 de Julio de 2008, 17:14:45 »
Muchas gracias Nocturno!!! Entendi la idea a la perfeccion!
Pero hay un problema... estoy usando un pic18f2550, y uso el puertoB del mismo para los LEDs (porq es el unico q esta completo), y las 3 interrupciones externas estan en RB0, RB1 y RB2 :S
como puedo solucionar esto?

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: GiroPlay: un display giratorio con vistas
« Respuesta #396 en: 20 de Julio de 2008, 17:26:55 »
También te sirve la interrupción del módulo CCP1, que está en RC2.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: GiroPlay: un display giratorio con vistas
« Respuesta #397 en: 20 de Julio de 2008, 21:06:43 »
Me tiraste la justa Nocturno!! Mil gracias compadre! No sabia de la existencia de dicho modulo jeje... eso me pasa por criarme con el 16f84 jajaja.
Gracias por todo y disculpa las molestias... pronto subire algo en funcionamiento ;)
saludos!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: GiroPlay: un display giratorio con vistas
« Respuesta #398 en: 22 de Julio de 2008, 21:14:28 »
Hola a todos!!! Vengo de pasada a mostrarles como va mi giroplay! :D
Le he dedicado varias horas, asiq espero q pronto este funcionando. Ya tengo lista la parte mecanica (robe un par de ideas de andrew jeje), y cabe destacar q me dio dolores de cabeza. No es del todo estable, pero se maneja jeje. Solo me queda la parte de programacion.
Bueno, aca van las fotos:




la idea era q la bateria estuviera adentro, pero el motor no dejo espacio, asiq tendre q comprar una bateria mas pequeña jeje.
Bueno, espero q les guste, vamos a ver q sale cuando tenga algo programado.
saludos!!!
« Última modificación: 22 de Julio de 2008, 21:18:03 por gera »

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: GiroPlay: un display giratorio con vistas
« Respuesta #399 en: 24 de Julio de 2008, 00:19:07 »
Foto de ultimo momento!!! Ya puedo dibujar lineas verticales jeje. Aunq creo q debo recalcular el ancho de los pixeles... pronto veran texto dando vueltas ;)


PD: q molesto q puede llegar a ser que el cuarzo este mal soldado... TODA la tarde testeando!! grrr

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: GiroPlay: un display giratorio con vistas
« Respuesta #400 en: 24 de Julio de 2008, 10:11:57 »
Re lindo, felicitaciones.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: GiroPlay: un display giratorio con vistas
« Respuesta #401 en: 24 de Julio de 2008, 11:42:14 »
Muy bonito te quedo  :mrgreen:
Veo que estas utilizando led de un solo color manejados por el pic  :mrgreen:
muy interesante, felicitaciones  :mrgreen:

Yo tengo el mio todavia engabetado :(   pero espero pronto sacarlo al ruedo  :D

Saludos

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: GiroPlay: un display giratorio con vistas
« Respuesta #402 en: 24 de Julio de 2008, 12:00:27 »
Muchas gracias!!! :D Ahora sólo queda hacer todos los arreglos con las letras del abecedario y los números. Y quizás uno q otro jueguito de luces.
Usé unos LEDs azules de alta luminosidad q tienen un "rango" de 180º. Voy a tratar de tener para esta tarde algo de texto.
Saludos!!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: GiroPlay: un display giratorio con vistas
« Respuesta #403 en: 24 de Julio de 2008, 13:13:19 »
Estare pendiente de tus adelantos  :mrgreen:

Para ver que me copio  :D :D :g)

Saludos

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: GiroPlay: un display giratorio con vistas
« Respuesta #404 en: 24 de Julio de 2008, 19:15:17 »
Dios!!! q manera de rabiar con la programacion. Nocturno, necesito de tu gran sabiduria T_T
Hice lo que me dijiste, pero no se por que no funciona... en que me estoy equivocando?
Por favor ayuda! Estoy a punto de largar el giroplay por la ventana! jaja
Muchas gracias!!


Este es el codigo que tengo:
Código: [Seleccionar]
#include <16f873a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,PUT,NOBROWNOUT
#use delay(clock=20000000)
#byte port_b=6
#use fast_io(b)

#define pixeles 60   //total de pixeles horizontales

//periodo de revolucion y periodo del timer1
float T_rev,T_tim;
int timer=0xFFFF,contador=0;
const float usxtick = 0.2;

int num[10][4]={{0x7E,0x91,0x89,0x7E},  //0
                {0x00,0x82,0xFF,0x80},  //1
                {0xE2,0x91,0x89,0x86},  //2
                {0x81,0x89,0x95,0x63},  //3
                {0x18,0x14,0x12,0xFF},  //4
                {0x8F,0x89,0x89,0x71},  //5
                {0x7C,0x92,0x91,0x60},  //6
                {0xE1,0x11,0x09,0x07},  //7
                {0x76,0x89,0x89,0x76},  //8
                {0x06,0x89,0x69,0xE3}}; //9
int espacio[4]= {0,0,0,0};

void escribir(char* letra)
{
   int i;
   for(i=0;i<=3;i++) //escribimos los 4 pixeles
   {
      port_b=letra[i];  //escribimos un pixel
      delay_us(T_tim);  //lo exponemos el tiempo calculado
   }
}
#int_ccp1
void handle_ccp1_int()
{
   timer=0xFFFF-(T_rev/pixeles)/usxtick;
   T_tim=timer*usxtick;
   if(contador!=pixeles)
      T_rev=contador*T_tim;
   contador=0;
   set_timer1(timer);       //reiniciamos timer1
}
#int_timer1
void handle_timer1_int()
{
   contador++;
   set_timer1(timer);       //reiniciamos timer1
}
void main()
{
   setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);
   setup_ccp1(CCP_CAPTURE_RE);
   enable_interrupts(int_ccp1);
   enable_interrupts(int_timer1);
   enable_interrupts(global);
   set_tris_b(0x00);
   port_b=0x00;
   
   while(TRUE)
   {
         escribir(num[0]);
         escribir(espacio);
         escribir(num[1]);
         escribir(espacio);
         escribir(num[2]);
         escribir(espacio);
         escribir(num[3]);
         escribir(espacio);
         escribir(num[4]);
         escribir(espacio);
         escribir(num[5]);
         escribir(espacio);
         escribir(num[6]);
         escribir(espacio);
         escribir(espacio);
   }
}

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein


 

anything