Jump to content

Publicaciones recomendadas

Publicado
hace 12 horas, Tineo dijo:

se me retrasa el asunto debido a múltiples cuestiones pero no se me olvida.

 

 

 

a ver si consiguo preparar un prototipo y se lo envio a jnv para que lo pruebe en ese piloto escacharrao; 😋

creo que estos 28 leds dan suficiente potencia de iluminación; la cuestion es que el procesador tiene que estar "vivo"  para atender a los blinks de cierre-apertura con el mando. Quizás usar una señal de  tension a partir de la centralita confort.

si esta la marcha atrás conectada se puede considerar poner mas o menos leds para esa funcion; o incluso encender a blanco los 28 leds, 😎😎😎reduciendolo a 14 o 12 si estan los intermitentes activos.... será por ideas ehhh, jajajaja

 

Tamibien hay que estudiar consumos latentes para ver si es realmente viable y un modo "panic" para itv.

tengo considerados otros contratiempos pero serian perfectamente superables.

 

 

 

 

Mis quieres te mando mi coche para que hagas pruebas generales 🤣

 

me dais miedo y me dejais asombrado.


  • Respuestas 112
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Publicado
En 11/7/2018 a las 8:00, Serjio dijo:

 

Mis quieres te mando mi coche para que hagas pruebas generales 🤣

 

me dais miedo ...

 

Uhmmmm

Tenemos progresos, el aspecto programación está resultando menos complejo de lo que parecía, ya metidos en gastos le ponemos función dual completa y un efecto despliegue a la marcha atrás nooo??  Eso no lo tiene nadie,  ni los A8 nuevos  Jajaja

 

 

 

 

 

Publicado
hace 2 horas, Tineo dijo:

 

Uhmmmm

Tenemos progresos, el aspecto programación está resultando menos complejo de lo que parecía, ya metidos en gastos le ponemos función dual completa y un efecto despliegue a la marcha atrás nooo??  Eso no lo tiene nadie,  ni los A8 nuevos  Jajaja

 

 

 

 

 

Me gustaaaaaa !!

Publicado
hace 6 horas, Tineo dijo:

 

Uhmmmm

Tenemos progresos, el aspecto programación está resultando menos complejo de lo que parecía, ya metidos en gastos le ponemos función dual completa y un efecto despliegue a la marcha atrás nooo??  Eso no lo tiene nadie,  ni los A8 nuevos  Jajaja

 

 

 

 

 

Que pasada 👍

Publicado

Pongo aqui el codigo fuente, por si quereis echarle un ojo.

No es especialmente complicado;  unas definiciones al principio para hacer cambios rapidos en el comportamiento y un ciclo esperando cambios en las entradas:

 

#include <Adafruit_NeoPixel.h>

#define NUMERO_PIXELES   29


// BRILLOs (1 a 255) – valores altos requieren unos demandas de corriente muy altas y comprometen la fiabilidad de los leds
#define BRILLO_INTERMITENTE   200
#define BRILLO_MARCHA_ATRAS   160

#define RETRASO_DINAMICO 3  //numero de milisegundos de espera
#define RETRASO_DINAMICO_MARCHA_ATRAS 12  //numero de milisegundos de espera

#define RETARDO_CORTO  20   // un respiro al procesador esperando cambios en las entradas

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

const int  buttonPinINTERMITENTE = 1;    // señal intermitente en pin 1
const int  buttonPinMARCHA_ATRAS = 2;    // marcha atras en pin2

bool primer_ciclo=1 ;

// variables que gestionan las entradas y su estado anterior
int buttonStateINTERMITENTE = 0;         // estado actual INTERMITENTE
int lastbuttonStateINTERMITENTE = 1;     // estado anterior INTERMITENTE

int buttonStateMARCHA_ATRAS = 0;         // estado actual MARCHA ATRAS
int lastbuttonStateMARCHA_ATRAS = 1;     // estado anterior MARCHA ATRAS

 

#define DEBUG       0

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

 

void Intermitente( int estado){

int i=0;
if (buttonStateMARCHA_ATRAS == HIGH)   i=NUMERO_PIXELES/2;

if (estado==1)
{
 
  // hacer un barrido dinamico
     for (i; i<NUMERO_PIXELES; i++) {
    strip.setPixelColor(i, 255*((BRILLO_INTERMITENTE) )/255,
                           80*((BRILLO_INTERMITENTE) )/255,
                           0 *((BRILLO_INTERMITENTE) )/255 );
    strip.show();
    delay(RETRASO_DINAMICO);
   }

}
else{
  // apagar la tira

    for (i; i<NUMERO_PIXELES; i++) {
    strip.setPixelColor(i, 0,
                           0,
                           0 );
   }
   strip.show();
}
}


void marcha_atras( int estado){
if (estado==1)
{
  // hacer un barrido dinamico
     for (int i=0; i<((NUMERO_PIXELES/2)+1); i++) {
    strip.setPixelColor( (NUMERO_PIXELES/2)+ i, 255*((BRILLO_MARCHA_ATRAS) )/255,
                                                255*((BRILLO_MARCHA_ATRAS) )/255,
                                                255*((BRILLO_MARCHA_ATRAS) )/255 );
    strip.setPixelColor( (NUMERO_PIXELES/2)- i, 255*((BRILLO_MARCHA_ATRAS) )/255,
                                                255*((BRILLO_MARCHA_ATRAS) )/255,
                                                255*((BRILLO_MARCHA_ATRAS) )/255 );
    strip.show();
    delay(RETRASO_DINAMICO_MARCHA_ATRAS);
   }

}
else{
  // apagar la tira completamente
    for (int i=0; i<NUMERO_PIXELES; i++) {
    strip.setPixelColor(i, 0,
                           0,
                           0 );
   }
   strip.show();
}
}


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


