Table des matières:
Vidéo: Programmation des ATTiny85, ATTiny84 et ATMega328P : Arduino en tant que FAI : 9 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Avant-propos
J'ai récemment développé quelques projets IoT basés sur ESP8266 et j'ai découvert que le processeur central avait du mal à effectuer toutes les tâches dont j'avais besoin pour gérer, j'ai donc décidé de distribuer certaines des activités les moins importantes à un ou plusieurs microcontrôleurs différents dans de cette façon, libérant l'ESP8266 pour continuer son travail d'appareil IoT.
Étant donné que je voulais publier mon projet auprès d'un public aussi large que possible, j'ai choisi d'utiliser l'IDE Arduino comme plate-forme de développement de choix car il dispose d'une communauté très largement prise en charge.
Contraintes de conception
Afin de fournir une répartition raisonnable des dispositifs cibles permettant la sélection d'un microcontrôleur approprié pour l'application à portée de main, j'ai opté pour les pièces Atmel suivantes; ATMega328P, ATTiny84 et ATTiny85. Pour limiter la complexité du programmeur nécessaire, j'ai contraint le choix de l'horloge à interne pour tous les appareils et à 16 MHz externe uniquement pour l'ATMega328P et l'ATTiny84.
Ce qui suit est une collection de notes sur la programmation avec l'Arduino et une description de la façon dont j'ai mis en place un programmeur simple basé sur Arduino Uno pour ces appareils (photos ci-dessus).
De quelles pièces ai-je besoin ?
Pour construire le programmeur, vous aurez besoin des pièces suivantes
- 1 hors Arduino Uno
- 2 prises DIP à force d'insertion nulle (ZIF) 28 broches (pour contenir ATMega328P, ATTiny85, ATTiny84)
- 1 bouclier prototype Arduino (j'ai le mien ici;
- 2 LED de 5 MM
- 2 résistances 1K
- 1 résistance 10K
- 4 condensateurs céramiques 22pF
- 2 cristaux 16MHz
- 3 condensateurs céramiques 0,1 uF
- 1 condensateur électrolytique 47uF
- 1 condensateur électrolytique 10uF
- Fil d'enroulement de fil de différentes longueurs.
De quel logiciel ai-je besoin ?
IDE Arduino 1.6.9
De quelles compétences ai-je besoin ?
- Connaissance de l'IDE Arduino
- Une certaine connaissance de l'électronique et de la soudure
- Une grande dextérité manuelle
- Beaucoup de patience et une bonne vue
Sujets couverts
- Introduction générale à la programmation des microcontrôleurs Atmel
- ISP ou Bootloader: tout cela est un peu déroutant
- Aperçu du circuit
- Configuration de votre programmateur
- Utilisation de votre programmeur Arduino ISP
- Développer du code sur votre système cible
- des trucs
- Conclusion
- Références utilisées
Clause de non-responsabilité
Comme toujours, vous utilisez ces instructions à vos risques et périls et elles ne sont pas prises en charge
Étape 1: Introduction générale sur la programmation des microcontrôleurs Atmel
Il existe deux méthodes disponibles pour programmer les microcontrôleurs Atmel;
- Dans la programmation système (ISP),
- Autoprogrammation (via un bootloader).
La première méthode (1) programme directement le microcontrôleur via l'interface SPI après avoir d'abord mis l'appareil en réinitialisation. Sauf indication contraire, un programme source exécutable compilé est écrit sur le périphérique de manière incrémentielle dans la mémoire de code à partir de laquelle il est exécuté au démarrage. Il existe de nombreux appareils ISP capables de programmer des appareils Atmel, dont quelques-uns (photo 1); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. L'image 2 montre comment le périphérique ISP se connecte à l'ATMega328P (noté ICSP étrangement) sur la carte Arduino Uno R3 (la photo 3 donne le brochage ISP). Il est également possible de programmer un microcontrôleur Atmel via son interface SPI en utilisant un Arduino Uno comme FAI (image 4), ici l'Uno est utilisé pour programmer un ATMega328P.
Cette dernière méthode (2) utilise un petit bout de code connu sous le nom de « bootloader » résidant en permanence dans la mémoire du code exécutable (généralement verrouillé pour empêcher l'écrasement accidentel de l'image 5). Ce code est exécuté en premier lors de la mise sous tension ou de la réinitialisation de l'appareil et permet au microcontrôleur de se reprogrammer avec un nouveau code reçu via l'une de ses interfaces d'une source externe à lui-même. La méthode du chargeur de démarrage est utilisée par l'IDE Arduino pour reprogrammer les Arduinos mappés en tant que port de communication USB sur le PC (ou MAC, boîtier Linux, etc., photo 6) et dans le cas de l'Arduino Uno, communique avec le périphérique Atmel via son interface série sur les broches IC 2 et 3 de l'ATMega328P. De plus, l'Arduino Uno (avec le microcontrôleur ATMega328P retiré) peut être utilisé pour programmer un ATMega328P via la méthode du chargeur de démarrage agissant efficacement comme un périphérique adaptateur USB vers série (photo 7).
Qu'est-ce qu'un adaptateur USB vers série ?
Un adaptateur USB vers série est un élément matériel qui se branche sur le port USB de votre PC et ressemble à un port de communication série (un héritage de l'époque où les ordinateurs utilisaient une norme de communication série connue sous le nom d'EIA-232, V24 ou RS232) vous permettant de envoyer et recevoir des données série aux mêmes niveaux électriques du microcontrôleur. Lorsque vous sélectionnez Outils -> Port -> COMx à partir de l'IDE Arduino, vous connectez/interfacez votre PC à votre Arduino.
Un appareil comme celui-ci est parfois appelé FTDI (photo 8, qui est en fait un nom de marque) ou CH340G, etc. L'USB vers série sur l'Arduino uno est réalisé via un ATMega16U2-MU (R) IC ZU4 comme dans le schéma Arduino au dessous de.
Pour plus de clarté, l'image 9 identifie les deux appareils Atmel et leurs connecteurs ISP respectifs sur l'Arduino Uno R3.
Remarque 1: Si vous choisissez de suivre la voie des appareils FTDI, assurez-vous d'acheter auprès d'un vendeur réputé, car de nombreux appareils contrefaits bon marché sur le marché ont échoué lors de l'application d'une mise à jour Windows.
Conseillé:
Arduino en tant que FAI -- Graver un fichier hexadécimal dans AVR -- Fusible dans l'AVR -- Arduino en tant que programmeur : 10 étapes
Arduino en tant que FAI || Graver un fichier hexadécimal dans AVR || Fusible dans l'AVR || Arduino en tant que programmeur :………………………Veuillez vous abonner à ma chaîne YouTube pour plus de vidéos……..Cet article est tout à propos d'arduino en tant que fournisseur d'accès Internet. Si vous souhaitez télécharger un fichier hexadécimal ou si vous souhaitez configurer votre fusible dans l'AVR, vous n'avez pas besoin d'acheter un programmeur, vous pouvez le faire
ATtiny85 Montre et programmation de suivi d'activité vibrant portable ATtiny85 avec Arduino Uno: 4 étapes (avec photos)
ATtiny85 Montre de suivi d'activité vibrante portable et programmation ATtiny85 avec Arduino Uno: Comment fabriquer la montre de suivi d'activité portable? Il s'agit d'un gadget portable conçu pour vibrer lorsqu'il détecte une stagnation. Vous passez la plupart de votre temps sur l'ordinateur comme moi ? Vous êtes assis pendant des heures sans vous en rendre compte ? Alors cet appareil est f
Comment graver ATTiny85 en utilisant Arduino-Mega en tant que FAI : 5 étapes
Comment graver ATTiny85 en utilisant Arduino-Mega en tant que FAI: Contributeurs - Sayan Wadadar, Chiranjib KunduProgramming ATTiny85 en utilisant Arduino MEGA2560 en tant que FAI. Il y a quelques mois, j'essayais de réduire mon projet Arduino à l'aide de mon Attiny 85 ic. C'était la première fois que j'essayais de programmer un 20u ATTiny 85 en utilisant
Réduisez vos projets Arduino - Arduino UNO en tant que programmeur ATmega328P (https://youtu.be/YO61YCaC9DY): 4 étapes
Réduisez vos projets Arduino | Arduino UNO en tant que programmeur ATmega328P (https://youtu.be/YO61YCaC9DY): Lien vidéo: https://youtu.be/YO61YCaC9DYProgramming ATmega328P utilisant Arduino comme ISP (In-System Programmer) vous permet d'utiliser les fonctionnalités Arduino sur une maquette ou PCB. Cela aide surtout lorsque vous faites votre projet de collège. Il rédu
Little Wizard - Jeu PC/Android en tant que projet père et fils avec des enfants (unity3d) : 5 étapes
Little Wizard - Jeu PC/Android en tant que projet père et fils avec des enfants (unity3d) : je voudrais montrer à quel point il est facile et amusant de créer un jeu. J'ai créé mon jeu en tant que projet père et fils, pour passer du temps avec mon fils et de lui apprendre quelque chose de cool. Tout d'abord, je tiens à dire que je ne suis pas un développeur de jeux et deuxièmement, que c'est