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

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

Desconectado gringo_sergio

  • PIC10
  • *
  • Mensajes: 3
Re: Iluminar escaleras de manera progresiva
« Respuesta #105 en: 05 de Octubre de 2010, 23:30:15 »
El proyecto de wolfman es temporizado y me parece el mas logico ya que no depende de si la persona se vuelve o sigue, es mas parecido al metodo tradicional de pasillo pero con el efecto de barrido. para sensar se pueden poner IR direccionales de uso comercial como los de alarma o uno chino chiquito como este http://articulo.mercadolibre.com.ar/MLA-93284008-detector-de-movimientos-infrarrojo-pasivo-_JM son super economicos y  lo desarmas a tu gusto para que entre en cualquier hueco .

   Estaria bueno que wolfman suba el code para poder modificar los tiempos y ver si hacemos algo con pwm ...

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Iluminar escaleras de manera progresiva
« Respuesta #106 en: 06 de Octubre de 2010, 04:30:47 »
Yo mejor q eso utilizaria Estoesto  de parallax

Desconectado gringo_sergio

  • PIC10
  • *
  • Mensajes: 3
Re: Iluminar escaleras de manera progresiva
« Respuesta #107 en: 19 de Octubre de 2010, 23:34:13 »
Hola a todos!
Yo tambien me emocione con este proyecto y empece por mi lado con lo poco que se a ver que me salia, mas o menos tiene color, lo hice en el PSI y lo simule en proteus, coloque pulsadores para subir y bajar, pero se pone un par de infrarrojos y solucionamos ese tema.

El asunto de hacerlo modular no es nada complicado, habia pensado en hacerlo con 5 cables por modulo, 2 de alimentacion, uno de entrada y dos de salida.
Serian dos de salida por que hay que controlar cuando se sube o se baja la escalera, pero es posible reducirlo a un solo cablecito

Les dejo la simulacion por si alguien lo quiere probar, el codigo si quieren lo subo, pero es asquerosamente horrible, tengo que probar un poco mas con shifleft y shiftright, y si me sale lo que tengo en mente me ahorro una banda de codigo.

Saludos!

Martin

Martin, podes subir el codigo? a ver si lo podemos modificar para darle atenuacion al apagarse y cambiar los tiempos!

Desconectado wolfman77

  • PIC12
  • **
  • Mensajes: 82
    • Dos en la ruta
Re: Iluminar escaleras de manera progresiva
« Respuesta #108 en: 01 de Noviembre de 2010, 10:54:54 »
Lo busco y lo subo  :)

edicion: Perdi el codigo en la formateada de hace unas semanas, lo armo y lo subo, no es nada del otro mundo

Era algo asi el codigo, lo hago solo para puerto B, en el esquema que habia subido estaba extendido hasta el peurto C, pero es lo mismo. Se usa el puerto A como entrada igual al esquema)

Código: [Seleccionar]
inicio:
if porta.0 = 1 then goto baja 'Pulsador para encender las luces al bajar la escalera
if porta.1 = 1 then goto sube 'Pulsador para endender las luces al subir las escaleras
goto inicio


:baja 'secuencia para bajar escaleras
portb = 00000001
waitms 300
portb = 00000011
waitms 300
portb = 00000111
waitms 300
portb = 00001111
waitms 300
portb = 00011111
waitms 300
portb = 00111111
waitms 300
portb = 01111111
waitms 300
portb = 11111111
waitms 5000 'espera 5 segundos para comenzar secuencia de apagado
portb = 11111110 'comienza secuencia de apagado con delay de 1seg entre cada led
waitms 1000
portb = 11111100
waitms 1000
portb = 11111000
waitms 1000
portb = 11110000
waitms 1000
portb = 11100000
waitms 1000
portb = 11000000
waitms 1000
portb = 10000000
waitms 1000
portb = 0

goto inicio


sube: 'Secuencia para subir las escaleras1
portb = 10000000
waitms 300
portb = 11000000
waitms 300
portb = 11100000
waitms 300
portb = 11110000
waitms 300
portb = 11111000
waitms 300
portb = 11111100
waitms 300
portb = 11111110
waitms 300
portb = 11111111
waitms 5000
portb = 01111111
waitms 1000
portb = 00111111
waitms 1000
portb = 00011111
waitms 1000
portb = 00001111
waitms 1000
portb = 00000111
waitms 1000
portb = 00000011
waitms 1000
portb = 00000001
waitms 1000
portb = 0
goto inicio

