Pages: 1 2 [3] 4 5 ... 7   Go Down
Author Topic: [Projet] Un tableau de bord numérisé  (Read 17780 times)
0 Members and 1 Guest are viewing this topic.
Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 24
Posts: 3170
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

J'veux le m'ême pour mon vélo  smiley-lol
Logged

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

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4149
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


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
Logged

Paris
Offline Offline
Sr. Member
****
Karma: 1
Posts: 366
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

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 !

Bretagne
Offline Offline
Edison Member
*
Karma: 10
Posts: 1293
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 23
Posts: 2054
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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 ?

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 24
Posts: 3170
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Algo de Bresenham   smiley-lol
Logged

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

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4149
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Logged

Bretagne
Offline Offline
Edison Member
*
Karma: 10
Posts: 1293
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 24
Posts: 3170
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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

Logged

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

Bretagne
Offline Offline
Edison Member
*
Karma: 10
Posts: 1293
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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

Bretagne
Offline Offline
Edison Member
*
Karma: 10
Posts: 1293
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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...
« Last Edit: August 22, 2012, 03:10:06 am by Super_Cinci » Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4149
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bon, pour les aiguilles, je m'arrête là :
C'est déjà un resultat pas mal et exploitable
Logged

Bretagne
Offline Offline
Edison Member
*
Karma: 10
Posts: 1293
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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...)
« Last Edit: August 22, 2012, 10:55:34 am by Super_Cinci » Logged

Bretagne
Offline Offline
Edison Member
*
Karma: 10
Posts: 1293
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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



A suivre!
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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)?
Logged

Pages: 1 2 [3] 4 5 ... 7   Go Up
Jump to: