[Projet] Un tableau de bord numérisé

barbudor:
...Tu t'en rendras certainement compte tout seul mais comme les vacances sont terminées, je suis vénère d'être rentré alors j'ai envie de faire ch... tout le monde pour des trucs totalement puérils ]:smiley: (comme sur l'autoroute où je roule a 120 sur la voie de gauche quand y'a des grosses BMW derrière moi :grin:)

:grin:
ça c'est de la grosse "enervittude" 8)

Artouste:
ça c'est de la grosse "enervittude" 8)

Pourquoi, t'as une grosse BM ?
T'as qu'as avoir une R11-kitté comme Souper Cinque et je te laisse passer :stuck_out_tongue_closed_eyes:

Aie

Il faudrait donc pouvoir mettre çà devant le tableau de bord original sans le modifier de manière à pouvoir l'enlever en cas de contrôle.
Y a t'il une loi qui interdit de cacher son tableau de bord ?

Explicitement, non, mais il est stipuler que le compteur de vitesse et kilométrique sont les deux seul indicateurs obligatoire sur le tableau de bord.
Tu as le droit de tout virer, sauf ces deux truc la.
J'ai pris une prune alors que toute la planche de bord était démonter: la voiture sortait de peinture, et j'avais pas encore remonter une partie du tableau de bord.
Résultat, immobilisation du véhicule: rétention de la carte grise, délivrance d'un certification de circulation provisoire et 48h pour présenter la voiture en état....

Ouh làààààààaaa... (ouh la la la, pique la baleine, joli baleinier... tra la la comme le disait une vieille chanson de marin)...

Vous avez tous les deux raison, l'indicateur de vitesse et totaliseur kilométrique sont obligatoires, mais la qualité reste floue. En s'appuyant sur les droits de l'homme, article 11, alinéa 1 (texte pas très apprécié des schtroumfs, je reconnais), il faudra prouver que mon appareillage ne répond pas aux normes (précision à +/-10%).

Pour le CT, je m'étais déjà renseigné, il suffit d'avoir un indicateur et totaliseur, mais ils ne vérifient pas le fonctionnement (mon régulateur actuel est passé au CT il y a un an). Pour le côté brigade bleue, il faut tomber sur un débutant, et encore, si mon compteur ne marche pas bien, les radars automatiques me le feront savoir...

N'oublions pas que grâce au net, on peut modifier le kilométrage d'un véhicule moderne avec un simple port RS232.

Bon, je vais retourner à ma bidouille, soyez sage!

neodelavega:
sur se je tenez quand même a préciser que c'est du super taff je voulez faire pareil mai avec un ordi portable desocer est inclus dans la console centrale (directement relier a mon ecu) pour lancer mais log retoucher la carto est afficher le knock,EGT,AFR,temp eau,huile,pression ect ect... mais bon j'en suis pas encore ici pour l'instant c'est perf ^^

outch... c'est un peu dur à lire là... :~ je veux bien faire des efforts pour traduire, mais je ne voudrais pas être le seul si tu vois ce que je veux dire...

A part ça, ton ecu, il faudra le remplacer. j'ai causé avec un gars qui s'est amusé à remplacer l'AEI d'une super5 GTT (le modèle 1.4 turbo, celui-là à 115chx pour pousser 700Kg, je fais pas le poids). C'est exactement le même boîtier que sur ma R11 (même moteur aussi, mais j'ai pas de turbo...). Il a utilisé un pic à 8MHz... mais là, il n'y a pas beaucoup de données à traiter : le signal PMH, la pression / dépression, cliquetis et c'est tout, puis juste pondre une impulsion de durée constante mais bien calée à chaque demi-tour pour l'allumage
(site : neo-tech).

Nos vieux AEI des années 80 n'ont que 6 fils pour faire tourner le moteur, mais l'ECU moderne gère même jusqu'aux clignotants et essuie-glace, une cinquantaine de fils... l'arduino ne suivra pas, là... on est dans les 32bits/400MHz pour ce genre de joujou.

Je reviens à mon "indicateur de vitesse", j'ai revu la procédure, car je m'étais planté : le compteur avec le 40kmh à l'horisontale, il venait d'une super5 ph2... en fait, ça tombe plutôt bien, sur la R11, c'est le 30kmh qui est à l'horizontale, donc le 0 est à 45°, et j'ai trouvé qu'en multipliant 256 par 94 puis en n'affichant pas les deux derniers chiffres, ça me donne 240 (256 x 94 = 24064), soit un tour complet de l'aiguille, et si j'envoie 96, il affichera 90 en numérique, et que le 96 correspond à la verticale... (vous suivez?)

Bref, mon tour complet étant divisé en 8 portions, ça me donne 32 coordonnées relatives, tout propre. Reste à revoir le rayon aussi, car j'aimerais bien avoir de la place pour mettre des repères (0, 10, 30, 50, 70, 90, 110, 130... allez savoir pourquoi, dans les années 80, ils mettaient les repères chiffrés à 20, 40, 60, 80, 100, 120, 140... aujourd'hui, on n'a aucune limitation de vitesse à ces valeurs là). Peut-être pour une histoire de place, car en notant le 30, le 90 et le 150, on était aux horizontales et aux verticales, et que ça prenait plus de place?

A part ça, ton ecu, il faudra le remplacer

j'ai oublier de préciser c'est une gestion programmable (AEM series 2)
tu peut loger tout les info moteur puis les relire plus tard voir comment se comporte le moteur a x rpm et a x charge
et tu peux aussi voir toute les sonde ect...

bon ok petite traduction ^^

knock = capteur cliquetis
EGT = exhaust gas temperature = temp echapement
AFR, air fuel ratio = mélange air essence

tu peux faire de l’acquisition en direct par port USB 2.0 d’où l’idée d'inclure un ordi portable ou tablette tactile pour virer toute la guirlande de mano et passer tout en électronique relier a l'ecu en plus de sa je pourrer lancer des log sur les sonde qui autre fois était mecanique

La discussion sur la légalité ou non du projet se trouve ici :

http://arduino.cc/forum/index.php/topic,119485.new.html#new

Cet aspect se traitera désormais sur ce nouveau post.

Merci.

Merci pour le ménage, JF. Si on commence à parler de ce qu'on a envie de faire, ce qu'on a le droit de faire et ce qui est interdit, on ne s'en sortira jamais.

J'ai continué à jouer avec mon interface graphique, et j'ai découvert un truc pas mal sur le LCD : je savais que pour un même écran, on a une page graphique (avec des pixels) et une page texte (avec des caractères comme un LCD alphanum classique), et qu'on peut choisir d'en afficher une des deux, ou les deux en même temps ou aucune. Il y a une fonction qui permet de faire une opération logique entre les pixels de rendu des deux pages : OR, EXOR et AND. le OR est par défaut, les deux pages sont superposées. pour le AND, ben je vois pas trop l'interrêt (n'affiche des pixels que s'il y en a un sur les deux pages au même endroit)... Mais le EXOR est très intéressant. Ainsi, je mets les chiffres de l'indicateur de vitesse en page texte, et l'aiguille en graphique. Quand l'aiguille passe sur le texte, les pixels s'inversent au lieu de se recouvrir bêtement, ça rend la chose plus lisible. de même, pour surligner du texte, il suffit de remplir un rectangle là où il y a du texte, et pouf, le texte devient en inverse dans le rectangle... C'est surtout qu'on n'est pas obligé de réfléchir, les dessins graphiques n'effacent pas le texte (si l'aiguille est sur un nombre, et que j'efface l'aiguille, le nombre reste)

Mauvais point, c'est que le texte pur se pose sur une grille fixe de 20 x 16 caractères, donc c'est au graphique de se positionner par rapport au texte.

J'ai rajouté deux ou trois petits trucs, ça commence à ressembler à quelque chose (rien que les graduations autour de l'aiguille de vitesse, ça remplit tout de suite!) :

la transition entre 114 et 113 :

(toujours pas de vidéo...)

J'veux le m'ême pour mon vélo XD

Super_Cinci:
J'ai continué à jouer avec mon interface graphique,

sympa comme affichage.
perso je mettrais un petit cercle (ou quart) plein centré à l'origine des aiguilles, mais je ne me rend pas compte si c'est simple
à faire et si ça consomme beaucoup de ressources.
genre ça

OUaou !!

Chapeau "Super-Sinche", ton sujet a bien vécu, et visuellement tu as déjà un rendu sympa !

Au niveau luminosité tes écrans-TabloD'Bbor c'est suffisant ?

UniseV

Artouste:
sympa comme affichage.
perso je mettrais un petit cercle (ou quart) plein centré à l'origine des aiguilles, mais je ne me rend pas compte si c'est simple
à faire et si ça consomme beaucoup de ressources.
genre ça

