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

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado leeboy

  • PIC10
  • *
  • Mensajes: 29
Iluminar escaleras de manera progresiva
« en: 15 de Abril de 2010, 10:47:56 »
Hola, antes de nada quería presentarme. Hace unos días vi un video en la página de hacknmod una persona que iluminaba los escalones de su casa mediante leds, el tema es que me gustaría hacer lo mismo. Un buen amigo me comentó que eso se debería de hacer con un PIC, yo creo que el sistema no es muy complicado de hacer, lo que pasa que soy practicamente un noob en el tema de la electrónica. Aprendí algo (a montar circuitos y a medir con el osciloscopio) en la universidad.

Me gustaría saber si alguno del foro podría ayudarme un poco. Tendría que adquirir todo desde el pic necesario, los leds, tambien me comentó mi amigo el uso de algún transistor para alimentar a los led con la potencia suficiente, así como el programador, aunque me recomendó el pic Kit 2, no he visto que programe pics de la familia 18Fxxxx que es la que me recomendó.

Adjunto el video de esta persona y espero sus respuestas.


Gracias, un saludo
« Última modificación: 15 de Abril de 2010, 18:34:26 por leeboy »

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Iluminar escaleras de manera progresiva
« Respuesta #1 en: 15 de Abril de 2010, 13:08:43 »
Hola leeboy:

Primeramente darte la bienvenido al foro de todopic.

Por otro lado, muy bonito tu proyecto, parece muy interesante veamos si con la ayuda de todos podemos hacer que tira para adelante y de paso aprendamos un poco más de elctrónica.

Primero comprate un programador barato, en este caso un pickit2 o pickit3 que yo sepa programan familias 18f ambas, de todas formas esperemos que otros  compañeros puedan confirmar esto último que te comento.

Respecto al pic te recomiendo un PIC18F442 o  PIC18F452 que es una familia muy usada comunmente y con bastante memoria y seguro que no tendrás ningún problema.

Por otro lado usa el compilador CCS y puedes hacer simulaciones con proteus, en el foro encontrarás mucha información sobre ambos programas.

Para programar esto necesitaras el MPLab que es muy fácil de usar, pero para ello antes tendrás que decirle al MPLab que el compilador de pics que quieres usar es el CCS, busca información por el foro sobre esto que hay.

Respecto a darle chicha a los leds siempre puedes usar o un transistor BJT o un Mosfet como bien prefieras.

Por otro lado para el control de los leds tendrás que usar PWM a alta frecuencia para controlar la luminosidad, o al menos eso creo...

Un saludete y suerte, cualquier avance que vayas haciendo como compra de materiales, que diodos has comprado, que barrera IR vas a usar, etc...publicala para que te vayamos ayudando entre todos.

Un saludete y suerte en el proyecto.

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Iluminar escaleras de manera progresiva
« Respuesta #2 en: 15 de Abril de 2010, 13:22:20 »
bueniiiiisimo!!!!! quiero sa iluminacion ya!  ;-)
saludos y bienvenido al foro!
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Iluminar escaleras de manera progresiva
« Respuesta #3 en: 15 de Abril de 2010, 14:36:27 »
Se ve muy bueno el proyecto, se tendrá que considerar un PWM para apagar los leds, y hasta quizá para encender. Ya que al menos en el video los leds no se apagan de golpe, sino bajan de intensidad su luminosidad. Pero seguro que se puede solo encender y apagar a secas, personalmente se ve más elegante con un encendido y apagado en aumento y descenso respectivamente.

Y quizá también escoger adecuadamente los LED, se puede tomar leds grandes de 1W o más potencia, o juntar varios pequeños de buen brillo de mucha menos potencia, para poder tener la iluminación adecuada.

saludos.
.

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Iluminar escaleras de manera progresiva
« Respuesta #4 en: 15 de Abril de 2010, 14:56:16 »
que buena idea esa iluminación....
El pickit2 programa la gran mayoria de la familia 18f tiene algunos problemitas con los tipos 18fxxJxx o los 18fxxKxx.
Vas a tener que ir pensando en como expandir los puertos. Todas las recomendaciones que te han dado son muy buenas. 

Saludos
LAS MALVINAS SON ARGENTINAS!

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Iluminar escaleras de manera progresiva
« Respuesta #5 en: 15 de Abril de 2010, 16:09:09 »
cerebro, que problemas tiene el pickit 2 con los J y K?
.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Iluminar escaleras de manera progresiva
« Respuesta #6 en: 15 de Abril de 2010, 17:19:13 »
Respecto al pic te recomiendo un PIC18F442 o  PIC18F452 que es una familia muy usada comunmente y con bastante memoria y seguro que no tendrás ningún problema.

Un breve comentario, el 18F452 ya es obsoleto. El 18F4520 es un buen reemplazo con mejor precio.  ;-)

Desconectado leeboy

  • PIC10
  • *
  • Mensajes: 29
Re: Iluminar escaleras de manera progresiva
« Respuesta #7 en: 15 de Abril de 2010, 18:34:02 »
Muchas gracias a todos, os iré manteniendo informados de como iré haciendo las cosas y lo que iré comprando para probar, de momento solo puedo deciros que he pedido unos led blancos de 15.000mcd y otro de 60lumenes para ver que es lo que me funciona mejor. Hoy pensando tambien se me ha ocurrido que en lugar de usar leds en el lateral, se podrían usar tiras de led SMD de estas finitas que no se ven ocupando todo el escalon, que os parece???

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Iluminar escaleras de manera progresiva
« Respuesta #8 en: 16 de Abril de 2010, 10:02:10 »
cerebro, que problemas tiene el pickit 2 con los J y K?

Algunas versiones de estos micros no figuran como programados por el pickit en MPLAB
LAS MALVINAS SON ARGENTINAS!

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Iluminar escaleras de manera progresiva
« Respuesta #9 en: 16 de Abril de 2010, 18:44:31 »
aah ok, no me sabía eso, veré cuales no los soporta el pickit2, pero no creo que sean muchos no?

saludos
.

Desconectado leeboy

  • PIC10
  • *
  • Mensajes: 29
Re: Iluminar escaleras de manera progresiva
« Respuesta #10 en: 17 de Abril de 2010, 08:29:56 »
Bueno, como por algo hay que empezar, os adjunto un "prediseño" que he hecho a ver que os parece, de momento para pruebas con proteus me valdrá (creo) pero se que tengo que ponerle un transistor delante de cada LED para obtener suficiente intensidad de luz en cada uno
Ahora mismo está con un pulsador que hará lo mismo que el receptor de IR para las pruebas en Proteus


