Autor Tema: Iluminar escaleras de manera progresiva  (Leído 52404 veces)

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

Desconectado leeboy

  • PIC10
  • *
  • Mensajes: 29
Re: Iluminar escaleras de manera progresiva
« Respuesta #30 en: 25 de Abril de 2010, 07:42:11 »
Yo simplemente os comento lo que me han ido contando. Está claro que por PWM yo soy el amo-dueño y señor de todo, jajaja, pero los que realmente sabéis sois vosotros. Le estoy dando una vueltecilla al circuito, así que cuando lo tenga más o menos enfilado y con el código bien, volveré a subir una capturilla a ver que os parece.

Cualquier otra idea será bienvenida!!!!

Desconectado Menta

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 607
Re: Iluminar escaleras de manera progresiva
« Respuesta #31 en: 25 de Abril de 2010, 11:10:56 »
Lo veo más óptimo y más barato, hacer esto del PWM con el PIC, incluso de esta forma con el PWM el pic va a estar muy ocioso, ya que lo único que hará es comparar variables auxiliares cada vez que se desbordan los temporizadores. Pero si es cierto que para alguien que no sabe programar muy bien en PICs le es más fácil lo otro...

Yo opino igual, lo aclaré, de todos modos si usa un solo pwm sólo podrá encender/apagar progresivamente un led a la vez. Yo usaría varios pwm por software (ésto es lo que digo se le puede complicar mucho a un novato, aunque puede obtener rutinas que estan por el foro). Con los capacitores a favor tiene que si querés encender todos al mismo tiempo lo podés hacer aunque sean 40 escalones, como contras tiene el costo y la imposibilidad de regular el tiempo de encendido/apagado, ya que eso queda determinado en la etapa de diseño por el valor de los filtros. Me parece que aunque yo yambién lo haría con pwm, no hay una sóla forma de hacer las cosas.
     

Desconectado vtasco

  • PIC12
  • **
  • Mensajes: 72
Re: Iluminar escaleras de manera progresiva
« Respuesta #32 en: 25 de Abril de 2010, 22:52:08 »
Hola Menta,

podrías poner un esquemático de tu circuito? aunque sea un sólo pin con su respectivo LED,sigo sin entender tu idea.

saludos

Desconectado leeboy

  • PIC10
  • *
  • Mensajes: 29
Re: Iluminar escaleras de manera progresiva
« Respuesta #33 en: 26 de Abril de 2010, 03:32:33 »
Tras mucho deliberar y darle vueltas voy a seguir con el diseño "original" es decir, usando PWM, aún no he aprendido, pero de eso se trata no???. Haré las modificaciones oportunas para tener un diseño final y lo colgaré aquí.

Respecto a lo de que hacer si el usuario se da la vuelta..........mi solución es: si el usuario no ha pasado por el otro haz en x segundos se cortaría, aunque según estoy escribiendo me viene la pregunta de.........y si vienen más personas???a lo mejor no debería controlar la salida y usar un periodo de tiempo, que creéis?

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: Iluminar escaleras de manera progresiva
« Respuesta #34 en: 26 de Abril de 2010, 04:22:36 »
Hola amigo, se puede hacer de muchas manera aunque en mi caso yo usaria sensores direcional PIR, pero para eso deberia saber Multiplexer , claro eso seria dificil para alguien que esta aprendiendo y para que tenga una idea, cada escalon un sensor y al detectar se enciende el led correspondiente y al salir de su zona se apaga dimmando, para eso debe usar el Timer del micro como explican arriba PWM, de verdad que seria un proyecto muy elegante. yo te recomendaria poner espejo a los laterales de cada escalon y asi el sensor detecta cada paso en su zona de direcion.
ideas hay muchas es cuestion de tu saber.
Saludos

Desconectado leeboy

  • PIC10
  • *
  • Mensajes: 29
Re: Iluminar escaleras de manera progresiva
« Respuesta #35 en: 26 de Abril de 2010, 05:46:34 »
Bueno, ya con diseño cerrado en principio, a falta de ajustar resistencias en cada led y que no se si el transistor que uso tiene que polarizarse o no sería el siguiente:

