Arduino Forum

International => Español => Hardware => Topic started by: pincho41700 on Oct 27, 2014, 02:54 pm

Title: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Oct 27, 2014, 02:54 pm
Hola a todos,
estoi haciendo un cuadro de instrumentos de un vehiculo a displays.
La visualizacion va a ser:

temperatura
presion de aceite
velocidad
contador de km totales y parciales asi como km  de cambio de aceite en los mismos digitos(menu)
rpm
nivel de deposito

Necesito un arduino mega porque  tiene que tener 2 timer de 16 bit y 4 interrupciones.(timer 3 y 4)
Tambien he hecho un programita sencillo en processing para visualizar los datos en el ordenador
Os dejo los programas para que los veais
Todavia no esta trerminado, por si alguien quiere ayudarme o cambiar algo que vaya mejor de como lo tengo yo.

Una pregunta,
se podria hacer esto(la foto inferior), con elatmega 2560, hacer la placa manualmente yo?, lo digo porque esque casi no se ve las patillas y no se si se uniran cuando las suelde a la placa.
Tambien lo digo porque quiero incorpararle un cristal con correcion de temperatura para que sea muchisimo mas exacto.
Alguna idea mas?.





un saludo

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Oct 27, 2014, 03:03 pm
Os dejo los programas , un olvido.
ahh tambien os digo que los display los controla 4 max 7219
el archivo cuadro5 es en arduino
el archivo cuadro2 es en processing
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: ehrja on Oct 28, 2014, 11:43 pm
Interesnte proyecto, por un momento me quede pensando en hacer lo mismo a un tablero de un chevy que esta viejo y no funciona bien  ::)
La imagen esta muy pequeña y no se aprecia muy bien.

Los instrumentos los vas a fabricar con leds o los haras con una pantalla lcd, los leds me recuerdan el estilo retro, recuerdo que el coche de papa tenia los instrumentos de aguja pero en la parte central de todo el tablero estaba una pantala que marcaba la estacion FM / AM / la hora / la temperatura ambiente exterior, todo eso acomodado en tres secciones y los digitos color ambar.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Oct 29, 2014, 02:59 am
El proyecto ya esta algo avanzado y yo le pedi a pincho41700 que lo concentrara aqui.
Va a usar MAX7219 para comandar los Displays de LED 7 segmentos.

Tenemos (no necesariamente en este orden)


