Go Down

Topic: [Projet] Un tableau de bord numérisé (Read 26492 times) previous topic - next topic

Jean-François

J'veux le m'ême pour mon vélo  XD
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Artouste



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

UniseV

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
EN: Libraries are my Gurus, they make me believe anything they want !
FR: Les librairies sont mes gourous, elles me font croire ce qu'elles veulent !

Super_Cinci


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

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 ?
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Jean-François

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Artouste


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 !  :smiley-mr-green:
http://www.10doigts.fr/gommettes-stickers/gommettes-geometriques-cp145.aspx

---->[]  :smiley-red:


Super_Cinci


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


Algo de Bresenham   XD
Je parlais de celui-là : http://fr.wikipedia.org/wiki/Algorithme_de_trac%C3%A9_d%27arc_de_cercle_de_Bresenham 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.



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
(...)
:smiley-mr-green:
http://www.10doigts.fr/gommettes-stickers/gommettes-geometriques-cp145.aspx
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...

Jean-François

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

http://fr.wikipedia.org/wiki/Algorithme_de_trac%C3%A9_de_cercle_d%27Andres

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Super_Cinci


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

http://fr.wikipedia.org/wiki/Algorithme_de_trac%C3%A9_de_cercle_d%27Andres
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?

Super_Cinci

#40
Aug 22, 2012, 08:07 am Last Edit: Aug 22, 2012, 10:10 am by Super_Cinci Reason: 1
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...

Artouste


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

C'est déjà un resultat pas mal et exploitable

Super_Cinci

#42
Aug 22, 2012, 04:16 pm Last Edit: Aug 22, 2012, 05:55 pm by Super_Cinci Reason: 1
Oui, et je commence à en être fier...

Bon, histoire de perdre du temps, j'ai codé quelques icônes en partant d'un bitmap (va falloir que je fasse un soft en VB qui me donne directement des tables, car c'est bien long...). Je trouvais plus joli en 24x24, donc je les ai faites en 24x24. Oui, sauf qu'en fait :



Ca prend de la place, et pas qu'en mémoire... donc super, je n'ai plus qu'à tout reprendre en 16x16, comme la dernière...

Je ne sais même pas si je vais garder les grandes sous la main, car il faudra de la mémoire, et d'ici là, j'aurai un petit soft qui me transforme un BMP en table d'octets...

EDIT : en 16x16, on va pouvoir en coller un peu plus...


Ces icônes serviront à décorer les petites aiguilles, et sûrement les pages de configuration (où là, je pourrais utiliser les grandes...)

Super_Cinci

Après avoir passé deux jours à trier des poulets morts non vendables (donc direction usine à "knaki"), j'ai bien eu du mal à me replonger dans le code...

J'ai voulu encadrer les compteurs totaliseurs et journalier...



Pas très concluant. Mais l'idée est là, car pour qu'au passage de l'aiguille sur les zones "sensibles", il faut mettre les graphiques dans la page "text", car rappelons-le, pour un écran, j'ai un écran graphique et un écran texte qui s'affichent ensemble avec un XOR entre les deux... L'idée : le "fond" est en page texte, et ce qui bouge en page graphique.

Donc en attendant de jouer avec les 128 caractères personnalisables, je suis revenu à la base :



Dans l'idée, les icônes seront dans la page texte, et en 4 caractères, je pourrai afficher une icône de 16x16 : gain de temps énorme, et possibilité de faire clignoter une icône (je pense à l'essence... :D ).

Il me reste donc à coller en EEPROM ma table de caractères persos, j'ai déjà commencé à y travailler...



A suivre!

eti

super bravo j'adore!
Une question me vient à l'esprit en voyant ceci. Sur une voiture plus moderne (je pense à ma 206+), pensez-vous qu'il est possible de réaliser un régulateur de vitesse en se connectant sur le port diagnostique OBD?
Je sais qu'on peut avoir la vitesse, mais est-ce qu'on peut commander le régime moteur (accélerer ralentir à la place du servomoteur+câble)?

Go Up