Arduino als programmeur
Note : Nous ne nous attendons pas à ce que ce tutoriel soit utile pour les cartes compatibles Arduino typiques, qui sont généralement fournies avec un chargeur de démarrage qui peut être utilisé pour charger des croquis. Si vous voulez utiliser le programmateur comme un adaptateur USB-série avec l’IDE Arduino pour charger des schémas sur une carte en utilisant son chargeur d’amorçage existant, voir Section 6.3.
Si une erreur se produit pendant l’étape de chargement, la première étape du débogage doit être d’activer la sortie verbeuse pendant le chargement. Dans l’IDE Arduino, dans le menu File, sélectionnez Preferences, puis cochez la case upload sur la ligne qui dit Show verbose output during, et cliquez sur OK. Maintenant, lorsque vous essayez de télécharger à nouveau, vous verrez des informations détaillées sur la façon dont l’IDE Arduino tente de charger votre programme. Une des choses les plus importantes à regarder est la commande utilisée pour invoquer AVRDUDE : vous devez vous assurer qu’elle dit “-cstk500”, utilise le bon port COM, et spécifie le bon microcontrôleur AVR en utilisant l’option “-p”. Pour plus d’aide au dépannage, voir la section 5.6.
Programmateur isp Arduino uno
Si vous voulez immortaliser votre projet fermement en fil et soudure, vous ne le faites généralement pas en utilisant un Arduino UNO, mais choisissez soit un microcontrôleur ATtiny ou ATmega ou une petite carte comme l’Arduino Nano ou l’Arduino Pro Mini qui est décrite ici. Je parlerai d’abord des différentes versions de la Pro Mini, puis du téléchargement de sketchs à l’aide du module USB-to-TTL et enfin je me concentrerai sur le dépannage. La programmation de l’Arduino Pro Mini est très pratique !
Si vous avez développé votre projet avec l’UNO, alors la variante 328P / 5V est la plus adaptée, car une compatibilité totale est garantie. Si vous utilisez des composants de 3,3 V, comme certains capteurs, la variante 3,3 V peut également vous intéresser. Pour ma part, je n’ai essayé que les modèles 328P /5V. Chez Amazon, vous obtenez les cartes pour environ 3 euros.
De plus, les cartes diffèrent en partie dans le layout, notamment dans la position des broches A4 (SDA) et A5 (SCL), qui sont nécessaires pour la communication I2C. Pour les modèles présentés ci-dessus, elles sont situées à l’extrémité étroite, à côté du bouton de réinitialisation (modèle de gauche) et au-dessus de A2 et A4 (modèle de droite). Malheureusement, avec ces deux modèles, vous ne pouvez pas connecter A4 et A5 directement à une carte de circuit imprimé. La raison pour laquelle ils ne collent pas à la mesure de la grille est un mystère pour moi.
Arduino comme programmeur d’avr
Attention ! Ce tutoriel a été écrit pour les microcontrôleurs AVR avec un bootloader Arduino utilisant des broches ICSP. Si vous utilisez un microcontrôleur ARM avec des broches SWD, vous aurez besoin d’un programmateur dédié (i.e. Atmel JTAG ICE 3 ou Atmel-ICE) pour vous connecter au port SWD. Pour plus d’informations, consultez notre tutoriel de programmation ARM.
Vous avez un Arduino bricolé qui n’accepte plus de code ? Ou bien, peut-être avez-vous écrit votre propre firmware et souhaitez-vous le télécharger sur votre Arduino ? Ou, peut-être que vous voulez simplement en savoir plus sur le fonctionnement interne de l’Arduino, de l’AVR, et des microcontrôleurs en général. Eh bien, vous avez de la chance ! Ce tutoriel vous apprendra ce qu’est un bootloader, pourquoi vous avez besoin de l’installer/réinstaller, et comment le faire.
Les AVR d’Atmel sont d’excellents petits circuits intégrés, mais ils peuvent être un peu difficiles à programmer. Vous avez besoin d’un programmateur spécial et de quelques fichiers .hex fantaisistes, et ce n’est pas très convivial pour les débutants. L’Arduino a largement éliminé ces problèmes. Ils ont mis un fichier .hex sur leurs puces AVR qui vous permet de programmer la carte via le port série, ce qui signifie que tout ce dont vous avez besoin pour programmer votre Arduino est un câble USB.
Programmateur standard Arduino nano
J’aurais aimé que la sélection ait l’option d’être partiellement automatisée pour la sélection des cartes. Mais ce n’est manifestement pas le cas. Une partie de mon problème est que si vous choisissez le mauvais programmateur, certaines cartes semblent fonctionner. D’autres lisent mais n’écrivent pas, ou écrivent sur certains espaces, mais pas sur d’autres. Ou bien, vous pouvez obtenir d’autres erreurs cryptiques qui ressemblent beaucoup à du matériel défectueux. Jetez un coup d’oeil à ce message pour un exemple :
En général, la sélection Outils > Programmeur n’est utilisée que pour Outils > Graver le chargeur de démarrage et Sketch > Télécharger en utilisant le programmeur et n’est pas utilisée pour les téléchargements standard. Ainsi, pour les téléchargements standard, vous pouvez le définir sur ce que vous voulez, car cela n’aura aucun effet.
L’exception la plus notable est la Trinket d’Adafruit, qui nécessite que vous sélectionniez Tools > Programmer > USBTinyISP même si vous téléchargez via la prise USB de la carte Trinket sans programmateur ISP séparé.
Vous trouverez également quelques paquets de matériel tiers qui ne sont pas écrits pour les cartes avec un chargeur d’amorçage série de type Arduino et qui traitent donc un téléchargement standard comme un “téléchargement utilisant un programmeur” pour des raisons de commodité. Les exemples sont MicroCore et le paquetage matériel “Barebones ATmega Chips (no bootloader)”. Dans ce cas, la sélection correcte du menu Programmateur dépend du modèle de programmateur ISP que vous utilisez.