CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS

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
  2. CALIBRAR GY-85 MAGNETOMETRO
  3. COMO GUARDAR SEÑALES EN UNA VARIABLE
  4. Calcular revoluciones de un motor de combustion con Simulink
  5. VARIOS 75HC595 EN UN SOLO INTEGRADO
  6. Ayuda con Vectores

Ha surbyte tu estas colaborando con pincho41700 en este mismo proyecto?

EXELENTE seguro que va a quedar de lujo :sunglasses: 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.

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.

pincho41700:
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

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!!!

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.

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

Para mi el enfoque esta errado.
Usa un MEGA que tiene varias interrupciones externas disponibles.

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?

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)

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.

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).

¿se podría tener por ejemplo unos attiny 2313 dedicados a eso y que se comuniquen por serial cuando se a necesario?

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

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.

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.

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?.

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).

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.

Te has explicado mejor que la wikipedia, porque en ella no lo he comprendido muy bien.

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.