Jump to content

iluminacion ambiental 3.0


Tineo

Publicaciones recomendadas

un nuevo avance.... ya tiene vida propia!

 

ese pin que rozo con el cable es una entrada digital de datos (en este caso seria PUERTA ABIERTA):

es una señal de 5v implementado  con memoria de estado (recuerda el estado vigente y el anterior): si la señal deja el estado HIGH antes de terminar el ciclo, se lanza el siguiente ciclo de manera congruente

 

 esto pinta bien, faltan cosas como combinarlo con la otra entrada digital de ILUMINACION NOCTURNA.,

Editado por Tineo
Enlace al comentario
Compartir en otros sitios web


  • Respuestas 234
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

En 5/5/2018 a las 1:03, mil_ocho_t dijo:

... 

Pillo sitio que está interesante-

 

Uhmmmm,

En tu (afortunado) caso, yo me miraría una iluminación ambiental para el "engine avern" del V10.

 

Que pase de blanco a roja al arrancar a la bestia....

Como decía Sabina, nos sobran las ideas! Jiji

 

 

 

Enlace al comentario
Compartir en otros sitios web

Me gustan estos "bocaditos" que nos vas mostrando y que dejan claro que el "plato principal" será muy bueno!!

Personalmente creo que ese cambio de blanco a rojo con desplazamiento inmediato queda muy muy bien...me recuerda un poco al test de agujas del cuadro al arrancar.....cosas mías!!

 

Enlace al comentario
Compartir en otros sitios web

hace 28 minutos, Tineo dijo:

 

Uhmmmm,

En tu (afortunado) caso, yo me miraría una iluminación ambiental para el "engine avern" del V10.

 

Que pase de blanco a roja al arrancar a la bestia....

Como decía Sabina, nos sobran las ideas! Jiji

 

 

 

 

Lo anoto para futuras modificaciones que ahora tengo a Rocho en “otras fases de desarrollo”.

Enlace al comentario
Compartir en otros sitios web

hace 26 minutos, Farn68 dijo:

Me gustan estos "bocaditos" que nos vas mostrando y que dejan claro que el "plato principal" será muy bueno!!

Personalmente creo que ese cambio de blanco a rojo con desplazamiento inmediato queda muy muy bien...me recuerda un poco al test de agujas del cuadro al arrancar.....cosas mías!!

 

 

Los vídeos engañan, en vivo es mucho mejor efecto

 

 

 

Estoy por poner otra fase más para el coming home, 

Lo que no tengo claro es si le pongo otro efecto diferente sobre blanco o cambio de color ....

Azul?? Es solamente cuando entras y sales del coche

Enlace al comentario
Compartir en otros sitios web

hace 2 horas, Tineo dijo:

 

...

Azul?? Es solamente cuando entras y sales del coche

 

Bueeeenooo, valeee!

En azul quedaría muy GTI,  buscaremos alguna alternativa para el coming home, cómo es muy poco tiempo se puede buscar algo diferente u otros efectos sobre blanco.

 

 

 

Resumiendo..

Rojo: puerta abierta

Blanco: luces posición encendidas, a juego con la luz ambiental de pies.

Los estados permanentes quedarán muy atenuados.

 

Enlace al comentario
Compartir en otros sitios web

Yo no se si metería más colores. Pero por otro lado el blanco y el azul de llevan bien. Marcaría quizá la diferencia entre salida y entrada al coche con los colores.

- Rojo (cálido) bienvenida-entrada

- Azul (frío) despedida-salida

Es una idea....

 

 

Yo llevo las luces ambientales inferiores en led azul y cuando atenúan queda una atmósfera de lo más relajante...

Editado por Farn68
Enlace al comentario
Compartir en otros sitios web

hace 20 minutos, Farn68 dijo:

Yo no se si metería más colores. Pero por otro lado el blanco y el azul de llevan bien. Marcaría quizá la diferencia entre salida y entrada al coche con los colores.

- Rojo (cálido) bienvenida-entrada

- Azul (frío) despedida-salida

Es una idea....

 

 

Yo llevo las luces ambientales inferiores en led azul y cuando atenúan queda una atmósfera de lo más relajante...

Buena idea,

Veremos ver, también puede ser un cyan u otra cosa

Tengo toda la paleta RGB y otros 2 KBytes de memoria RAM para hacer cositas, jajjaja

Editado por Tineo
Enlace al comentario
Compartir en otros sitios web

hace 13 horas, Farn68 dijo:

...Yo llevo las luces ambientales inferiores en led azul y cuando atenúan queda una atmósfera de lo más relajante...

✌️

he probado con un cian claro y queda muy bien;  podría ser ya que no rompe apenas con la estética blanca y se ve diferente.

 

 

 