1) STRUCT (http://forum.arduino.cc/index.php?topic=263344.msg1860430#msg1860430)
2) CALIBRAR GY-85 MAGNETOMETRO (http://forum.arduino.cc/index.php?topic=265117.msg1873103#msg1873103)
3) COMO GUARDAR SEÑALES EN UNA VARIABLE (http://forum.arduino.cc/index.php?topic=266911.msg1894773#msg1894773)
4) Calcular revoluciones de un motor de combustion con Simulink (http://forum.arduino.cc/index.php?topic=272102.msg1921859#msg1921859)
5) VARIOS 75HC595 EN UN SOLO INTEGRADO (http://forum.arduino.cc/index.php?topic=272733.msg1931280#msg1931280)
6) Ayuda con Vectores (http://forum.arduino.cc/index.php?topic=272920.0)
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: ehrja on Oct 29, 2014, 08:10 am
Ha surbyte tu estas colaborando con pincho41700 en este mismo proyecto?

EXELENTE seguro que va a quedar de lujo  :smiley-cool:  ya the he leído en otros hilos de este foro y la verdad que me han parecido exelentes tus comentarios y he aprendido mucho de todos, bueno pues por aquí andamos saludos desde mexico...

espero pronto ver fotos y la guía completa para animarme a meterle mano a ese viejo chevy que tenemos parado afuera, funciona y se mueve bien pero el tablero de instrumentos esta pesimo, ya dio lo que tenia que dar, le medimos la gasolina a puro calculo mental.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Oct 29, 2014, 12:21 pm
hola ehrja,
ELcuadro lo voy a hacer con displays de 8 segmentos, ya si el coche es antiguo lo normal que sea un poco retro pero guapo.
Ademas el lcd no encaja bien en ese cuadro, no queda simetrico.
Menos mal que tenemos al maquina de surbyte y nos da una manita cuando nos quedamos atascados.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: maxid on Oct 29, 2014, 09:32 pm
Una pregunta,
se podria hacer esto(la foto inferior), con elatmega 2560, hacer la placa manualmente yo?, lo digo porque esque casi no se ve las patillas y no se si se uniran cuando las suelde a la placa.
Tambien lo digo porque quiero incorpararle un cristal con correcion de temperatura para que sea muchisimo mas exacto.
Alguna idea mas?.

Poder se puede, con una buena placa preestañada y flux de calidad se suelda. sino ve por el atmega1284 que viene en formato DIP
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Oct 30, 2014, 05:11 am
Es un proyecto interesante.
Yo solo quiero que este como encaminado para que los demas puedan seguirlo y al ordenar los post que ya hizo pincho tenemos todo el historial.
No se si tu nueva pregunta de interrupciones tiene que ver.
Si tiene que ver, te pido que las vayas haciendo aca.
Luego sería bueno que hagas como en un proyecto de ingeniería...
Delilmita tareas y ve cumpliendo paso a paso y entonces será mas facil. No saltes de un tema a otro.

Ejemplo hablas del programa en processing que creo esta en otro post pero no está aca.
Entonces.. tienes para ir nutriendo el proyecto pincho.
Vamos!!!
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Oct 30, 2014, 11:48 am
gracias maxid por contestar,
surbyte , yo tambien lo quiero hacer para que todos podamos seguirlo.
Las interrupciones son tambien para esto. Lo pongo en el otro foro porque en este no lo ve casi nadie, pero tambien se pude pasar aqui.
¿como un proyecto de ingenieria?
no te entiendo.
Creo que hablas de hacer memorias( pero cuando este terminado).
Lo estoi haciendo asi porque cada vez que me surge un problema lo suelto en el foro aunque lo pondre aqui tambien
En los archivos adjuntos el cuadro2.zip es el programa de processing. es el primero que hago en processing
(lo se me he equivocado  de nombre),

Surbyte pon en tu post lo de las interrupciones.

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Oct 30, 2014, 12:45 pm
Viendo lo acontecido, tendre que reformar todo y colocar 3 integrados 328p, uno por cada interrupcion,
y claro esta dividir todo entre 3.Tendre que usar I2c para comunicarse entre ellos y utilizar el timer2, ya que el I2C utiliza el timer1
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Oct 30, 2014, 03:12 pm
Para mi el enfoque esta errado.
Usa un MEGA que tiene varias interrupciones externas disponibles.

(http://c2n.me/jbExKN.jpg)

El mismo leonardo tambien es buena opción.

Pincho.. al final nos vamos a entender pero por ahora no.
Sigues tirando las cosas con cuenta gotas.
Para que quieres varias interrupciones?
Medicion de RPM supongo, solo 1.
que mas?
Consideraste leer todo del ODB II si es que está disponible en tu vehículo?
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Oct 30, 2014, 05:52 pm
Bueno surbyte.
Necesito 3 interrupciones:
1 para las rpm
2 para la velocidad
3 para el menu(boton),

para las rpm no hay mucho problema porque es 1pulso =1 vuelta.
para las velocidad es distinta.
36pulsos=1vuelta de rueda.(abs de la rueda),
y esta no la puedo perder porque perderia la suma de los km totales y parciales aparte de los km del cambio de aceite.
he calculado mas o menos y en un segundo a 120km/h se generaran en total  unas 800 interrupciones.
si pierdo algo de rpm me da igual, pero perder km no vale,
Tambien en el menu, el pulso avanza uno pero cuando lo dejas pulsado 10 seg el contador en el que se esta visualizando de pondra a cero, creo que asi es una buena forma de acerlo.
Que me deciis a esto?
En cuanto a OBD no tiene ( es todo mecanico)

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: max_saeta on Oct 30, 2014, 11:05 pm
Saludos
No tienes que contar los 800 pulsos.  Cuentas cuantos pulsos cada 100 milisegundos y lo multiplicas por 10. O tomas un muestro inferior y realizas el múltiplo.  Ningún sistema compuesto esta totalmente dedicado a una variable. 
Para la velocidad puedes hacer una interrupcion cada segundo y hacer un muestreo de 100 milisegundos y asi tienes una control de la velocidad. Asi tambien puedes hacer con las revoluciones.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: noter on Oct 31, 2014, 12:04 am
Hola.
Creo que tanto las RPM como la velocidad podrías calcularlas sin necesidad de interrumpir con cada pulso. ¿No sería factible utilizar los contadores del arduino? Podrías, por ejemplo, ajustar el de rpm a un desborde (interrupción) cada 10 impulsos, y el de velocidad cada 36 impulsos (vuelta completa de rueda).
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: ehrja on Oct 31, 2014, 12:10 am
¿se podría tener por ejemplo unos attiny 2313  dedicados a eso y que se comuniquen por serial cuando se a necesario?
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Oct 31, 2014, 05:53 am
Demasiado demasiado muchachos... ubiquemos las cosas. Pincho esta empezando de modo que su entusiasmo hace que pifie algunos penales.

A ver..
Como todos te decimos, no necesitas interrupciones o tantas como pretendes, Menos que menos para el menú. Asi que esas 3 descartadas y upaaa te quedan solo 2. Dos tiene el UNO asi mirá como cambia la cosa.
Asi que vamos a pensar todos en como leer las rpm, los Kmt x hora.

VUELVO A PREGUNTAR y lo hago con energía? Que vehiculo tienes? Tiene ODB II, investiga que es lo que te digo pero, basicamente todo auto mas o menos moderno tiene un conector ODB que permite diagnosticar y también comunicarse con la computadora del vehículo y entonces leer RPM, Kmts, consumo de combustible y muchas cosas mas.. Se ve?
Asi que dinos si tu auto tiene o no ODB,  marca modelo de tu vehículo o del que vas a montarle el display
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: ElEspanol on Oct 31, 2014, 10:29 am
que os parece usar pulseIn() y hacer un pro medio de 10 valores con un ringbuffer?  no cuesta ningún interrupt

No tengo experiencia con esto en la práctica,  pero creo que merezca la pena estudiarlo.

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Oct 31, 2014, 11:04 am
maxsaeta.
Yo creo que se pueden perder datos con la suma de los km y entonces seria desastroso.
no con las rpm , que me varie algo pues no pasa nada dentro de un margen , pero que me cambie los km uhh entonces puede ser un problema.

noter:
a los contadores te refieres a los timer no?
las interrupciones las tenemos con los timer2 ahora, ya que timer0 con  millis y demas de arduino, timer1 con I2C y solo me queda timer2 en el caso de arduino uno.
Si se utiliza el mega pues tendriamos mas timer y de 16 bits.
Explicate mejor que no te entiendo lo de los desbordes.

Ehrja:
se podria hacer pero nunca he trabajado con los attiny( tampoco seria un problema), pero creo que tambien es factible.

surbyte (ofuuu vaya prenda, jajajaj):

si el boton no hacemos una interrupcion como lo hacemos?, ahi me pierdo ya.
Te he dicho en el post anterior que no tiene OBD ni nada de nada es solo mecanico,
El coche es un mercedes 190 2.5D donde no hay una centralita( que alegria),
ya se que a traves de OBD se pueden sacar muchos valores pero este no lo tiene, con lo que hay que empeazar desde cero, por eso te dije que era un proyecto grande a mi parecer, todo a cero y a empezar.

elespanol:

Se lo que es un pulsein(), pero lo que dicen es que las interupciones se paran todo, y no se lo que es un ringbuffer y no te puedo contestar a eso.


Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Oct 31, 2014, 01:28 pm
Entonces ya que no tienes ODB vamos por partes.
Elije una medicion y la resolvemos, y asi vamos sumando okay.
Resolvemos mécanica, electrónica y software. Todo!!!

Ejemplo RPM.
Que vas a usar como sensor?
Hay chances de conectarte al tablero? Lo evaluaste? Sería una solución personalizada, o sea solo para tu vehiculo pero es lo que buscas no?.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Oct 31, 2014, 02:51 pm
Para las RPM, tiene un resorte en la polea de cigueñal y le he colocado un iman de neodimio para colocarle un sensor hall. He estado viendo viendo algunos industriales , tienen que ser redondos, de 14mm( es el sitio exacto del alojamiento del sensor), pero no lo encuentro superior a 85 grados, debe ser como minimo 120 grados, ya que el motor trabaja a 90 grados, sino tendre que hacerlo yo.( tampo es un grna problema).

que significa chances?, no te entiendo.

Para la velocidad lo mejor es cojer un buje de la rueda delantera con su sensor y filtrarlo a arduino (tampoco es un problema).

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: ElEspanol on Oct 31, 2014, 04:24 pm
un ringbuffer es un array de p.e. 10,  en este guardas los valores. una vez llegado a 10, se vuelve al index 0. es decir,  siempre estan los últimos 10 valores en el array. de este calculas el pro medio para suavizar las mediciones del pulseIn.

Otra idea para ahorrar interrupts.  conectas los sensores a entradas normales,  y con diodos todos tambien al pin 2. cuando hay un interrupt,  miras que otro pin esta en High y tomas las medidas correspondientes.

Espero haberme expresado bien,  el castellano no es mi idioma materna. 

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Oct 31, 2014, 05:31 pm
Te has explicado mejor que la wikipedia, porque en ella no lo he comprendido muy bien.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Oct 31, 2014, 08:22 pm
Bueno yo me pierdo pincho.. tal vez mi impaciencia o mi docencia (perdón por mi vanidad al respecto).
Tiro una tarea y resulta que la tienes lista pero no lo dices. Entonces?
Cual es el problema?
Te dejaré que lleves las cosas a tu gusto como corresponde, es tu proyecto porque no entiendes lo que te pido que hagas.
Y ya lo pedi como 3 o 4 veces y bue.. seguimos.

Te repito que no necesitas interrupciones.
Las teclas del menú no necesitan interrupciones y ya te dieron ejemplos y alternativas a no usar interrupciones para las RPM o KmH

Chances: Si existe la posibilidad de alcanzar la tripa del velocímetro y ahi en el tablero ver de tomar esa lectura. Lo mismo con las RPM si es que tienes indicador en el tablero de tu automovil.

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Oct 31, 2014, 09:24 pm
surbyte, que tu te pierdes?
pues anda que yo, estoi en un camino, y con la informacion que me habeis dado han salido 30 caminos y ninguno con el final visto.
El problema por parte mecanica ninguna ( porque soy mecanico), y por eso no he hecho ninguna pregunta de mecanica o sensores.
El problema esta en parte por software y hardware. y quizas despues por parte de las placas de baquelitas que haya que hacer( que seguramente seran de 4 a 5 placas).
No lo se que me has pedido como 3 o 4 veces, no lo veo.
En cuanto a las interrupciones, muy bien no hace falta. ¿como lo hago, poruqe no tengo ni idea de hacerlo sin interrupciones?, quiero Ejemplos o algo asi que pueda verlos.
como tu dices chances, el velocimetro le llega un cable , como los de toda la vida( un cable de acero), y RPM no los tiene.
Estoi peor que cuando empece , ajajaja.



Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 01, 2014, 12:44 am
Yo no pierdo nada y si molesto no aporto mas.
Lo que veo es que estas en los 30 caminos a la vez y te estoy pidiendo que resolvamos 1 a 1 pero no lo comprendes.
SI ya esta RPM entonces tildas y pasas a otra cosa.
Y asi
Pero quiere armar todo.. bueno.
Menues hay muchos, pero no dices que quieres hacer... yo no puede leer tu mente o te pido demasiado, tal vez sea eso.
En fin.. me calmo y te dejo hacer como quieras.

Prueba los 30 caminos a la vez entonces.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: ehrja on Nov 01, 2014, 03:35 am
JOJO... pero por favor señores,  si estaba muy interesante esto, no solo el proyecto en si, también el experimento social que sugirió Surbyte, pedir concentrar todo en un solo lugar para tener algo así como una bitácora del proyecto, y bueno exploto?

Quisiera hacer de mediador para hacerles entender que somos diferentes todos y que a veces por los pocos o muchos recursos que cada quien tenga es difícil comunicar una idea o seguir un solo camino.

En el foro estamos para echarnos la mano, aunque aveces estemos mal pero aprendemos del error..

En fin compañeros respiren profundo, y sigamos a delante.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: ehrja on Nov 01, 2014, 04:44 am
Quisiera sugerir que podrías usar un optoswitch para medir las RPM. este sensor abajo del capo tendrá cero interferencia con la luz del sol, ademas tendrás mas tiempo entre cada interrupción.

un sensor como este:
(http://www.digitaldandt.org/db/uploads/data_sheets_rev/Optoswitch/opto010.jpg)

Estas son las partes de la imagen adjunta:

1.- marca blanca
2.- banda del motor
3.- alternador
4.- sensor optoswitch
5.- soporte para sujetar el sensor

solo es una idea.

Moderador: Editado adjunto para ver la imagen

(https://forum.arduino.cc/index.php?action=dlattach;topic=275127.0;attach=101268)
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 01, 2014, 07:41 am
Surbyte nadie ha dicho que molestes, ni tu ni ninguno de los que habeis aportado alguna informacion.

En el menu que quiero hacer es el siguiente.
cuando arranca arduino el menu es 0
0 es la visualizacion de los km que faltan para cambiar el aceite.
a los 10 segundos el menu es 1;
1 es la visualizacion de los km totales del vehiculo.
y se queda ahi hasta que se le pulse el boton.
si se pulsa pasa a 2.
2 es los km parciales1,
si se pulsa  otra vez pasa 3,
3 es los km parciales2,
si se vuelve a pulsar pasa a 0
y se vuelve al principio.
Cuando estoy en cualquiera de ellos(en el menu), si pulso seguidos unos 10 segundos, quiero que la visualizacion  se ponga a cero.
Asi funcionan muchos cohes de aqui en europa.

Gracias erhja por la informacion,
pero he visto las cojidas que tiene y ha mi coche es complicado colocarle eso.

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 01, 2014, 08:01 am
Y otra cosa mas,
Estoi trabajando con la velocidad , aparte y esto no funviona bien,

Code: [Select]

#define VUELTARUEDA 1392.079481//longuitud que da la rueda por vuelta 195/60 r15 en mm
unsigned long TicksVel;
unsigned long OverVel;
unsigned long OverflowVel;
float Vel;
float prueba;

void setup(){
  Serial.begin(9600);

  // setup velocimetro
 EIMSK=1<<INT0;              // elijo la interrupcion externa 0 es el pin2
  EICRA=1<<ISC01 |1<<ISC00;  // elijo en rising ( en flanco de subida)
  TCNT2=0;                   //contador a cero del timer1
 
  //registros del Timer2 a 8bits
  TCCR2A=0;
  TCCR2B=0;
  TIMSK2=(1<<TOIE2);         // se activa los registros por overflow
  TCCR2B |= (1<<CS10);       // sin prescaler
  TIFR2=(0<<TOV2);           //el flag a 0
  OverflowVel=1;             //contador de flag a 1
     
}

void loop(){
 
  Vel = VUELTARUEDA/((TicksVel+(OverVel*256))*62,5/3600000);
  prueba = VUELTARUEDA/(1000000000/3600000);
  Serial.print("Velocidad: ");
  Serial.print(Vel);
  Serial.print(" TicksVel: ");
  Serial.print(TicksVel);
  Serial.print(" OverVel: ");
  Serial.print(OverVel);
  Serial.print(" Prueba: ");
  Serial.println(prueba);
  delay(100);
}


ISR(INT0_vect)
{
       
    OverVel = OverflowVel;
    TicksVel = TCNT2;
    TCNT2=0;
    OverflowVel = 1;
  }

ISR (TIMER2_OVF_vect)
{
  OverflowVel++;
}



Con la calculadora funciona perfectamente pero con el arduino, la formula de Vel es 0,
alguien sabe porque?
la formula prueba si funciona!
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: ehrja on Nov 01, 2014, 10:40 am


Code: [Select]
62,5/3600000);    // mira bien, hay una coma como punto decimal
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 01, 2014, 11:07 am
ahhh tienes razon.
Ahora esto si funciona.
gracias ehrja.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 01, 2014, 02:17 pm
Correcciones y mejoras.
No tantas cuentas, simplicar las cosas al pobre microcontrolador

Code: [Select]

  Vel = VUELTARUEDA/((TicksVel+(OverVel*256))*57600);     // 3600000/62.5 = 57600 );
  prueba = VUELTARUEDA/277.778         /// 277.778 = (10000/36);


Lo del menú que propones es facil de hacer.
Boton. Con cada cambio de estado de 1 a 0 p.ejemplo incrementas un contador y ese contador es tu cambio de menú. Cuando llega al tope, resetea para hacerlo circular y si lo mantienes X segundos o 10 como dijiste lo resetea también.

Por otro lado si puedes hacer semejante programa para medir la velocidad con interrupciones y timers esto es fácil de hacer.

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 01, 2014, 04:26 pm
buena correccion surbyte, gracias.

El menu esta implementado ya desde el post del principio , lo que no esta implementado es los 10 segundos para poner a cero  el menu correspondiente.
No se como hacerlo, si con  switch o con un flag ,
hay que ver que es lo que pesa menos.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 01, 2014, 05:44 pm
Bueno pincho no se si seguirtela como me dijiste por email/PM o no.. jajaja
de terror.
Yo me molesto por el orden y resulta que tiras algo que ya esta jajaja le pongo humor para no enojarme.

bien. La cuestión es que quería hacer que llevaras los pasos en organizadamente (soy ingeniero) y cuando programo que hago... intento identificar las tareas y ponerlas uniformemente. No tirar cosas que parecen inconexas.
Pero bueno sigamos en tu forma de ver las cosas... te lo voy a marcar hasta que funcione... y me vas a decir de todo hasta entonces, no me vaticinaste eso por email? jajajajajajaja

viendo tu programa cuadro5.ino

Las definiciones de los pines dedicados a los MAX7219 los puse como constantes, es una tontera pero alivia algunos bytes de memoria y hace a la buena programación.

Mira algunos cambios y algunos posibles problemas que he encontrado.
No son grandes cosas. Pero mejor definirlas ahora antes de seguir.

Cuando arrancas el loop lees sensores, y luego presentas en los MAX7219
Pero luego del menú tienes una consulta de superar cierto tiempo para actualizar y vuelves a presentar la misma info, entonces una cosa se solapa con la otra.
supongo que lo que quieres es mostrarlo cada 1 seg digamos para no apabullarse de leds que cambian a cada instante (molesta cuando eso pasa).

SEG5 que supuestamente debería ser 5 segundos tiene 10000 mseg. Ojo

Miralo y me dices.

adjunto el código.

Aca dejo por ahora. Mira si funciona lo de los 10 segundos en tu menú.
No se si funcionará o no
Code: [Select]

  int reading = digitalRead(BUTTON);
  if (reading != lastButtonState) {
  lastDebounceTime = millis(); // reset the debouncing timer
  }

  if ((millis() - lastDebounceTime) > debounceDelay) {
  // No importa lo que se lea, tiene que ser mayor que un retardo
  // debounce, y tomará ese como el estado en curso

  if (reading != buttonState) {  // si el estado del botón ha cambiado
  buttonState = reading;
  if (buttonState == LOW) {   // solo aumentar si el nuevo estado del boton es LOW
  Menu++;
  resetMenu = millis();
  }
  }
  }
 
   
      if ((buttonState == lastButtonState) && (millis- resetMenu > RESETMENU) || Menu == 4 ) {
  Menu = 0;
  }
  lastButtonState = reading;


Actualizo el nuevo sketch con esta corrección.




Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 01, 2014, 11:22 pm
jajajaj, ok,
el doble muestreo solucionado.
el SEG5 solucionado,
Lo que he escrito en mayusculas en el archivo son las correciones que has dicho,
Da error de compilacion y dice:
pointer a funtion used in arithmetic,
he cambiado el void menu por void menus porque daba error con la variable menu,
he puesto void a muestroinfo que le faltaba y daba error.
y la funcion menus ¿no la llama nadie?.
En fin esto es lo que me ha salido hasta ahora

Tambien hay una confusion eln el menu,
en el menu cuado se pulsa el boton va sumando (menu++) y cuando llega a 4 se pone a 0.
Si por ejemplo, estoi en el menu 2 y aprieto el boton 10 seg. la variable que tenga guardada ese menu se pone a 0.

subo el archivo.

PD: corregido al compilador( le faltaban los () a millis),
pero sigue sin funcionar.



Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 01, 2014, 11:34 pm
No probé nada asi que admito que pudo haber errores.
Lo del menu no era asi? yo entendí que estuvieras donde estuvieras si mantenías presionado 10 seg que fuera a 0. No era asi ?
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 02, 2014, 08:04 am
No,
Con cada pulso sumo 1, hasta cuatro que vuelve a 0,
y si pulso 10seg entonces en el menu donde estoi lo pone a 0, (como pueden ser los km parciales 1 y 2, o los km que quedan para cambiar el aceite.)
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 02, 2014, 04:32 pm
Y no funciona asi pincho? Creía que si.
Cuando menu == 4 va a 0 ya estaba y yo lo agrregué como una condición OR dentro del if.
La parte del if con los 10 segundos funciona?

Me cuesta a mi programar las cosas imaginando su funcionamiento asi que te voy a pedir algo.
decime cuantos displays usas para cada medición, rpm, kmh, temperatura, etc.
Asi armo una simulación en Proteus y si alguien quiere puede seguirlo mejor.
Eso si estas de acuerdo, tambien a ti te va a servir.

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 02, 2014, 04:36 pm
he hecho el menu con los 10 seg pero me esta dando problemas en el aumento del menu.
estoi por ejemplo en el menu 1 y pulso el boton durante 10 seg y me salta al menu 2 y me lo pone a cero el menu 2. Tambien le falta el rebote del pulsador.

Code: [Select]

//PULSADOR CON MENU

#define BUTTON 4 //Pin donde esta conectado el boton del menuun
#define SEG10 10000 //valor para cambiar desde el menu de aceite a km a 10 seg
#define CAMBIOMENU      10000   //valor para cambiar a 0 elcontenido del menu 10seg
unsigned int Menu; //menu con boton
boolean flagMenu,flagboton;
long inicioMenu;


void setup() {
  // put your setup code here, to run once:
 pinMode(BUTTON,INPUT);
 Serial.begin(9600);
 Menu = 0;      //Inicializa la variable Menu
 inicioMenu = millis();
 flagMenu = 1;
}


void loop() {
  // put your main code here, to run repeatedly:
  
if(inicioMenu + SEG10 <= millis() && flagMenu ==1){  //los 10 segundos se visualiza  del cambio de aceite a km
    Menu = 1;
    flagMenu=0;
  }
  
  if(digitalRead(BUTTON)==LOW && flagboton==1){
      
        Menu++;
        flagboton=0;
        inicioMenu = millis();
  }            
  if (digitalRead(BUTTON)==LOW && inicioMenu + CAMBIOMENU <= millis()){
        
        switch(Menu){
              
          case 0:Serial.println("case 0 a cero todo");break;//los kilometros del cambio de aceite a cero
          case 2:Serial.println("case 2 a cero todo");break;//los km pardiales1 a cero
          case 3:Serial.println("case 3 a cero todo");break;//los km parciales2 a cero
                //no te he puesto el case 1 porque no se pueden poner a cero
                //los km totales del coche
          inicioMenu=millis();      
        }
          
 }        
  
if(digitalRead(BUTTON))flagboton=1;
 
 if(Menu >= 4)Menu=0;
  
  
  Serial.print("Menu: ");
  Serial.println(Menu);
  delay(500);
  
}



se que tiene que ser una tonteria pero no lo termino de conseguir.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 02, 2014, 04:42 pm
No surbyte, lo de los 10 segundos pulsado no funciona.Lo del cambio de menu 0 a menu 1 a los 10 seg eso si,
No tengo problemas que ponga el esquema en proteus, yo es que no lo tengo, me gusta mas el arduino y montarlo.

Te digo, 4 max7219,
1 lleva temperatura con 3 displays y presion de aceite 2 displays
2 lleva velocidad 3 displays
3 lleva 7 displays (menu),
4 lleva rpm 4 displays y nivel de carburante 2 displays

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 02, 2014, 09:12 pm
Tengo un error de compilación y veo que menú no esta en el loop ni alguna otra función involucrada.



Code: [Select]
  if (inicioMenu + SEG10 <= millis() && flagMenu ==1) {  //los 10 segundos del cambio de aceite a km
     Menu = 1;
     flagMenu=0;
  }


Esta linea conspira con los 10 segundos para que Menu se resetee, hay que analizar que esta pasando

Encontré el error!!!

Code: [Select]
if ((buttonState == lastButtonState) && (millis - resetMenu > RESETMENU) || Menu == 4 ) {
  Menu = 0;
  }

millis estaba sin ( ) paréntesis.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: ehrja on Nov 02, 2014, 09:51 pm
de este estilo son los displays, cierto?
(http://www.sparkfun.com/images/tutorials/Clock/LSHD-5503.jpg)
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 03, 2014, 12:46 am
Bueno, simulación muy avanzada pero no funciona. Tengo Aceite, Nivel de Combustible, RPM simulados.
No cambia ningun display.

De cuanto es la Referencia Externa?

Los displays son de Anodo o Cátodo común?.

Entre qué valores varían las rpm si pusieras un generador de pulsos?

La eemprm 24C256 seguramente esta asi conectada no?

(http://1.bp.blogspot.com/-1qz8DpUWVb8/TXJn60XhFlI/AAAAAAAADlM/9VyOB6tSgOA/s1600/24LC256.jpg)
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 03, 2014, 09:05 am
bueno vamos por parte.

Surbyte
te dije que el problema estaba en los () de millis y no lo has leido.
el arduino lee la memoria y la pasa a las variables. eso funciona.( lo tengo montado).
La memoria esta como tu la has puesto.
#define DIRMEM      0X50      //direccion de memoria del 24c256
He creado con un arduino pro mini un generador de pulsos que varia con un potenciometro y el rpm esta funcionando, (para que funcione bien va desde 250 a 5000 rpm), pero me contabiliza hasta 24000 rpm bien (en el serial).

a que te refieres con referencia externa?, no se lo que significa.
Tambien te digo que las funciones de los displays no estan terminadas hay que terminarlas, (por lo menos lo veo en el serial) o en el processing.
La temperatura me funciona( tengo una NTC ).
La presion de aceite y nivel de combustible tambien me funciona( resistencias variables).

los displays algunos son de anodo y otros de catodo comun, pero eso no es ningun problema.Eso lo podemos cambiar.

ehrja
si son como esos, aunque los de los menus no se si poner el modulo de 6 displays para ahorrar trabajo.



Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 03, 2014, 12:17 pm
como que no y esto que es
Quote
Encontré el error!!!

Code: [Select]

 if ((buttonState == lastButtonState) && (millis - resetMenu > RESETMENU) || Menu == 4 ) {
        Menu = 0;
     }


millis estaba sin ( ) paréntesis.
Quote
He creado con un arduino pro mini un generador de pulsos que varia con un potenciometro y el rpm esta funcionando, (para que funcione bien va desde 250 a 5000 rpm),
Y la frecuencia o tomo 250/60 y 5000/60 y ya?

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 03, 2014, 01:08 pm
Y la frecuencia o tomo 250/60 y 5000/60 y ya?

Eso que significa, no te entiendo.
El generador que vaya de 250rpm a 5000 rpm.

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 03, 2014, 03:25 pm
Ningun generador entrega RPM, entrega una onda cuadrada de una frecuencia determinada.
Entonces tu frecuencia será 250 revoluciones x minuto
 1 min = 60 segundos => 250 rev/min x 1/60 (min/seg) = 250/60 = 4.16 Hz y la misma operación para el limite superior de rpm. 500 rpm = 83.33 Hz.
Ahora esto debe ser compatible con tu sensor.

Ahora bien, puede pasar que como leí por ahi uses un sensor que cuando da una vuelta el cigÜeñal tu tomes ese pulso. Bien en ese caso tu lectura es otra cosa.
Supongamos para cuentas fáciles que tu cigueñal esta a 1200 rpm o 20 hz (1200/60 rev/seg o Hz) entonces tendrás un pulso cada 1/20 Hz = 50 mseg.
Una manera apropiada de leer las rpm es justamente medir el período de la señal, porque se mide con menos error que si quieres ver cuantos pulsos tienes en 1 seg o en 0.1 segundos si cambias la ventana de tiempo.
Si mides frecuencia tomas un tiempo conocido (0.01, 0.1 o 1 seg) y cuentas pulsos.
Si mides período en este caso leeras el tiempo entre dos flancos que suben usando la interrupción por ejemplo o con el timer. Esta última forma de medir es mas apropiada para bajas frecuencias como en tu caso.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 03, 2014, 04:01 pm
Si hombre , ya sabia que los generadores no entregan rpm, sino frecuencia.
Para las rpm tenemos la formula en el archivo.

es esta.
Rpm=(16000000/(Ticks+(1+65535)*Overflow))*60;

estan medidas por los timer y funcionan muy bien.
Si con las interrupcionees y los timer lo podremos conseguir ( y un cristal muy exacto), que sea bastante exacto.

VOLVEMOS ATRAS.
prefiero hacer la velocidad con interrupciones que es lo mas exacto, y las rpm como tu decias que no hace falta interrupciones, pero no se como hacerlo. O poner 2 arduinos (no se por donde tirar).
Tu que decides?

A SUS ORDENES MI SARGENTO, JAJAJJAA

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 03, 2014, 04:45 pm
No... dos arduinos no. Saquemosle el jugo al máximo que tiene que poder y puede.

Uds es el cabo primero asi que respeto!!
Bien cabo, yo voy a intentar hacer funcionar los display. Asi veo algo.

El cristal exacto es el que tenés. Si medís frecuencia para no recuerdo menos de 10k se mide con mas error que leyendo período. Asi que conviene siempre medir T y hacer 1/T para tener las Rpm.
Pero eso es hilar fino.
A lo que voy es que vos no haces propagación de errores.. uno arrastra errores de todo tipo antes que ponerse a pensar en tener un cristal compensado en temperatura con pocas ppm de corrimiento x grado Celcius.
Igualmente como te dije es hilar fino.

Solo para hacer un poco de memoria a ver si me sale como era el cálculo de la frecuencia de cruce de una y otra medición, es decir, donde conviene medir f y donde T.

si fc = frecuencia del clock (reloj)
y fx = frecuencia desconocida que quiero medir
si mido Periodo tendre Np pulsos = fc/fx

Si mido frecuencia en una ventana de 1 segundo tendre Nf = fx o sea en 1 seg vere fx pulsos.

cuando se igualan Np y Nf

tengo => Np = Nf  eso para una frecuencia que llamara fcruce

=> fc /fcruce = fcruce => fcruce = sqrt(fc)

como fc en arduino es 16Mhz => f cruce = 4000 hz lo que indica que para todo lo que este por encima de 4000 hz conviene medir x frecuencias y por debajo por período.

Bien terminó el momento del recuerdo, era para ver si me acordaba.. mira que hablaba de 1000 Hz y nada que ver.
Otra cosa.. si cambias la ventana de 1 a otra cosa cambia el cálculo. Ojo.


Decime:

1) Referencia Analógica Externa: Qué valor tiene?

2) Te molesta si uso la librería de los Max7219 en lugar de lo que tenes hecho con shiftout?
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 03, 2014, 06:28 pm
Mi sargento,
no empezamos bien desde el princio, yo tenia hecho ya mucho(pero algunas cosas mal).

actualmente la analog referencia esta a 3,3v que es la salida del arduino. Pero si vamos a poner un IC solo seria mejor colocarle a 5V con el 7805 o con regulador que me dijiste el lm2596( que por cierto vienen de camino 5).
tambien queria usar la libreria que tu has dicho, pero queria terminar los problemas anteriores que tenia. Usala sin problemas y sube el archivo para ponerlo al arduino.

SUS DESEOS SON MIS ORDENES MI SARGENTO.

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 03, 2014, 07:42 pm
Bien cabo, entonces yo te resuelvo el tema display MAX7219 y asi un problema menos, te parece?

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 03, 2014, 07:52 pm

ok sin problemas.

Te dejo un video de como esta funcionando el arduino.
el primer numero  es la temperatura
el segundo  presion de aceite
el tercero velocidad
el cuarto km
el quinto RPM
el sexto nivel de deposito
el septimo numero del menu

el menu cambia a los diez segundos pero le pulso y no cambia.

http://youtu.be/fittgcMqw2w (http://youtu.be/fittgcMqw2w)

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 03, 2014, 11:17 pm
Eso ya lo habia logrado.
Ya casi tengo los displays.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: maxid on Nov 04, 2014, 02:45 pm
Para el cuenta vueltas y km, se usa un divisor, el cual lo puedes setear en 10, 8, 6 segun necesites.
Este metodo se usa en los frecuencimetros que leen incluso hasta Ghz.

Otra forma que se usaba antiguamente era usar un conversor de frecuencia a voltaje y lo lees por el AD.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 04, 2014, 04:00 pm
Yo estoy hablando de la forma mas precisa para medir las rpm o vueltas y Maxid (con la mejor intención claro) sale con un conversor de frecuencia a tensión, que claro funciona, pero son recursos para tener una idea de que valor en frecuencia tienes pero a costa de un 5 a 10% de error como optimista.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: maxid on Nov 04, 2014, 09:34 pm
hablo de opciones.
Lo mejor es un divisor que a n vueltas envie un pulso y la rutina de calculo tenga el suficiente tiempo para todas las operaciones antes del proximo pulso al maximo de revoluciones.
Incluso puedes hacer una auto escala para cuando va muy lento bajando el divisor.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 05, 2014, 09:43 am
gracias maxid por las aclaraciones y por contestar en este post.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 05, 2014, 02:15 pm
Pincho, te cuento que ayer y hoy estuve con el simulador y ajustando los MAX7219 que hice andar en otra solución mas simple, 1 UNO, un MAX y LED.
Anduvo perfecto.
En tu proyecto, no hay caso, por ahora. Muestra basura. He comentado todos los leds y me quedé solo con RPM y Aceite y lo mismo.
Habia errores en la tensión de referencia externa de la simualción que ya arreglé. Hice andar casi todos los sensores simulados.

Pero aunque el dato llega bien, no lo presenta.
Investigo si tus operaicones con los timers capturan los pines correspondientes como para luego no poder usarlos con los MAX7219.
Sospecho que los timers me estan enviando pulsos cuando dan overflow por ejemplo y eso interfiere con el funcionamiento del display, pero cambie el clock a otro pin y nada.

Queria comentarte para que veas donde estoy trabjando para ayudarte.

Si queres te pasó ambos archivos para que veas la situación temporal.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 05, 2014, 06:46 pm
ok,
porque a ti no te funciona, y en el serial si funciona? no lo comprendo eso.
madame los archivos para ver como estan funcionando y asi poder comentar .
que me tienes abandonado mi sargento.
Estoi con el menu pero no lo consigo del todo.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 05, 2014, 07:45 pm
ahhh porque vos lo estas usando por processing y yo no.
A ver, me tengo que poner a usar processing... joder como dicen los espaÑoles.
Amplio mi respuesta.
SI funciona, el serial envia datos que ya te posteo para que veas, pero, cuando los quiero ver por los displays no se lee nada coherente.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: maxid on Nov 06, 2014, 04:21 pm
Surbyte, que simulador usas para arduino?
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 06, 2014, 10:43 pm
Proteus

a punto de poner processing y ver como cambia la cosa.
Bueno, decepción, esperaba que x processing le enviaras datos pero veo que lo haces directamente x vía física.
Deberé alterar la simulación, poner un DB9 Serial y hacer todo para que presente ahi.
Igual no soluciona el problema de los displays.

Mañana sigo, hoy tengo trabajo que entregar.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 07, 2014, 10:29 am
joser surbyte,
tanta complicacion tiene para simular los led, no sabia que fuese tan camplicado.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 07, 2014, 11:55 am
Ninguna complicación. Solo que pensé que algo hacias con processing pero solo mostras lo que yo veo por los leds.
El problema de los leds es que sin dejo pines sin conectar hace cosas raras. nada mas. Le asigné conexiones a cada uno y ya se porta mejor. Estoy viendo.

Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 11, 2014, 12:07 am
Pincho tenemos seguidores que reclaman que pasa con el proyecto, yo hice avances.
Solucionado displays. Ya andan bien.
Processing me defraudó pero funciona jajaja.
Modifiqué la rutina que lee los RPM, ahora cuando le ingreso una señal con el simulador la lee con gran precisión.

Esta es la rutina
Adjunta abajo

Se ingresa por pin2 y usa la interrupción externa y el timer como lo hace pincho.

Luego edito y pongo de donde la saque.

Los módulos LED de Proteus deben manejarse con cuidado.
No intenté usar LEDs 7seg simples a ver que pasa.

Pronto subo los cambios.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 11, 2014, 10:32 am
ya se que tenemos seguidores, con solo ver el numero de visitas ya es una alegria.

Estoi un poco callado porque estoi haciendo el menu, (que ya esta funcionando , pero no hay quien lo pare), y estoi en guerra con el arduiono, jajaj.

Te veo la rutina de RPM y debatimos.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 11, 2014, 03:35 pm
Jejeje tu rutinita querido NO FUNCIONA!!!
Al menos a mi en mi simulador.

Yo recibo NUMEROS GIGANTESCOS.
La mía es exacta. asi que ahora que la integre ya verás!! Como destrocé tu rutina ISR. Ya lo dije, la tomé de otro usuario.
Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: pincho41700 on Nov 11, 2014, 04:19 pm
COMOOOOOOOOOOOOO,
 
eso no puede ser, jajaj
en el circuito funciona muy bien , ya no se en el simulador, lo tuyo todavia no lo he probado , ya te dire.

He conseguido ya el menu que funcione bien, un poco bruto pero funciona. Te dejo el Menu

Code: [Select]


#define TIEMPOMAX 5000
#define TIEMPOMIN 400

boolean Boton;
boolean flagPulsado;
boolean flagSoltado;
boolean flagDiferencia;

unsigned long Pulsado;
unsigned long Soltado;
 long Diferencia;
 
int Km=123;
int Menu=0;

int estadoAnterior = 0;
int estadoActual;
int contador = 0;
const int pin=4;         // aquí el pin digital que se quiere leer

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
pinMode(pin, INPUT);
Pulsado=0;
Soltado=0;
Diferencia=0;
flagPulsado=1;
}

void loop() {
  // put your main code here, to run repeatedly:
  estadoActual = digitalRead(pin);
  if (estadoAnterior != estadoActual)  // ha habido un cambio de estado
  {
    contador++;                          // cuenta los cambios de estado
    //Serial.println(contador);
    int validarPar = contador % 2;       // solo queremos los cambios pares
    if (validarPar != 1)                 // si el cambio es par
    {
      Boton=1;
    }
    else Boton=0;
   
    estadoAnterior = estadoActual;
  }
 
 
  ///////////////////////////////////////
 
  if(Boton==1 && flagPulsado==1){//cuando el boton se pulsa
    Pulsado=millis();
    flagPulsado=0;
    flagSoltado=1;
  }
 
  if(Boton==0 && flagSoltado==1){//cuando el boton se suelta
    Soltado=millis();
    flagSoltado=0;
    flagPulsado=1;
    flagDiferencia=1;
  } 
 
  Diferencia=Soltado-Pulsado;
 
  if(flagDiferencia){
    if(Diferencia<TIEMPOMIN )Menu++;
    if(Diferencia>TIEMPOMAX )Km=0;
    flagDiferencia=0;
 
  }
   
 
 
 
 
  Serial.print(Boton);
  Serial.print(" , ");
  Serial.print(Pulsado);
  Serial.print(" , ");
  Serial.print(Soltado);
  Serial.print(" , ");
  Serial.print(Diferencia);
  Serial.print(" , ");
  Serial.print(Km);
  Serial.print(" , ");
  Serial.println(Menu);
 
 
}




Title: Re: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS
Post by: surbyte on Nov 11, 2014, 04:23 pm
De nuevo pincho... yo se que es TU PROYECTO, no el mío, pero comparte la idea de lo que vas a hacer antes de hacerlo.
El menú hará tal cosa.. necesito 3 submenúes asi o asá.

Bien. No importa.. ya te lo modificaré también jajajaja
Finalmente tendremos versión Pincho y versión Surbyte.