Jump to content

Tineo

Miembros
  • Mensajes

    17391
  • Ingresó

  • Última visita

Todo lo publicado por Tineo

  1. es que sois unos peloteros...  lo más complejo del código es el cálculo de la campana de Gauss para conseguir una buena bola de fuego por la tira led y que el procesador no se le atragante tanto cálculo. ...y para eso hace falta calcular la funcion E elevado a X ( @Grial y @mil_ocho_t os voy a mandar de nuevo al instituto... o a la EGB ), que en este caso solo es aproximada. Para esto no hace falta precisión de cálculos astronómicos.
  2. 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
  3. 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; }
  4. debe ser sangre de unicornio. al fin y al cabo es parametrizar unos canales en la 46 y eso esta al alcance de vag-com.
  5. 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.
  6. 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
  7. 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.
  8. Foto del mío A4 B8 3.0tdi del 2008
  9. 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
  10. A mí me da igual, Mis fiascos son de dominio público, Lo que más gracia me hace es el tiempo empleado, yo suelo tardar un x2 o un x3 del tiempo que emplean otros en hacer lo mismo. Aquí algo falla, o soy un patan o me están mintiendo miserablemente, jajajaja
  11. 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
  12. Le ha tocado el retiro dorado de los Elegidos! Cuéntanos cosas de las incidencias mecánicas EGR, filtro partículas, inyectores... Cómo lo lleva??
  13. Y si salen mal, pues patada y atomarporcul.... Es lo guapo de todo esto, no siempre sale todo bien jajaja
  14. Prueba cortar una patata y fregarlooool..
  15. Creo que son todas las piezas mayores de la instalacion, solo faltan las tapas del pilar D donde van las carrileras laterales que alzan la cortinilla. Tienes la opción de recortarlas. Necesitas unos tacos laterales de fijación de carrileras, tornillería y todo el resto de la parte eléctrica, conectores, cableado, etc dependiendo si tú módulo 46 la puede gestionar.
  16. Menos mal que hay tdis con más de 50mKms/año Es un rara Avis. Carlos, Bienvenido a este apartado del foro!!
  17. Lo de la información en FIS, por lo que tengo mirado, los que mejor lo tienen conseguido son los de Xtrons.
  18. Puede ser el famoso calentador adicional de la guantera. Hay una campaña en los modelos más nuevos
  19. Cuál es la prueba? Lo mejor es que la "prueba" se la pasas a quien te vendió el coche, conectar un cable gordo de estos sin estudiarlo previamente puede desembocar en un coche incendiado.
  20. Como medida preventiva lo dejaría desenchufado, no se sabe si hay algún fallo/problema/ñapa tras él.
  21. Esa pieza es la toma de corriente general de batería (terminal 30) De ahí salen las mangueras a los grandes consumidores del coche, motor de arranque, ventiladores motor, etc... Indícanos el motor que llevas, eso hay que consultarlo en elsawin
  22. 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.,
  23. tened cuidado por esos habitaculos, todo un peligro de accidentes.
  24. Graciasss! Conectar RCAs Y En el minuto 10:40 aparece el cable azul que es la activación del amplificador decaltavoces traseros.
  25. Lo decía con ironía jajaja. La documentación suele ser "abundante", es algo inaudito que un problema tan recurrente no esté bien documentado en este foro 8p. Mira a ver, de momento no te puedo ayudar. suele ser conectar los RCA traseros y darle corriente al ampli (remote) con un cable azul que salga del equipo. Por lo que veo en el esquema de este 8p , los altavoces traseros están relacionados con algunos pines de la ficha verde.