pd: 1 pregunta rápida, la resistencia mejor antes o despues del led???



Adjunto tambien el código de mi .c:

Código: [Seleccionar]
#include <18F4450.h>
#fuses HS,NOWDT
#use delay( clock = 4000000 )   // Reloj  de 4 MHz
#define botonAbajo PIN_C0
#define botonArriba PIN_C1
#define led1 PIN_B0
#define led2 PIN_B1
#define led3 PIN_B2
#define led4 PIN_B3
#define led5 PIN_B4
#define led6 PIN_B5
#define led7 PIN_B6
#define led8 PIN_B7
#define ON output_high
#define OFF output_low

void main(){
   int abajo, arriba;
   int inicioAbajo = 0;
   int inicioArriba = 0;
   
   for (;;) {
      abajo = input_state(botonAbajo);
      arriba = input_state(botonArriba);
      if ( arriba == 1 ){
         if (inicioAbajo == 0){
            inicioArriba = 1;           
            ON(led8);   
            delay_ms(200);
            ON(led7);   
            delay_ms(200);
            ON(led6);
            delay_ms(200);
            ON(led5);
            delay_ms(200);
            ON(led4);
            delay_ms(200);
            ON(led3);
            delay_ms(200);
            ON(led2);
            delay_ms(200);
            ON(led1);
         }else{
            OFF(led1);   
            delay_ms(200);
            OFF(led2);
            delay_ms(200);
            OFF(led3);   
            delay_ms(200);
            OFF(led4);   
            delay_ms(200);
            OFF(led5);   
            delay_ms(200);
            OFF(led6);   
            delay_ms(200);
            OFF(led7);
            delay_ms(200);
            OFF(led8);
            inicioAbajo = 0;
         }
      }
      if (abajo == 1){
         if (inicioArriba == 1){
            OFF(led8);
            delay_ms(200);
            OFF(led7);
            delay_ms(200);
            OFF(led6);
            delay_ms(200);
            OFF(led5);   
            delay_ms(200);
            OFF(led4);   
            delay_ms(200);
            OFF(led3);   
            delay_ms(200);
            OFF(led2);   
            delay_ms(200);
            OFF(led1);
            inicioArriba = 0;
         }else{
            inicioAbajo = 1;
            ON(led1);   
            delay_ms(200);
            ON(led2);
            delay_ms(200);
            ON(led3);
            delay_ms(200);
            ON(led4);
            delay_ms(200);
            ON(led5);
            delay_ms(200);
            ON(led6);
            delay_ms(200);
            ON(led7);
            delay_ms(200);
            ON(led8);
         }
      }
   }
}

Tanto el diseño como el código están totalmente dispuestos a cambios y modificaciones por los expertos que estáis por aquí

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Iluminar escaleras de manera progresiva
« Respuesta #36 en: 26 de Abril de 2010, 05:56:38 »
Las resistencias da igual antes o después.

Desconectado leeboy

  • PIC10
  • *
  • Mensajes: 29
Re: Iluminar escaleras de manera progresiva
« Respuesta #37 en: 26 de Abril de 2010, 06:17:20 »
Bueno, como me fueron comentando, voy poniendo los componentes:
Para los transistores: 2N2222A
PIC: 18F4450
Resistencias: 1K y 10k para el circuito del reset y por determinar las de los leds
Condensador 2u2 para el circuito del reset
3 pulsadores que pasarán a ser 2 células IR y un pulsador para el reset
Leds: unos que localicé por eBay, lo que ponen en ebay sobre ellos es lo siguiente:
Citar
You will receive 100 pcs 5mm White LEDs.

Free to provide 100 pcs resistors for 5V DC and 25 pcs resistors for 12V DC.

This is highly intensive, super bright White LED. It's so bright that you can't miss it!

Ideal for small fog light, interior illumination, signal indicator.

Several beautiful colors available: Red, Blue, Green, White etc. PLZ contact us
with email or message for all colors we provide. They are fully waterproof and completely shatterproof,and have been tested for performance and durability in extreme heat, vibration.