end

letra mas letra menos... :P

Sl2

Martin
« Última modificación: 01 de Noviembre de 2010, 20:30:05 por wolfman77 »
Volviendo al mundo de los PIC....

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Iluminar escaleras de manera progresiva
« Respuesta #109 en: 19 de Noviembre de 2010, 00:32:07 »
Hola. Queria comentarles que el metodo de hacer pwm en cada pin de un PIC y conectarlos a un LED es demasiado engorroso... doy fe de ello, pues lo e echo. Veran, el cableado que se debe de hacer desde la caja de control hasta el ultimo led (en mi caso el 16vo) es muy laborioso y la instalacion demora mucho y es horripilante todo xD

Por eso, e obtado, despues de esa fea experiencia, hacerlo con un PIC en cada punto de la escalera. Se ahorra mucho cable y es mas facil la instalacion y todo. Ahora, pensaba en comunicar el PIC maestro con los mas de 16 pics esclavos que puedan haber a travez de i2c pero al parecer esto  no sera factible.

Bueno, solo queria comentarles esto a los q estan con este proyecto y piensan hacerlo de la 1ra forma... es muy pero muy engorroso, muchos cables, mucho mucho estres, mucho todo y de lo feo xD

Un saludo.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Iluminar escaleras de manera progresiva
« Respuesta #110 en: 19 de Noviembre de 2010, 03:14:56 »
Siempre he pensado que era la mejor solución Jeremy. ¿Porqué dices que no puedes hacerlo por I2C?

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Iluminar escaleras de manera progresiva
« Respuesta #111 en: 19 de Noviembre de 2010, 05:10:44 »
Por ESTO manolo que ya lo has visto al parecer. Pero como bien dices, con todas esas precauciones se puede lograr. De todas formas, me estoy convenciendo mas de que sera muy innecesario para este proyecto, pues todo es repetitivo.

Salu2

Desconectado splasma2

  • PIC16
  • ***
  • Mensajes: 131
Re: Iluminar escaleras de manera progresiva
« Respuesta #112 en: 19 de Noviembre de 2010, 06:12:30 »
Retomando la solución de un PIC (12F o 10F) por nodo:

- Una opción podría ser hacer una cadena de forma que cada nodo actuara como master I2C por un lado y como slave por el otro, beneficios : no hay problemas con la distancia ; inconvenientes:  yo no he localizado ninguna implementación I2C master para PIC pequeños y dos, si falla un nodo se rompe la cadena.
- Otra opción , incluir en cada nodo un driver-amplificador  de I2C, no sé si se puede hacer, en este caso lo mismo si se rompe un nodo, la cadena se va al carajo.
- tres, impelmentar un protocolo "especifico" con menos restricciones en distancia que el I2C, o ir más lento.

 :? :?

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Iluminar escaleras de manera progresiva
« Respuesta #113 en: 19 de Noviembre de 2010, 12:55:18 »
Bueno, en estos momentos yo lo estoy haciendo con varios PIC10F200 como esclavos y un 16F648A como master, pero solo lo estoy simulando en proteus. Lo del i2c, aparte de la complejidad de hacerlo funcionar en tanta distancia, es muy innecesario creo yo, pues el master envia el mismo comando n veces a todos los esclavos.

Desconectado Chipcon

  • PIC12
  • **
  • Mensajes: 63
Re: Iluminar escaleras de manera progresiva
« Respuesta #114 en: 19 de Noviembre de 2010, 13:09:11 »
Que tal creo que una solución menos engorrosa puede ser aplicando la interfase RS485 para esto se necesitaría agregar un driver sn75176 con esta opción solo se utilizaría un cable con 4 hilos VCC,D+,D- y GND la conexión es forma paralelo de este modo si se abre algún nodo no se perdería la comunicación con todos los dispositivos.

