J'ouvre ce post dans un terrain neutre, car sur ce post il y aura du C, ASM, et peut-être du basic avec Gérard
Le but de ce post est de faire tourner des aiguilles en mode graphique sur un écran GC9A01. quand je dis graphique, ça veut dire quand peut mettre un fond d'écran derrière les aiguilles, les aiguilles devront tourner proprement sans saccade.
Le gagnant récupère ce post pour son langage de son choix, Jérémy, et les modérateurs pourront décider du vainqueur.
Présentation de l'écran, pour ceux qui ne savent pas ce que sait
Voici son datasheet ICI, prix chez Aliexpress (2.50 euros à 3.00 euros en commande groupée)
Caractéristique
Taille de l'écran : 1,28 pouces rond, diamétre 35mm
Résolution : 240×240 pixels
Puce pilote : GC9A01
Tension de fonctionnement : 2,8V à 3,3V
Ci-dessous, un lien marchand où j'ai acheté le mien (en commande groupée) . Actuellement, ils sont à 3,09 euros, pour ma part, chez ce vendeur, je l'ai eu à 2,21 euros.
Voir ICI pour les commandes groupée, sinon sans command groupée avec le même marchand ICI
Ce qui avait été dit dans les précédents posts
Écrit par paulfjujo
On ne peut pas lire l'etat de du buffer RAM OLED ....
c'est rapé pour avoir de jolies aiguilles ..mais peut etre jouable avec des aiguilles = simple vecteur lineaire
il faut simplement avoir un buffer ( 3 aiguilles) pour stocker le fond d'image sous les aiguilles
mais risque de prendre pas mal de temps X ?
si aiguille troteuse de 110 pixel de long (en laissant les graduations sur le pourtour)
aiguille troteuse 110 x 2=220 bytes 220 multiplications de flottants (360 sin et 360 cos precalculés= >720x4 =2880 bytes (en RAM ou Flash ?))
aiguille heure 100x2=200 bytes
aiguille minute 105x2=210 bytes
A voir :
precalculer les premiers 90 vecteurs de position finale de la troteuse,
les autres en utilisant les symetries !
Heure et min etant des sous multiples
table resultante de 90 entier = 90x2 = 180 bytes (x1,y1)
le point de depart etant toujour le centre x0=109, y0=109
on a besoin que de l'arrivée et demander à Brensham de tirer le trait.avec la coordonnées calculé x1,y1
Écrit par Temps-x
Un fichier hexadécimal (RGB565 - 16 bits (Taille de 115 266 octets)) peut loger dans un Pic18F27K42 car ce Pic a 131072 octets de mémoire programme, ce qui nous laisse 15806 octets pour écrire le programme, plus que faisable en ASM, reste à voir avec le C
Créer un tableau, pratiquement obligé pour gagner du temps et de la vitesse, une fois ce tableau créé, il servira pour toute sorte d'écran
sans dépasser la limite d'une aiguille énormément grosse
Règle du concours
On utilisera seulement un seul microcontrôleur Pic en 8 bits de votre choix.
Tout le monde peut participer pour faire gagner son langage, ou s'allier avec d'autres personnes qui ont des idées, et les mettre ici
Le concourt est ouvert, que le meilleur gagne.