Product NumberLE-DS150
Product Name100 pcs 5mm White LED17000mcd & Free Resistor
Emitted ColorWhite/td]
Size (mm)5mm/td]
Lens ColorWater Clear
Peak Wave Length (nm)N/A
Static SenseYes
Forward Voltage (V)3.0 - 3.2
View Angle5 - 25°
Luminous Intensity (mcd)15000 - 17000
Maximum Curren20mA Continuous, 50mA peak for 10% Pulse Width
Item Net Weight75g / 2.7oz

pd: gracias por la aclaración Nocturno

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Iluminar escaleras de manera progresiva
« Respuesta #38 en: 26 de Abril de 2010, 06:48:51 »
Hola leeboy:

Citar
View Angle   5 - 25°

No sé cuanto quieres que ilumine, pero dependiendo de la longitud de las escaleras, deberías de hacer un cálculo del ángulo de apertura del led, ya que a lo mejor este led es poco divergente. Es decir, escaleras pequeñas, ángulo de apertura grande y escaleras grandes, angulo de apertura pequeño.

Un saludete y ánimo.

Desconectado leeboy

  • PIC10
  • *
  • Mensajes: 29
Re: Iluminar escaleras de manera progresiva
« Respuesta #39 en: 28 de Abril de 2010, 15:30:39 »
Bueno, tras una pequeña prueba que hice, con un programa de prueba, veo que necesito un cristal, pero no se como se pone, es decir, una patilla a Vcc y la otra a la del pic?? entre 2 patillas del pic??

Aquí está el datasheet http://datasheet.octopart.com/PIC18F4450-I/P-Microchip-datasheet-8042.pdf
mi duda es, en que patilla iría?en la 13 o la 15?o puenteando ambas?
Gracias de nuevo a todos!

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Iluminar escaleras de manera progresiva
« Respuesta #40 en: 28 de Abril de 2010, 19:14:51 »
Si tienes un cristal de este tipo...

Cristal

Es en las patillas 13 y 14 y luego poner en el #fuses el HS (High Speed).

Un saludete.

Desconectado Menta

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 607
Re: Iluminar escaleras de manera progresiva
« Respuesta #41 en: 29 de Abril de 2010, 01:27:05 »
En tu esquemático tienes los transistores al revés, emisor y colector invertidos...
     

Desconectado leeboy

  • PIC10
  • *
  • Mensajes: 29
Re: Iluminar escaleras de manera progresiva
« Respuesta #42 en: 30 de Abril de 2010, 06:10:40 »
Tengo una preguntilla (otra más)

A ver........tengo los leds conectados a los transistores (no como en el diseño, sino bien, o al menos eso creo). Si le meto corriente a los leds se iluminan todos un poco y cuando le pongo el 1 en la patilla correspondiente del transistor, se apagan todos y bien, alguna idea??tengo que polarizar el transistor??uso el 2n2222A

Gracias de nuevo

Desconectado leeboy

  • PIC10
  • *
  • Mensajes: 29
Re: Iluminar escaleras de manera progresiva
« Respuesta #43 en: 30 de Abril de 2010, 07:27:37 »
Me auto-respondo, voy a polarizarlo.......vaya cabecita la mía.....

Desconectado leeboy

  • PIC10
  • *
  • Mensajes: 29
Re: Iluminar escaleras de manera progresiva
« Respuesta #44 en: 06 de Mayo de 2010, 06:24:19 »
Buenas de nuevo,

tengo un pequeño problema con mi diseño, lo tengo puesto en la board. Todos los leds están colocados de igual modo (mismos transistores, mismas R's, todo igual), pero no se por qué en algunos aparece como un residuo de luz, en otros como si tuviera un 1 la patilla del PIC y está iluminado entero.....me tiene de cabeza, alguien sabe por qué puede ser???. Ahora mismo he puesto todas las patillas de los led a 0 (output_low()) y de 9 tengo 6 con algo de intensidad(de los cuales 1 parpadea) otro encendido a tope y 2 apagados(como deberían de estar los demás), no entiendo por qué unos están apagados y los otros no



 

anything