Otra sugerencia es utilizar un pic 16f628 o algún pic pequeño que cuente con UART lo que seria mas cómodo y rápido para la implementacion, pues se puede hacer una versión sencilla del protocolo DMX es decir generar un tiempo de espera para sincronizar los datos y después enviar los bytes con el brillo de cada escalón, la velocidad de la UART puede ser de 9600 bds.

La desventaja es se incrementa un poco el costo del armado al incluir estos componentes pero definitivamente queda mas profesional el proyecto
Saludos

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Iluminar escaleras de manera progresiva
« Respuesta #115 en: 19 de Noviembre de 2010, 13:26:03 »
Estaba en la cama sudando una fiebre cuando se me ha venido a la cabeza una solución a este problema, que creo que puede ser válida por sencilla y por barata.

Si no he entendido mal, el objetivo del proyecto es que con un sensor al comienzo (Nodo_A) o al final (Nodo_B) de la escalera, los peldaños comiencen a encenderse paulatinamente uno tras otro hasta el otro extremo de la escalera. Llamemos Tiempo_X al que transcurre entre el encendido de un escalón y el siguiente, y Tiempo_Y al que cada escalón permanecerá encendido hasta finalmente apagarse suavemente. Por último, llamemos Nodo_N a cualquier escalón que no sea ni el primero ni el último.

Con estos condicionantes se me ha ocurrido una solución que permitirá:
- que los nodos sólo tengan un micro de 6 pines sin necesitar un driver de comunicaciones
- que el bus de conexión sólo tenga las dos líneas de alimentación más un tercer hilo que irá de cada escalón hasta el siguiente
- que el modelo sea flexible y sirva para cualquier escalera de cualquier longitud
- que el programa sea único para todos los nodos

La solución sería:
- conectar cada micro a la alimentación
- conectar un pin adicional al sensor de inicio o final de la escalera. Los Nodos_N tendrán ese pin soldado a masa (o a Vdd, es indiferente).
- conectar otro pin del micro al micro del escalón anterior, este pin será N_Anterior. En Nodo_A estará conectado con pulldown a masa.
- y por último, conectar el sexto pin del micro al micro del escalón superior; este pin será N_Posterior. En el Nodo_B estará conectado con pulldown a masa

A nivel firmware tendremos un bucle principal donde se ejecutarán estas tareas:
- los pines N_Anterior y N_Posterior se definen como entradas y se leen continuamente por si alguno se levanta a 1.
- si un nodo recibe una señal del sensor, automáticamente levanta un pulso corto en sus pines N_Anterior y N_Posterior. Esto sólo puede ocurrir en Nodo_A o en Nodo_B, porque los demás tienen el sensor conectado a masa.
- si un nodo recibe un pulso por N_Anterior, enciende el led, pone en marcha un Timer para esperar el Tiempo_X y transcurrido ese tiempo activa su pin N_Posterior. El timer sigue contando hasta que pase el Tiempo_Y, momento en que el led se apagará progresivamente.
- si un nodo recibe un pulso por N_Posterior, enciende el led, pone en marcha un Timer para esperar el Tiempo_X y transcurrido ese tiempo activa su pin N_Anterior. El timer sigue contando hasta que pase el Tiempo_Y, momento en que el led se apagará progresivamente.

Creo que con eso estaría todo resuelto, pero obviamente es una idea que no he llevado a la práctica y habría que probar.



Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Iluminar escaleras de manera progresiva
« Respuesta #116 en: 19 de Noviembre de 2010, 14:43:02 »
Asi es... La solucion que le e dado es algo parecido a lo que has mencionado manolo, aunq no del todo pero solo uso un pin para comunicar a los demas PICs. Adjunto simulacion.


Desconectado splasma2

  • PIC16
  • ***
  • Mensajes: 131
Re: Iluminar escaleras de manera progresiva
« Respuesta #118 en: 19 de Noviembre de 2010, 14:59:52 »
Muy buena solución, tocayo.

Simple y flexible. Yo solo añadiría alguna pequeña proteccion en el código (debounce) para evitar que los nodos se activen por ruido en la linea de control.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Iluminar escaleras de manera progresiva
« Respuesta #119 en: 19 de Noviembre de 2010, 15:10:04 »
Sí, claro, se le podría poner una rutina antirrebotes que compruebe que el pulso recibido dura realmente lo que debe durar.