Falta por comprobar otros apartados como el reductor de tension de 12V a 5V para esas dos señales de entrada pero lo veo muy viable.

pondré por aqui el código fuente, para que le echeis un ojo. Lo estuve puliendo un rato, para que quede lo mas suave posible y más ligero para el probre procesador del digispark. La memoria ram aun esta al 74% asi que se le pueden meter más cosas!!!

Me da pena que ese minusculo ordenador de euro y medio pueda hacer todo esto.

Enlace al comentario
Compartir en otros sitios web

hace 1 hora, A4b8 dijo:

Hombre, si te da pena déjale algo de memoria para que pueda pensar, 😎

 

Saludos...

jeje

es que sólo tiene 6K para  (scripts Arduino)

 

 

 

ya tengo una version 0.7 que es utilizable, habera que ir puliendola un poco más.... se aceptan ideas:

 

#include <Adafruit_NeoPixel.h>


// datos constantes
const int  buttonPinPUERTA_ABIERTA = 2;    // puerta abierta en pin2
const int  buttonPinILUMINACION_AMBIENTE = 3;    // iluminacion ambiente en pin 3

// variables que gestionan las entradas y su estado anterior
int buttonStateILUMINACION_AMBIENTE = 0;         // estado actual ILUMINACION AMBIENTE
int lastButtonStateILUMINACION_AMBIENTE = 0;     // estado anterior ILUMINACION AMBIENTE

int buttonStatePUERTA_ABIERTA = 0;         // estado actual PUERTA ABIERTA
int lastButtonStatePUERTA_ABIERTA = 0;     // estado anterior PUERTA ABIERTA


// pin de datos de salida a la tira LED WS8212
#define PIN_DE_DATOS       0

// numero de pixeles de la tira LED (se requieren 3 bytes de RAM disponibles por cada led. MULTIPLO DE 5 )
#define NUMERO_PIXELES   70

// BRILLOs (1 a 255) – valores altos requieren unos demandas de corriente muy altas (valor tipico BRILLO MAXIMO 160)
#define BRILLO_MAXIMO   150
#define BRILLO_MEDIO    30
#define BRILLO_BAJO      8
#define PASOS_FADE_ALTO 200  //numero de pasos para fade a nivel alto
#define PASOS_FADE_BAJO 600  //numero de pasos para fade a nivel bajo

// ancho de la bola de luz  (valor tipico 100)
#define ANCHO_BOLA       150

// retardo que define la velocidad de avance
#define RETARDO_CORTO     25

#define DEBUG       0


Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMERO_PIXELES, PIN_DE_DATOS, NEO_GRB + NEO_KHZ800);

 

// cálculo de numero E elevado a x.  Esto es una aproximación valida si x<1
float EXP_optimizado(float x) {
  return (1.0/(1.0-(0.634-1.344*x)*x));
}

 

void un_barrido( int r, int g, int b){

bool sentido_a_izda=0;
float posX=0;

// PASO1: adecuar el nivel al nuevo color e intensidad media
for (int j=0; j<PASOS_FADE_ALTO;j++)
  {
   for (int i=0; i<NUMERO_PIXELES; i++) {
    strip.setPixelColor(i, r*((j*(BRILLO_MEDIO - BRILLO_BAJO)/PASOS_FADE_ALTO) + BRILLO_BAJO)/255,
                           g*((j*(BRILLO_MEDIO - BRILLO_BAJO)/PASOS_FADE_ALTO) + BRILLO_BAJO)/255,
                           b*((j*(BRILLO_MEDIO - BRILLO_BAJO)/PASOS_FADE_ALTO) + BRILLO_BAJO)/255 );
   }
   strip.show();
  }

// PASO2: BARRIDO....CON EL NUEVO COLOR
int j=2;
while ( j > 1  )
{
  if ((j<NUMERO_PIXELES) && (sentido_a_izda==0))  { j=j+1; }
  if (j==NUMERO_PIXELES) { sentido_a_izda=1;}
  if (sentido_a_izda==1) { j=j-1; }
 
  posX = (float) j / NUMERO_PIXELES;
 
  // repetir con cada pixel
  for (int i=0; i<NUMERO_PIXELES; i++) {
    // posicion de pixel en la escala 0.0 a 1.0
    float ppos = (float)i / NUMERO_PIXELES;
     // distancia del pixel al centro de la boal
    float distancia = ppos-posX;
    // establecer la intensidad de 0 a BRILLO_MAXIMO, segun distribucion gausiana
    strip.setPixelColor(i,
      (constrain( BRILLO_MAXIMO * EXP_optimizado(-ANCHO_BOLA*distancia*distancia),0,BRILLO_MAXIMO)+ BRILLO_MEDIO)*r/255 ,
      (constrain( BRILLO_MAXIMO * EXP_optimizado(-ANCHO_BOLA*distancia*distancia),0,BRILLO_MAXIMO)+ BRILLO_MEDIO)*g/255 ,
      (constrain( BRILLO_MAXIMO * EXP_optimizado(-ANCHO_BOLA*distancia*distancia),0,BRILLO_MAXIMO)+ BRILLO_MEDIO)*b/255 );
  }
  // una vez calculada la tira, enviar datos a la tira led
  strip.show();
}


// PASO3 del barrido, fade a intensidad baja en X pasos)
for (int j=PASOS_FADE_BAJO; j>0;j--)
  {
   for (int i=0; i<NUMERO_PIXELES; i++) {
    strip.setPixelColor(i, r*((j*(BRILLO_MEDIO - BRILLO_BAJO)/PASOS_FADE_BAJO) + BRILLO_BAJO)/255,
                           g*((j*(BRILLO_MEDIO - BRILLO_BAJO)/PASOS_FADE_BAJO) + BRILLO_BAJO)/255,
                           b*((j*(BRILLO_MEDIO - BRILLO_BAJO)/PASOS_FADE_BAJO) + BRILLO_BAJO)/255 );
   }
   strip.show();
  }
}

 

