Problème de la carte SD avec une Mega

Sommaire:
      Compatible Mega?
      Quelques solutions

Compatible Mega?

Certaines cartes afficheurs parallèles sont dites "compatibles Mega". En fait l'afficheur est compatible Mega, mais pas la carte SD. L'ensemble n'est compatible qu'avec une Uno, mais dans ce cas il ne reste que peu de ressources pour gérer autre chose que l'afficheur.

Le dialogue série avec la carte mémoire micro SD utilise des broches spécifiques MOSI, MISO et SCK qui se trouvent sur les broches 11 à 13 des cartes UNO, et accessibles pour le VMA412. Par contre sur une carte MEGA, ces broches correspondent aux broches 50 à 52. Comme elles ne sont pas au même endroit, le lecteur de carte sera introuvable et ne fonctionnera pas.

Pour remédier à ce problème, je pense équiper ma future maquette d'un lecteur indépendant que je brancherai sur les bonnes broches. Cela me permettra de travailler avec une carte SD au lieu d'une micro SD. Pour moi, ce peut être intéressant car le dialogue entre mon PC et ma carte se fera par ce biais. Et pour mes gros doigts, c'est plus pratique.

Si vous n'avez besoin de la carte que pour afficher des images, utilisez alors le lecteur interne, mais pontez les broches pour que la carte MEGA les retrouve au bon endroit. Il faut alors relier les broches:
SS10 avec 53
MOSI11 avec 51
MISO12 avec 50
SCK13 avec 52

Pour faire les essais et vérifier que cela fonctionne, et pour que ce soit simple, j'ai ponté grâce à une carte à dominos (voir ci-contre). On voit en jaune un des 4 fils liant les broches. Ma bibliothèque graphique met en haute impédance les broches 10 à 13 des cartes MEGA pour permettre ce pontage. Avec une autre bibliothèque, initialisez l'afficheur puis mettez ces broches en entrée.


Sans carte SD, on n'a pas d'images, mais le reste fonctionne.

Avec la carte SD, on peut avoir les images.

Une autre solution est d'utiliser un module lecteur de SD externe. Cela a l'avantage d'avoir à manipuler des cartes SD au lieu des micro SD. D'après ce que j'ai oui-dire, il n'est pas nécessaire de connecter la broche 3,3V avec ce module, ce qui m'arrange, cette broche n'est plus accessible à cause de l'afficheur.

Si on enfiche l'afficheur sur une carte UNO, les 8 fils de données sont répartis sur deux ports différents, mais sont correctement positionnés. Avec une carte MEGA, les fils de données sont répartis sur 3 ports différents et ne sont pas en bonne place. Le logiciel doit les traiter comme cinq morceaux à assembler. C'est pour cela qu'avec une MEGA, les temps sont deux fois plus long. On peut aussi en utilisant un branchement personnalisé mettre les données sur un seul port et dans le bon sens. On serait alors deux fois plus rapide qu'avec une UNO. Au passage, on est un peu obligé de faire cela pour la carte SD. Pourquoi ne pas faire pareil avec les autres broches?

Ci-contre le montage d'essais permettant de mettre les données de l'afficheur sur un seul port (portK). Les essais montrent que l'on gagne un facteur 3 en vitesse pour les échanges avec l'afficheur, par exemple pour décaler l'écran. Pour les affichages d'images complètes, comme l'accès à la cartes SD est relativement longue, on ne gagne qu'une seconde par écran. Mais c'est toujours ça. Au niveau du programme, cela ne change quasiment rien.

 

Quelques solutions

Je pense que les afficheurs parallèles sont intéressant pour la vitesse d'affichage, mais ils nécessitent plus de broches du micro. Gérer un afficheur avec une Uno est possible mais on n'a plus de ressources pour le reste, et une Mega est donc une bonne solution. Seulement, il y a le problème de la carte SD.

Il y a quelques pistes pour contourner ces inconvéniants:
- il est possible de ne pas utiliser la SD de l'afficheur, et d'en utiliser une autre externe (si besoin).
- certains tordent ou coupent les pattes 10 à 13 de la carte Mega ou de l'afficheur, pour mettre un petit connecteur 4 fils vers les broches 50 à 53.
- on peut aussi relier la carte afficheur et la Mega avec des fils dupont. On perd la fonction shield, mais on fait ainsi ce que l'on veut à peu de frais.
- personellement j'utilise ces afficheur comme si ce n'étaient pas des shields à enficher directement sur la Mega. J'ai une carte fond de panier sur laquelle j'enfiche la Mega, l'afficheur, une deuxième carte SD, les drivers pour mes pas à pas, des Mosfet...


dansetrad.fr Contactez-moi