Tambien he creado el siguiente código para el pic (pero no funciona  :( y no tengo ni idea por qué),

Código: [Seleccionar]
#include <18F4450.h>
#fuses XT,NOWDT
#use delay( clock = 4000000 )   // Reloj  de 4 MHz
#BYTE TRISB = 0x01            // TRISB en todos los puertos menos en el primero???
#BYTE PORTB = 0x06            // PORTB en 06h.
#BYTE OPTION_REG = 0x81      //OPTION_REG en 81h.


void main()
{

   setup_adc_ports(NO_ANALOGS|VSS_VDD);
   setup_adc(ADC_OFF|ADC_TAD_MUL_0);
   setup_wdt(WDT_OFF);
   setup_timer_0(RTCC_INTERNAL);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
//Setup_Oscillator parameter not selected from Intr Oscillotar Config tab

   // TODO: USER CODE!!
   bit_clear(OPTION_REG,7);      // Habilitación Pull-up
   bit_set(TRISB,0);            //B0 como entrada
   bit_clear(TRISB,1);         // B1 como salida
   bit_clear(PORTB,1);         // apaga LED
   while (1) {
   if (bit_test(PORTB,0) == 1 )  //Si RB0 es 1 apaga el LED
      bit_clear(PORTB,1);   
   else{
      bit_set(PORTB,1);         //Si RB0=0 enciende el LED
      delay_ms(1000);
      bit_set(PORTB,3);
      delay_ms(1000);
      bit_set(PORTB,7);
      delay_ms(1000);
      bit_set(PORTB,15);
    }
   }

}

alguna ayuda y/o sugerencia y/o crítica????

Muchas gracias de nuevo!!!

Desconectado leeboy

  • PIC10
  • *
  • Mensajes: 29
Re: Iluminar escaleras de manera progresiva
« Respuesta #11 en: 17 de Abril de 2010, 08:54:38 »
Bueno, usando el código que me ha sugerido un amigo, consigo encenderlas peeeeeeeeeeeeeero no consigo reconocer el evento del botón :(

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

void main(){
   while (1) {
      if ( boton == 0 ){
         OFF(led1);   
         delay_ms(1000);
         OFF(led2);
         delay_ms(1000);
         OFF(led3);   
         delay_ms(1000);
         OFF(led4);   
         delay_ms(1000);
         OFF(led5);   
         delay_ms(1000);
         OFF(led6);   
         delay_ms(1000);
         OFF(led7);   
      }else{
         ON(led1);   
         delay_ms(1000);
         ON(led2);
         delay_ms(1000);
         ON(led3);
         delay_ms(1000);
         ON(led4);
         delay_ms(1000);
         ON(led5);
         delay_ms(1000);
         ON(led6);
         delay_ms(1000);
         ON(led7);
      }
   }
}

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: Iluminar escaleras de manera progresiva
« Respuesta #12 en: 17 de Abril de 2010, 09:54:33 »
para leer el estado de los pines de un puerto el ccs tiene la función "input(pin)"
No se puede leer el estado del pin directamente.
Si te fijas en los warnings que te da el ccs al compilar vas a ver que hay una que dice condition always false, que es la línea del if...


debes hacer:

....if ( input(boton) == 0 )...

Desconectado leeboy

  • PIC10
  • *
  • Mensajes: 29
Re: Iluminar escaleras de manera progresiva
« Respuesta #13 en: 17 de Abril de 2010, 10:28:32 »
Gracias pablomanieri, eso lo solucioné, lo tenía mal puesto y con un poco de Google lo solucioné. Como mi circuito va a tener 2 sensores, quería que con uno se encendieran y con el otro se apagasen. He puesto otro interruptor en el pin PIN_C0 igualmente conectado a Vcc y con el siguiente código me ha funcionado

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


void main(){
   int presionado1, presionado2;
   int anterior = 0;
   while (1) {
      presionado1 = input_state(boton1);
      presionado2 = input_state(boton2);
      if ( presionado2 == 1 ){
            OFF(led1);   
            delay_ms(100);
            OFF(led2);
            delay_ms(100);
            OFF(led3);   
            delay_ms(100);
            OFF(led4);   
            delay_ms(100);
            OFF(led5);   
            delay_ms(100);
            OFF(led6);   
            delay_ms(100);
            OFF(led7);
            anterior = 0;
      }
      if (presionado1 == 1){
            anterior = 1;
            ON(led1);   
            delay_ms(100);
            ON(led2);
            delay_ms(100);
            ON(led3);
            delay_ms(100);
            ON(led4);
            delay_ms(100);
            ON(led5);
            delay_ms(100);
            ON(led6);
            delay_ms(100);
            ON(led7);
      }
   }
}

Así que en un sentido al menos ya lo tengo realizado, ahora solo me falta ver como hacer la disminución y aumento de intensidad al iluminarse!!!!

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Iluminar escaleras de manera progresiva
« Respuesta #14 en: 17 de Abril de 2010, 10:51:28 »
Bueno, llegue un poco tarde  :mrgreen: Pero comentar que con un micro 16F es más que suficiente para el proyecto, solo hay que tener en cuenta los pines I/o necesarios. Ahora el tema de aumentar y disminuir la intensidad, lo puedes hacer por software para cada pin, dado que se hace uno a la vez  ;-)


Saludos!
No contesto mensajes privados, las consultas en el foro