void setup() {
  pinMode(buttonPinPUERTA_ABIERTA, INPUT);
  pinMode(buttonPinILUMINACION_AMBIENTE, INPUT);
 
  // inicializar tira de led
  strip.begin();
  strip.show();
}


void loop() {

  // Leer los estados en las entradas de datos
  buttonStatePUERTA_ABIERTA = digitalRead(buttonPinPUERTA_ABIERTA);
  buttonStateILUMINACION_AMBIENTE = digitalRead(buttonPinILUMINACION_AMBIENTE);
 
  // comparar los estados por si ha ocurrido un cambio respecto al ciclo anterior
  if ((buttonStatePUERTA_ABIERTA != lastButtonStatePUERTA_ABIERTA) | (buttonStateILUMINACION_AMBIENTE != lastButtonStateILUMINACION_AMBIENTE) )
  {
      // Si se ha abierto al puerta....
      if (buttonStatePUERTA_ABIERTA == HIGH)
      {
        // si se ha abierto la puerta... transición a rojo
        un_barrido(255,0,0);
      }
     else  if ( buttonStateILUMINACION_AMBIENTE == HIGH)
           {
            // si se han encendido luces de posición... transición a blanco
            un_barrido(255,255,255);
           }
           else {
                // en otro caso, estado nulo.... transicion a  color cian
                un_barrido(0,255,255);
                }
  }
  // le dejamos respirar al bucle
  delay(RETARDO_CORTO);
  // guardar los estados para un ciclo posterior
  lastButtonStatePUERTA_ABIERTA = buttonStatePUERTA_ABIERTA;
  lastButtonStateILUMINACION_AMBIENTE = buttonStateILUMINACION_AMBIENTE;

 
}

Enlace al comentario
Compartir en otros sitios web

hace 3 horas, Grial dijo:

Cuando dejéis de hablar en klingon me avisais, jajaja !!

 

 

Pero si es que al final todo esto solo  es una pelotilla y  van  a ser cuatro cables que hay que pinchar. Está chupaoooo,!!!

 

 

 

P.d.  ya funcionan las dos entradas de datos

Editado por Tineo
Enlace al comentario
Compartir en otros sitios web

hace 8 horas, Tineo dijo:

 

Pero si es que al final todo esto solo  es una pelotilla y  van  a ser cuatro cables que hay que pinchar. Está chupaoooo,!!!

 

 

 

P.d.  ya funcionan las dos entradas de datos

 

Ya ... pero me parece que @Grial y yo somos más de la pelotilla y pinchar los cuatro cables que del hebreo ese que estáis hablando . 

No me entero de nada 😂😂😂😂

Enlace al comentario
Compartir en otros sitios web

Unirse a la conversación

Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, conecta ahora para publicar con tu cuenta.

Guest
Responder a esta discusión...

×   Pegar como texto enriquecido.   Pegar como texto sin formato

  Sólo se permiten 75 emoji.

×   Tu enlace se ha incrustado automáticamente..   Mostrar como un enlace en su lugar

×   Se ha restaurado el contenido anterior.   Limpiar editor

×   No se pueden pegar imágenes directamente. Carga o inserta imágenes desde la URL.

  • Explorando recientemente   0 miembros

    • No hay usuarios registrados viendo esta página.