La puce de microcontrôleur ATtiny85 est une alternative abordable et puissante aux autres microcontrôleurs Arduino, en particulier lorsque vous souhaitez réduire votre projet. La puce comporte 8 broches dont six sont des broches d'E / S (y compris la réinitialisation) et deux sont des broches d'alimentation. Mais comment le programmer car il n'a pas d'interface USB comme les autres cartes microcontrôleurs? Donc, dans cet article, je vais vous guider à travers le processus de programmation de l'ATtiny85 à partir de l'IDE Arduino avec l'aide de l'Arduino Uno. Fondamentalement, nous utiliserons l'Arduino UNO comme programmeur ATtiny85.
Composants requis pour la programmation de ATtiny85
- Arduino UNO
- ATtiny85 IC
- LED
- Résistance de 220 ohms
- Planche à pain
- Fils de cavalier
Puce de microcontrôleur ATtiny85 - Introduction
ATtiny85 d'Atmel est un microcontrôleur 8 bits haute performance et basse consommation basé sur l'architecture RISC avancée. Cette puce de microcontrôleur comprend une mémoire flash ISP de 8 Ko, une EEPROM de 512 Go, une SRAM de 512 octets, 6 lignes d'E / S à usage général, 32 registres de travail à usage général, une minuterie / compteur 8 bits avec modes de comparaison, une haute vitesse 8 bits minuterie / compteur, USI, interruptions internes et externes, convertisseur A / N 4 canaux 10 bits, minuterie de surveillance programmable avec oscillateur interne, trois modes d'économie d'énergie sélectionnables par logiciel et debugWIRE pour le débogage sur puce. Le brochage ATtiny85 est donné ci-dessous:
La plupart des broches d'E / S de la puce ont plus d'une fonction. Consultez le tableau ci-dessous pour connaître la description de la broche ATtiny85 pour chaque broche.
N ° de broche |
Nom de la broche |
Description des broches |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Interruption de changement de broche 0, Source5 RÉINITIALISER: réinitialiser la broche ADC0: canal d'entrée ADC 0 dW: debug WIRE I / O |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Interruption de changement de broche 0, Source3 XTAL1: broche 1 de l'oscillateur à cristal CLKI: entrée d'horloge externe ADC3: canal d'entrée ADC 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Interruption de changement de broche 0, source 4 XTAL2: broche 2 de l'oscillateur à cristal CLKO: sortie d'horloge système OC1B: Timer / Counter1 Compare Match B Output ADC2: canal d'entrée ADC 2 |
4 |
GND |
Broche de masse |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: sortie de données maître SPI / entrée de données esclave DI: entrée de données USI (mode trois fils) SDA: entrée de données USI (mode deux fils) AIN0: comparateur analogique, entrée positive OC0A: Timer / Counter0 Comparer la sortie Match A AREF: référence analogique externe PCINT0: Interruption de changement de broche 0, source 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: entrée de données maître SPI / sortie de données esclave DO: Sortie de données USI (mode trois fils) AIN1: comparateur analogique, entrée négative OC0B: Timer / Counter0 Comparer la sortie Match B OC1A: Timer / Counter1 Compare Match A Output PCINT1: Interruption de changement de broche 0, source 1 |
sept |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: entrée d'horloge série USCK: Horloge USI (mode trois fils) SCL: horloge USI (mode deux fils) ADC1: canal d'entrée ADC 1 T0: Minuterie / Compteur 0 Source d'horloge INT0: Entrée d'interruption externe 0 PCINT2: Interruption de changement de broche 0, source 2 |
8 |
VCC |
Broche de tension d'alimentation |
Étape 1: Configuration d'Arduino Uno en tant que FAI:
Étant donné qu'ATtiny85 n'est qu'un microcontrôleur, il nécessite la programmation d'un FAI (Programmation In-System). Donc, pour programmer l'ATtiny85, nous devons d'abord configurer Arduino Uno en tant que FAI pour agir en tant que programmeur pour l'ATtiny85. Pour cela, connectez l'Arduino Uno à l'ordinateur portable et ouvrez l'IDE Arduino. Après cela, accédez à Fichier> Exemple> ArduinoISP et téléchargez le code Arduino ISP.
Étape 2: Schéma de circuit pour la programmation de ATtiny85:
Le schéma complet de programmation d'ATtiny85 avec Arduino Uno est donné ci-dessous:
La broche positive de la LED est connectée à la broche 0 du CI ATtiny85 via une résistance de 220Ω tandis que la broche GND est connectée au GND du CI. Les connexions complètes sont données dans le tableau ci-dessous:
ATtiny85 Pin |
Broche Arduino Uno |
Vcc |
5V |
GND |
GND |
Broche 2 |
13 |
Broche 1 |
12 |
Broche 0 |
11 |
Réinitialiser |
dix |
Étape 3: Programmation d'ATtiny85 à l'aide de l'IDE Arduino:
Pour programmer l'ATtiny85 avec Arduino IDE, nous devons d'abord ajouter le support ATtiny85 à Arduino IDE. Pour cela, allez dans Fichier> Préférences et ajoutez le lien ci-dessous dans les URL du gestionnaire de tableaux supplémentaires et cliquez sur 'OK'.
Après cela, allez dans Outils> Tableau > Gestionnaire de tableau et recherchez 'attiny' et installez la dernière version.
Après l'avoir installé, vous pourrez maintenant voir une nouvelle entrée dans le menu du tableau intitulée 'Attiny25 / 45/85'.
Maintenant, allez dans Fichier > Exemples> Bases et ouvrez l'exemple Blink.
Changez le numéro de broche de LED_BUILTIN à 0.
Revenez maintenant dans Outils -> Tableau et sélectionnez «Attiny25 / 45/85», puis sélectionnez ATtiny85 sous Outils> Processeur.
Maintenant, allez-y et téléchargez le code. Si le voyant connecté à la broche 0 de l'Attiny85 IC clignote, le code est téléchargé avec succès.
C'est ainsi que vous pouvez programmer la puce de microcontrôleur ATtiny85 en utilisant Arduino IDE et Arduino Uno. Une vidéo de travail est donnée ci-dessous. Si vous avez des questions, laissez-les dans la section des commentaires. Vous pouvez également publier vos questions techniques sur notre forum électronique pour obtenir de meilleures informations.