void loop() {

  if (primer_ciclo ==1) {
      // codigo para una primera y unica ejecucion
      
      primer_ciclo=0;
     }

  bool finalizar_ciclo=0;

  // Leer los estados en las entradas de datos
  buttonStateMARCHA_ATRAS = digitalRead(buttonPinMARCHA_ATRAS);
  buttonStateINTERMITENTE = digitalRead(buttonPinINTERMITENTE);
 
  // comparar los estados por si ha ocurrido un cambio respecto al ciclo anterior
  if ((buttonStateMARCHA_ATRAS != lastbuttonStateMARCHA_ATRAS) | (buttonStateINTERMITENTE != lastbuttonStateINTERMITENTE) )
  {  
      // ALGUNA DE LAS DOS ENTRADAS DE DATOS HA CAMBIADO.....

 

     if (( buttonStateINTERMITENTE == LOW)&& (! finalizar_ciclo))
     {
        Intermitente(0);  finalizar_ciclo=1;
     }

      
     if (( buttonStateINTERMITENTE == HIGH) && (! finalizar_ciclo))
     {
        Intermitente(1);   finalizar_ciclo=1;
     }
  
      
     if ((buttonStateMARCHA_ATRAS == HIGH) && (! finalizar_ciclo))
     {
        marcha_atras(1); finalizar_ciclo=1;
     }

          
     if ((buttonStateMARCHA_ATRAS == LOW)&& (! finalizar_ciclo))
     {
        marcha_atras(0);
     }      

      
    

 
 
  }
  // le dejamos respirar al bucle
  delay(RETARDO_CORTO);
  // guardar los estados para un ciclo posterior
  lastbuttonStateMARCHA_ATRAS = buttonStateMARCHA_ATRAS;
  lastbuttonStateINTERMITENTE = buttonStateINTERMITENTE;
}

Publicado
hace 28 minutos, alcoscar dijo:

Es con arduino?

 

 

Seee,

Una versión simplificada y económica: Digispark (menos de dos euros en Aliexpress)

Utilizo el mismo IDE de Arduino y la librería para controlar a la tira led es Neopixel.

Publicado
hace 21 horas, Tineo dijo:

 

Uhmmmm

Tenemos progresos, el aspecto programación está resultando menos complejo de lo que parecía, ya metidos en gastos le ponemos función dual completa y un efecto despliegue a la marcha atrás nooo??  Eso no lo tiene nadie,  ni los A8 nuevos  Jajaja

 

Eres un crack Alberto.

Yo ya tengo el primer boceto de bastidor de aluminio donde irían pegados los leds.
La forma es decreciente porque el huevo va estrechando hacia el interior.
Pero también viene bien eso porque de esa forma la zona más estrecha queda fijada contra el plástico sobre 1cm, haciendo que el bastidor quede muy bien fijado.
IMG_2614.JPG.ac4b4ce397835774a1852323b6ed52c5.JPG

 

IMG_2613.JPG.bee59b88e1d34d632464b5955df49d68.JPG

Publicado
En 14/7/2018 a las 15:36, Tineo dijo:

 

Uhmmmm

Tenemos progresos, el aspecto programación está resultando menos complejo de lo que parecía, ya metidos en gastos le ponemos función dual completa y un efecto despliegue a la marcha atrás nooo??  Eso no lo tiene nadie,  ni los A8 nuevos  Jajaja

 

 

 

 

 

 

me dejas alucinado Tineo, eres un maquina 👏

Publicado (editado)
hace 6 horas, Brosi dijo:

Anda que no mola........CRACKS!!!!!

 

habria  que probarlo insitu antes de más avances

tendré que enviarselo a jnv y que ya lo pruebe con un cable usb.

hay varias cuestioenes:

 - potencia de luz y direccionalidad del haz. Aunque los leds tienen gran angulo de dispersion lo suyo seria que estuvieran todos igual de orientados.

- fallo de bombilla fundida y tratamiento de la señal canbus. En las pruebas esta con señales a 5v estables (no es problema convertirlo a 12v).

- dificultades en montaje etc.

 

vamos que estamos en estadios iniciales pero viable sí que es.

 

p.d.:  ya hay una version 0.3 y  he subido  #define RETRASO_DINAMICO    a 5 para un mayor efecto.  Con la marcha atrás se puede poner un retardo mayor en el despliegue.

 

Editado por Tineo
Publicado (editado)
hace 2 horas, Brosi dijo:

El intermitente es impresionante, pero lo de la marcha atrás es sublime!!!!!!

 

se le pueden poner más cosas sin que parezca una feria:

ralentizar algo el intermitnete o ponerle velocidad variable de manera que "acelere" en el extremo.

un efecto apagado cortina de marcha atrás; de manera inversa al encendido.

 

 

 

como veis aunque está contemplado,  no ocurre muchas veces tener intermitente puesto y marcha atrás (en proceso de aparcamiento en cordón  y poco más). Quizas habria que darle un tramo más grande al intermitente, actualmente es mitad y mitad.

Editado por Tineo

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.