Bien sûr, puisqu'à l'origine, il y a le rond. Maintenant, côté "ressources", c'est pas évident. Pour déplacer l'aiguille, j'efface l'ancienne et dessine la nouvelle, ça effacera une partie de mon rond. dessiner un cercle demande de faire pas mal de tests sur des int (donc 16 bits...), et un rond plein, c'est plusieurs cercles de diamètres différents, et l'algo que j'ai ferait des trous (un problème connu de l'algo de "behsman" ou un truc comme ça). Il y a l'autre solution d'utiliser une fonction assez simple qui permet d'imposer une ligne de 8 pixels via un seul octet, donc tout comme dessiner un caractère, ça pourrait passer si je tombe bien dans la grille des 8 pixels... Je teste ça.

@UniseV : je risque d'avoir des problèmes de reflets, c'est du verre de base...

Pour le petit rond, peut être peut tu coller un O majuscule ou une paire de () ou de <> sur la page texte à l'endroit qui va bien ?

Algo de Bresenham XD

barbudor:
Pour le petit rond, peut être peut tu coller un O majuscule ou une paire de () ou de <> sur la page texte à l'endroit qui va bien ?

Bonsoir Barbudor
sinon t'en qu'a coller et avec zero code pour gérer la rémanence , il y aurait bien ça ! :grin:

---->[] :blush:

barbudor:
Pour le petit rond, peut être peut tu coller un O majuscule ou une paire de () ou de <> sur la page texte à l'endroit qui va bien ?

Ouaip, je pourrais même définir un caractère perso dans la ram du LCD en forme de rond! le O majuscule, c'est pas beau et ça fait bricolage. mais le caractère perso, ça marche! (sauf que mon EXOR ferait des trous...)

Jean-François:
Algo de Bresenham XD

Je parlais de celui-là : Algorithme de tracé d'arc de cercle de Bresenham — Wikipédia que j'ai du le lire pfiou... 3 ou 4 fois! ben pas réussi à le déchiffrer suffisamment pour en pondre un code... mais le code que j'ai piqué en 15 lignes est basé dessus et marche très bien! que des + ou des -, et hop, un cercle. dans l'article wiki, tout en bas, il y un très bel exemple de cercles imbriqués qui font des trous.

Artouste:

barbudor:
Pour le petit rond, peut être peut tu coller un O majuscule ou une paire de () ou de <> sur la page texte à l'endroit qui va bien ?

Bonsoir Barbudor
(...)
:grin:
Gommettes Formes Géométriques - Gommettes, stickers - 10 Doigts

Oui, ben y'a pas la bonne couleur. Mais ça me rappelle les premiers jeux électroniques avec un mickey qui doit ramasser des oeus de poules, le décors était imprimé sur la vitre du LCD...

En attendant, avec une table de 3 octets, je colle un rond de 7 px de diamètre qui tombe pile-poil sur l'axe de l'aiguille (c'était pas prévu, ouf!) :

c'est ce que j'ai de mieux, mais je crois que je vais laisser le code de cette aiguille tranquille un peu, car je pense être à la limite du raisonnable niveau temps d'exécution...

Pour info, il manque encore la série de switch(Serial.read()){} pour récupérer les données série et les traiter. En gros, j'en suis à 8246 octets de flash sur 14336, et côté ram, il va falloir que je colle un petit memAvailable() en test au milieu du code...

Et pourquoi comme indiqué sur ta page wiki ne pas utiliser cet algo qui fait des cercles sans trous ? XD

Jean-François:
Et pourquoi comme indiqué sur ta page wiki ne pas utiliser cet algo qui fait des cercles sans trous ? XD

Algorithme de tracé de cercle d'Andres — Wikipédia

Pas mal, mais il semble que le périmètre est un peu "gras" aux alentours des angles de 45°... Mon pâté de 7x7px est quand même plus rapide, peut-être lui rajouter un seul cercle pour passer à 9 de diamètre?

Bon, pour les aiguilles, je m'arrête là :


une petite erreur s'est glissée dans mon calcul des petites aiguilles, voir le point en bas à droite qui est en trop sur celle du haut... j'ai pas trouvé où.

Maintenant, il faut que je m'occupe des icônes, en 16x16 (32 octets) ou 24x24 (72 octets), je ne sais pas encore, je pense que je vais les coller directement dans l'EEPROM du 168, comme ça, je m'affranchis du bouffage de ram pour les tableaux d'icônes, et je pourrai les changer en utilisant l'USB du système final. ça me laisse une capacité 10 à 20 icônes (selon la taille) par écran, largement suffisant.

edit : Un premier jet d'icônes en deux tailles (16x16 et 24x24) :

Reste plus qu'à les coder...