Arduino nano pas cher, ou comment les "bonnes" affaires chinoises peuvent faire perdre beaucoup de temps

Le petit projet du moment est d'arriver à programmer directement un microcontrôleur Atmega328P (celui qui constitue le coeur de l'Arduino Uno). Il s'agit juste de créer une carte ultra minimaliste, sans oscillateur, juste la puce qui fonctionne avec son horloge interne. En gros, le montage final ressemble à ça :
Atmega328P en Arduino ultra minimal avec le câblage pour la programmation
Difficile de faire plus simple : c'est un montage avec un seul composant. Disons le tout de suite, c'est un projet qui n'a... strictement aucun intérêt. On trouve des clones des cartes Arduino pour moins cher que l'achat des composants individuels et ces cartes sont bien plus évoluées que ce que je me propose de faire : la fréquence de l'horloge est plus rapide, la carte prend en charge la liaison avec le programmateur, elle gère son alimentation, etc. Mon intérêt n'est donc pas réellement financier mais plutôt d'essayer de comprendre un peu plus en profondeur comment marchent les choses.

J'ai fait de très nombreux essais de montage avec le programmateur USBasp qui a fait l'objet d'un petit article à lire ici. Ils se sont tous soldés pas un échec complet : impossible de charger le bootloader ou le moindre sketch sur la puce. Après tous ces essais je ne sais pas ce qui est en cause : le montage minimaliste ? le câblage ? le programmateur ? le paramétrage du programme Arduino ? la puce elle-même qui pourrait être grillée après tant d'essais infructueux ? Je sèche. En désespoir de cause, je me suis dit que je pouvais utiliser le clone d'Arduino nano arrivé ces derniers jours dans ma boite aux lettres, tout droit sorti des usines de Chenzen :

Clone d'Arduino nano

Programmer une carte via une carte Arduino ne me semble pas franchement pratique (et j'ai d'ailleurs acheté le programmateur USBasp pour éviter cela), mais cela a un avantage : c'est très documenté. Ok, on se lance et très vite c'est la déception. Essai après essai, ça ne fonctionne toujours pas, ce qui semble au moins mettre hors de cause le programmateur.

Je me suis alors dit qu'il faudrait commencer par le début et tout simplement charger un sketch sur l'Arduino nano. C'est une manip que je maîtrise (euh... oui, je sais, ce n'est pas compliqué) et si celle-là ne fonctionne pas, rien en peut fonctionner. Malheureusement, et à ma grande surprise, le simple chargement de sketch via l'USB ne marche pas non plus. jje ne m'en étais pas rendu compte avant ces essais car je n'avais fait que des essais par le connecteur 6 pin et le programmateur, essais qui eux marchaient bien.

Tirant les enseignements de l'installation difficile du programmateur USBasp, je me suis dit que c'était peut-être tout simplement un problème de driver. Au dos de la carte se trouve le microcontrôleur CH340G chargé de la gestion des entrées et sorties USB :
Le microcontrôleur CH340G
Plusieurs essais de chargement de driver effectués sur deux ordinateurs différents (Windows et Mac) mais rien à faire, la carte ne répond toujours pas :-( Elles est bien reconnue par le système, mais impossible de charger le moindre sketch via l'USB. Après une dizaine de nouvelles pages internet consultées, je tombe sur celle-ci : https://ketturi.kapsi.fi/2014/04/how-to-fix-moody-arduino-nano/ Voilà enfin la solution ! Ce petit matériel chinois n'est sans doute pas trop soigné et c'est un problème matériel qui à l'origine de mes malheurs ! Ni une ni deux, je fais ce qu'ils conseillent à savoir connecter ensemble deux minuscules pattes de cette puce au dos de la carte. Et... c'est gagné ! elle ne répond plus du tout...

Mauvaise manip ? Ben oui, la page que j'étais si heureux de trouver, si bien documentée et si bien illustrée parle d'une puce FTDI alors que celle installée sur mon Arduino nano est une CH340G qui vient définitivement de rendre l'âme, sans doute à cause d'un court-circuit que j'ai provoqué. Trop heureux de trouver une solution après tant de recherche, trop de fatigue et de précipitation après ces heures infructueuses. La programmation de la carte via le programmateur et le connecteur 6 pins reste elle toujours possible. Je n'utiliserai donc pas cette carte pour le développement de projets mais pour l'installer dans un montage une fois que la productions sera définitivement finalisée. Il s'agit d'un photo booth -un photomaton maison- dont je vous parlerai prochainement.

L'Arduino nano avec sa belle "chaussette" pour condamner l'entrée USB définitivement morte

En conclusion :
- On a appris qu'au dos de la carte il y a un petit microcontrôleur chargé de la liaison USB. Sur ce microcontrôleur il y a un type de noté ce qui permet de connaître le driver à utiliser.
- On a perdu beaucoup de temps alors que notre idée de départ était quand même d'essayer de programmer un un microcontrôleur et qu'à l'arrivé on lit des pages et des pages de docs sur internet, on télécharge des drivers, on fait des essais à n'en plus finir pour finalement provoquer un court-circuit qui endommage définitivement la liaison USB.
- On contacte le vendeur pour lui faire part des difficultés et il décide de rembourser la carte sans délai.

Au final on a donc une carte qui reste fonctionnelle pour l'essentiel -elle est programmable via le connecteur 6 pins et un programmateur- pour zéro euros. Ca reste une bonne affaire si... on a du temps devant soi :-)

Commentaires

  1. The Orleans Casino Hotel & Racetrack - Mapyro
    Get directions, reviews and information for The Orleans 구미 출장안마 Casino Hotel & Racetrack in Baton 나주 출장샵 Rouge, LA. 천안 출장샵 Located on the west side of the 용인 출장마사지 casino's 32nd floor, this 구미 출장샵

    RépondreSupprimer

Enregistrer un commentaire

Articles les plus consultés