LOCODUINO

Le microcontrôleur ATtiny45

Le microcontrôleur ATtiny45 (2)

Procédure de programmation du microcontrôleur

.
Par : Christian

DIFFICULTÉ :

Certaines applications pour un réseau de trains miniatures ne requièrent pas toute la puissance d’un module Arduino/Genuino Uno et on peut trouver dommage de monopoliser un tel module pour si peu. La solution est de les confier à un microcontrôleur moins puissant, donc moins coûteux. Cette série d’articles vous présente le microcontrôleur ATtiny45 du constructeur Atmel et ses possibilités dans le domaine du modélisme ferroviaire.

Dans le premier article (Le microcontrôleur ATtiny45 (1)), nous avons présenté le µC ATtiny45, ses possibilités et les similitudes qu’il présente avec le µC ATmega328P qui équipe les modules Arduino/Genuino Uno. Nous avons évoqué les grands principes de conception d’une application à base d’ATtiny pour le modélisme ferroviaire. Aujourd’hui, nous allons décrire la procédure de programmation des µC ATtiny et nous utiliserons le programme « Blink » donné en exemple pour le téléverser dans une puce ATtiny45.

Article mis à jour le 19 septembre 2021 pour l’installation du Board Package ATtiny de Spence Konde dans le paragraphe Importation des fichiers nécessaires aux puces ATtiny et le 10 juin 2024 concernant l’expiration du certificat du site drazzy.

L’environnement de développement intégré (IDE en anglais pour Integrated Development Environment)

Que nous faut-il pour programmer un microcontrôleur ATtiny ? Sur le plan matériel, un module Arduino/Genuino Uno, un câble USB pour le relier à notre ordinateur, une platine d’essai et des câbles de liaison pour ce genre de platine, sur le plan logiciel, la dernière version de l’IDE qu’on peut télécharger sur le site d’Arduino (www.arduino.cc/download). L’IDE existe pour les trois plateformes : Windows, Mac et Linux, et à l’heure où j’écris ces lignes (fin décembre 2016), nous en sommes à la version 1.8.0.

Sous Windows, vous avez la possibilité de télécharger un fichier ZIP qui, une fois dézipé, donne un dossier contenant tout ce qui est nécessaire au fonctionnement du logiciel. Personnellement, c’est ce que je vous conseille car vous n’avez pas besoin d’être administrateur et vous pouvez mettre ce dossier sur le bureau ou sur une clé USB pour l’avoir toujours avec vous et travailler n’importe où. Dans le dossier, vous trouverez le programme arduino (un exécutable, à ne pas confondre avec arduino_debug) et vous pouvez créer un raccourci pour le lancer depuis le bureau.

La version 1.8.0 de l’IDE d’Arduino permet d’écrire un programme dans un langage de haut niveau, c’est-à-dire proche du langage humain avec des mots clés en anglais, de vérifier la syntaxe du programme et de téléverser ce programme dans le microcontrôleur d’un module Arduino. Bien entendu, le µC du module ne comprend pas le langage de haut niveau ; c’est pourquoi l’IDE transforme ce langage en une suite d’octets que le µC peut comprendre. Cette transformation dépend du µC utilisé par le module (encore appelé carte Arduino) et c’est pourquoi il faut indiquer à l’IDE avec quel type de carte Arduino on travaille ; ceci peut être réglé avec le menu Outils, comme nous le verrons plus loin.

Pour l’instant, notre IDE doit être réglé pour une carte Arduino/Genuino Uno et le programmateur doit être réglé sur « AVRISP mkII » (avant dernière ligne du menu Outils). Ce doit être le cas si vous programmez vos modules Uno sans problèmes.

Transformer son module Uno en programmateur

Pour programmer un microcontrôleur, il faut un programmateur. Vous pouvez en trouver dans le commerce ; certains sont bon marché et d’autres très chers en fonction des possibilités qu’ils offrent. Mais vous pouvez aussi faire l’économie de cet achat en programmant votre module Uno pour qu’il se comporte comme un programmateur. Pour cela, branchez votre module Uno à votre ordinateur et ouvrez l’IDE. Téléversez dans le module le sketch appelé ArduinoISP (pour cela, allez dans Fichier > Exemples > 11.ArduinoISP > ArduinoISP). Votre module est devenu un programmateur ; lorsque vous n’en aurez plus besoin, vous pourrez bien évidemment téléverser un autre programme. Débranchez le module Uno de l’ordinateur. Sur une platine d’essai, réalisez le montage avec un microcontrôleur ATtiny45 à programmer et le module Uno selon la figure 1.

Figure 1
Figure 1
Programmateur à base de module Uno

Comme vous pouvez le voir, le programme ArduinoISP utilise la broche 10 du module Uno pour envoyer un signal de RESET au µC ATtiny45 (câble jaune) afin de le programmer ; ceci insiste sur l’intérêt de garder la broche 1 du µC ATtiny45 comme broche de RESET si on veut pouvoir le reprogrammer à nouveau. Les câbles verts sont les signaux de programmation proprement dit (MOSI, MISO et SCK) ; nous ne rentrerons pas dans le détail du programme ArduinoISP. N’oublions pas que le µC ATtiny doit être alimenté et que le 5 V est fourni par le module Uno (câbles rouges et noirs). Il est important qu’il n’y ait pas de mauvais contacts entre les câbles et la platine d’essai, ce qui suppose que cette dernière soit en bon état avec des contacts non fatigués. À ce stade, notre montage est notre programmateur ; rebranchez le module Uno à l’ordinateur.

Importation des fichiers nécessaires aux puces ATtiny

À l’origine, cet article décrivait l’installation du Board Package ATtiny de David A. Mellis mais ce package n’a pas été mis à jour depuis quelques années et ne correspond plus aux évolutions de l’IDE d’Arduino. C’est la raison pour laquelle nous conseillons d’installer le Board Package de Spence Konde qu’on peut trouver à cette adresse : https://github.com/SpenceKonde/ATTi.... L’installation peut se faire directement avec le Gestionnaire de carte de l’IDE. Nous vous conseillons au préalable de désinstaller le package de Mellis via le Gestionnaire de carte de l’IDE et le bouton Supprimer.

Ouvrez l’IDE et allez dans Outils > Type de carte pour voir si vous disposez d’une section « ATTinyCore » ; si oui, passez au paragraphe suivant. Sinon, allez dans le menu « Préférences » (sous Windows Fichier > Préférences, sous Mac Arduino > Préférences). Dans le menu qui s’ouvre, recopiez le lien ci-dessous dans la case « URL de gestionnaire de cartes supplémentaires » : http://drazzy.com/package_drazzy.co... . Cliquez sur OK pour refermer le menu. Allez dans Outils > Type de carte > Gestionnaire de carte. Dans la fenêtre qui s’ouvre, descendez pour chercher « ATTinyCore by Spence Konde ». Sélectionnez la version la plus récente, puis cliquez sur « Installer ». À la fin de l’installation, fermer la fenêtre ; cette fois, vous devez avoir, dans Outils > Type de carte, une section « ATTinyCore ».

Remarque temporaire : le certificat de sécurité du site de Spence Konde, https://drazzy.com, où est hébergé le package a expiré, ce qui empêche l’IDE Arduino d’y accéder. Nous espérons que ce certificat soit mis à jour rapidement. En attendant, vous pouvez télécharger avec votre navigateur le fichier JSON qui est à https://drazzy.com/package_drazzy.c... en passant la barrière du certificat expiré et en le mettant quelque part sur votre disque dur. Puis dans les préférences de l’IDE, mettre file:// suivi du chemin d’accès (par exemple sous Windows file:///c:/path/from/root/of/disk/to/file.package_drazzy.com_index.json ou sous Mac OS X et Linux file:///path/from/root/of/disk/to/file.package_drazzy.com_index.json).

Programmation de la puce ATtiny

Maintenant, votre version de l’IDE contient tout ce qui concerne les microcontrôleurs ATtiny. Dans l’IDE, ouvrez le programme que vous voulez téléverser. Celui-ci doit être adapté à une puce ATtiny, ce qui revient à dire que les numéros d’entrées-sorties doivent être compris entre 0 et 4. Lorsque vous écrivez des programmes pour ATtiny, pensez à les nommer en faisant apparaître le mot ATtiny et précisez dans les commentaires d’entête que ces programmes sont pour ce genre de µC ; cela vous évitera de confondre avec d’autres programmes.

Avant de téléverser le programme, vous devez effectuer quelques réglages dans l’IDE pour lui dire quel type de carte est utilisé. Suivez scrupuleusement la procédure ci-dessous sans rien oublier :

  1. Réglage de l’IDE : dans Outils, sélectionnez « Type de carte > ATTinyCore > ATtiny25/45/85 (No bootloader) » et dans « Outils > Chip : », sélectionnez «  ATtiny45 ». Dans « Outils > Clock Source », sélectionnez « 8 MHz (internal) ». Toujours dans Outils, sélectionnez « Programmateur > Arduino as ISP ». L’IDE est maintenant réglé mais il ne faut rien avoir oublié ! (Vous pouvez vérifier en rappelant le menu Outils)
  2. Première programmation du microcontrôleur ATtiny : si la puce est programmée pour la première fois, allez dans Outils et faites « Graver la séquence d’initialisation ». Ceci n’est pas à refaire pour une reprogrammation de la puce.
  3. Vérifiez votre programme (pour éviter une erreur de syntaxe) et ensuite téléversez-le. Votre puce ATtiny45 est maintenant programmée et prête à l’emploi (et vous pouvez éventuellement récupérer votre module Uno pour autre chose).

Le programme « Blink », donné dans les exemples de l’IDE, permet de faire clignoter la DEL (Diode électroluminescente) présente sur le module Uno ; c’est sans doute le premier programme que vous avez manipulé lorsque vous avez découvert les modules Arduino. Ouvrez ce programme dans l’IDE (Fichier > Exemples > 01.Basics > Blink). Le mot LED_BUILTIN signifie la DEL qui est implantée sur le module Uno et reliée à la sortie 13 du module. Lorsque l’IDE transforme le programme en code compréhensible par le µC, chaque fois qu’il rencontre LED_BUILTIN, il met à la place de ce mot le nombre 13. Comme notre ATtiny45 n’a pas autant de sortie, vous devez remplacer le mot LED_BUILTIN par le numéro de broche de l’ATtiny sur laquelle vous raccorderez la DEL, par exemple 3 (vous pouvez choisir la sortie que vous voulez entre 0 et 4 bien entendu). Vous obtiendrez un message d’erreur si vous essayez de téléverser le programme dans un ATtiny45 en ayant laissé un LED_BUILTIN puisque ceci ne correspond à rien pour un ATtiny. Une fois la correction effectuée, enregistrez le programme avec le nom « Blink_ATtiny » (Fichier > Enregistrer sous…).

Vous avez maintenant un programme conçu pour un µC ATtiny45, le programmateur réalisé selon la figure 1 avec un module Uno dont le programme est ArduinoISP, un µC ATtiny à programmer ; il ne vous reste plus qu’à suivre la procédure citée au-dessus pour téléverser le programme Blink_ATtiny dans la puce. Et à essayer la puce en branchant entre la sortie que vous avez choisie et la masse, une DEL (dans le bon sens) et une résistance de 220 ou 330 Ω ; l’alimentation en 5 V de l’ATtiny peut être prélevée sur le module Uno.

Comme c’est un peu dommage d’utiliser un ATtiny45 pour ne faire clignoter qu’une seule DEL, je vous invite à en faire clignoter 5 à des rythmes différents en vous inspirant du programme « BlinkWithoutDelay » ; vous pourrez ainsi animer votre réseau avec un feu tricolore clignotant en jaune pour indiquer un danger ou des travaux, un gyrophare en bleu de voiture de pompier, une enseigne de commerçant en vert (croix de pharmacie par exemple), des feux de PN en rouge et une dernière DEL blanche pour émettre le flash très bref d’un appareil photo.

La description de la procédure de programmation est beaucoup plus longue à expliquer qu’à appliquer ; bientôt, vous serez capable de programmer vos ATtiny pratiquement les yeux fermés. Les prochains articles seront des descriptions d’animations intéressantes sur un réseau de trains miniatures.

79 Messages

  • Erreur de compilation 3 avril 2017 23:26, par loco28

    J’ai fait un premier test de programmation d’un ATTiny avec le sketch BLINK et tout c’est bien passé.
    J’ai créer ensuite un sketch qui, partant du changement d’état d’une entrée, envoi une impulsion sur une sortie ou une autre (but : piloter un aiguillage PECO).
    Là j’ai une erreur de compilation : "collect2.exe : error : ld returned 5 exit status
    exit status 1 Erreur de compilation pour la carte ATtiny25/45/85"

    Mon code est le suivant :

    int VAL = 0;
    int old_VAL = 0;
    
    void setup() {
      pinMode(0, OUTPUT);
      pinMode(1, OUTPUT); 
      pinMode(4, INPUT);
    }
    
    void loop() {
    
    VAL = digitalRead(4);
    if (VAL != old_VAL) {
      old_VAL = VAL;
    
        if(VAL == 0) {
          digitalWrite(0,1);
          delay(1000);
          digitalWrite(0,0);     
        }//fin cde OUT1
        
        if(VAL == 1) {
          digitalWrite(1,1);
          delay(1000);
          digitalWrite(1,0);     
        }//fin cde OUT2
         
    }//fin nouvelle entrée
        
    }//fin loop

    Ce qui est surprenant, le message d’erreur disparait quand j’enlève les deux "delay (1000)"
    Or cette fonction était utilisée dans le sketck "BLINK"
    D’où vient le problème ?
    Je précise que mon IDE est en 1.6.12

    Répondre

    • Erreur de compilation 4 avril 2017 01:53, par Christian

      Bonjour,

      Je ne sais pas si votre code est la copie exacte du programme mais si c’est le cas, il manque déjà les accolades pour la fonction setup et les accolades pour la fonction loop.
      Je les ai donc rajoutées et après cela, j’ai réussi la compilation pour un ATtiny45 (à 8 MHz interne) ; le programme utilise 948 octets.
      Ce n’est pas le seul problème, il manque également les accolades pour les tests "if". En les ajoutant, cela compile à nouveau avec 938 octets. On peut se passer d’accolades s’il n’y a qu’une instruction à exécuter, mais il est conseillé de les mettre tout de même (pour la lisibilité du programme) et à fortiori s’il y a plusieurs lignes à exécuter.
      Corrigez votre programme et bonne compilation.

      Christian

      Répondre

      • Erreur de compilation 4 avril 2017 08:24, par Jean-Luc

        Bonjour,

        C’était un problème de formatage. les accolades sont des caractères utilisés pour les enrichissement typographiques dans les messages en réaction aux articles. Pour formatter du code, il faut écrire :

        < code class="arduino sans_telechargement">
        Le programme
        < /code>

        Sans les espaces entre < et code

        Répondre

    • Erreur de compilation 4 avril 2017 08:32, par Jean-Luc

      error : ld returned 5 exit status.

      ld est l’éditeur de liens. le binaire où se trouve la fonction delay n’est pas lié à votre programme on dirait. Quoiqu’il en soit, ce n’est pas lié à une erreur dans votre programme mais à un problème dans votre IDE. Pourriez vous mettre le mode verbose ON que l’on voit précisément les commandes de compilation qui sont effectuées.

      Répondre

      • Erreur de compilation 4 avril 2017 20:03, par loco28

        Je n’arrive pas à joindre une copie du résultat de la compilation.
        Quand je mets tout le texte, j’ai un message, au moment de la prévisualisation qui m’indique "vous avez une erreur de saisie, veuillez vérifier...." Le texte est-il trop long ?

        Sinon je pense qu’il y a un problème entre l’IDE et XP car j’ai fait un essai sous Windows 10 et tout c’est bien passé.

        Répondre

  • Une remarque : vous écrivez : « si la puce est programmée pour la première fois, allez dans Outils et faites « Graver la séquence d’initialisation ». Ceci n’est pas à refaire pour une reprogrammation de la puce. »

    J’ai téléversé mes programmes en négligeant cette étape, et je trouvais qu’ils fonctionnaient à peu près normalement. Mais par exemple mes commandes delay(1000) duraient à peu près huit fois plus longtemps et je ne comprenais pas pourquoi ! Je viens de comprendre que c’est parce que je n’avais pas gravé la séquence d’initialisation ! Graver cette séquence configure le microcontrôleur pour tourner non pas à 1 MHz mais à 8 MHz ! Sinon il reste à 1 MHz et delay() dure huit fois plus longtemps !

    Peut-être ce commentaire servira-t-il à quelques distraits ! :-)

    Répondre

    • Le microcontrôleur ATtiny45 (2) 11 mai 2018 09:32, par Dominique

      N’oubliez pas votre nom et votre mail !
      ... pour les distraits ;)

      Répondre

      • Le microcontrôleur ATtiny45 (2) 12 mai 2018 14:01, par Christian

        Un microcontrôleur peut travailler dans plusieurs modes. La gravure de la séquence d’initialisation sert à lui indiquer comment il doit travailler et surtout à quelle fréquence. C’est pour cela que l’IDE nous offre plusieurs possibilités pour les ATtiny. Ces choix sont automatiquement faits si on indique à l’IDE qu’on utilise telle ou telle carte Arduino.

        Répondre

        • Le microcontrôleur ATtiny45 (2) 19 mai 2018 18:28, par An

          Au fait, ça change quoi de modifier la vitesse du microcontrôleur ? Le microcontrôleur travaille juste plus ou moins vite, non ? Mais consomme un peu plus (ou un peu moins) ? Du coup, je me dis que pour de petits programmes simples comme ceux qu’on fait tourner sur l’ATtiny, il vaut mieux choisir une vitesse de fonctionnement de 1 MHz plutôt que 8 MHz, non ?

          Répondre

          • Le microcontrôleur ATtiny45 (2) 19 mai 2018 18:45, par Christian

            C’est vrai, plus un microcontrôleur travaille vite, plus il consomme et plus il chauffe.
            Si l’application n’a pas besoin d’une vitesse élevée (et c’est souvent le cas dans notre domaine), il peut être intéressant de choisir une fréquence plus faible. Parfois, l’application a besoin de vitesse de travail élevée (communication par exemple). C’est donc au programmeur de savoir comment il veut faire travailler son µC en fonction de ses contraintes de tâche à réaliser. Bien évidemment, si on utilise une bibliothèque, il faut respecter la façon dont elle a été conçue sinon on peut voir se produire des choses bizarres comme cela a été évoqué plus haut.

            Répondre

  • Le microcontrôleur ATtiny45 (2) 30 mai 2018 17:54, par croland51

    bonjour,
    je pense bien avoir suivi vos directives mais lors du deversement final j ’ai le message suivant : ligne 136 ’serial’was not declared in this scope
    je suis sur une carte Elegoo uno R3 et attiny 85
    Merci d’avance pour vos conseils

    Répondre

    • Le microcontrôleur ATtiny45 (2) 30 mai 2018 18:58, par Dominique

      Essayez avec un S majuscule à "Serial"
      Sinon, veuillez présenter votre programme complet sur le Forum.

      Répondre

      • Le microcontrôleur ATtiny45 (2) 31 mai 2018 01:51, par Christian

        Je pense que c’est un peu plus compliqué que cela mais j’ai assez peu d’éléments sur ce que le programme doit faire.
        Serial est une bibliothèque qui permet de faire communiquer une carte Arduino avec l’ordinateur. Pour cela, on utilise les pins 0 et 1 pour recevoir (Rx) ou transmettre (Tx). Or, ces signaux sont générés par l’USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) du µC ATmega328, ce qui n’existe pas pour l’ATtiny25/45/85.
        En conséquence, la bibliothèque Serial ne peut pas fonctionner sur un ATtiny ; c’est ce que j’ai dit dans les différents articles, le langage Arduino permet de faire certaines choses avec les ATtiny, mais hélas pas tout.
        Si malgré tout, vous voulez faire communiquer un ATtiny avec un autre composant, vous pouvez utiliser son USI (Universal Serial Interface) qui peut travailler selon plusieurs modes et générer des signaux de type SDA, SCL (Two-Wire) ou bien DO, DI et USCK (Three-Wire). Je ne connais pas votre niveau mais utiliser l’USI suppose de bien connaître la structure et le fonctionnement du µC.

        Répondre

        • Le microcontrôleur ATtiny45 (2) 31 mai 2018 19:02, par croland51

          bonjour,
          Merci pour vos réponses : je vais essayer d’être plus précis :
          Concernant mon niveau il est des plus modeste....
          En fait j’ai suivi le processus décrit dans ce module N°2 aux paragraphes suivants :

          • Transformer son module Uno en programmateur
          • Importation des fichiers nécessaires aux puces ATtiny
          • Programmation de la puce ATtiny
            le blocage lors du deversement provient du programme 11 ArduinoISP issu de "Exemple" dans Fichier : je n’ai pas fait de modification dans ce programme.
            Voila si cela peut permettre de trouver une solution
            Merci d’avance

          Répondre

          • Le microcontrôleur ATtiny45 (2) 31 mai 2018 21:43, par An

            Mais avez-vous suivi les instructions dans l’ordre ? Le téléversement du programme 11 ArduinoISP s’effectue dans le paragraphe Transformer son module Uno en programmateur, pas dans le paragraphe Programmation de la puce ATtiny ! Parce qu’à vous lire, on a l’impression que vous avez suivi les instructions jusqu’à Programmation de la puce ATtiny, et que seulement après vous avez téléversé ArduinoISP. Si c’est le cas, ça ne va pas ! Il faut faire les choses dans l’ordre !

            Répondre

        • Le microcontrôleur ATtiny45 (2) 31 mai 2018 22:03, par An

          La communication en série avec l’ATtiny n’était finalement pas le sens de la question de croland51, mais pour répondre malgré tout à votre commentaire il existe apparemment des manières pas trop compliquées de communiquer en série avec l’ATtiny en utilisant des broches libres de l’ATtiny et des bibliothèques comme TinyDebugSerial ou SoftwareSerial ou encore le programme TinyISP.

          Répondre

  • Le microcontrôleur ATtiny45 (2) 1er juin 2018 00:44, par Christian

    Pour répondre, j’ai besoin de savoir dans quelles circonstances exactes s’est produit la réponse de l’IDE signalant une erreur ’Serial’ à la ligne 136. Dans quel programme ? Je suppose que c’est dans le programme ArduinoISP...
    Si c’est bien le cas, ouvrez-le dans l’IDE, contrôler bien que vous êtes sur une carte Uno dans "Outils" et que le port COM est bien réglé, puis compilez ce programme avec l’icone "Vérifier".
    Vous devez obtenir 4420 octets en mémoire programme et 483 octets en SRAM (avec la version 1.8.5 de l’IDE, la dernière).
    Si c’est le cas, téléversez ce programme dans votre module Uno qui est alors un programmateur.
    Continuez la manip telle qu’elle est décrite au sujet des ATtiny. Vous pouvez faire l’essai de téléverser le programme Blink (en changeant la sortie de la LED) ; cela devrait fonctionner.

    Répondre

  • Le microcontrôleur ATtiny45 (2) 16 décembre 2018 14:15, par Christian

    Bonjour

    Je debute dans la programmation d’ATtiny (J’ai 60 Ans et quelques notions de programmation) je possède des Attiny85 et un Arduino UNO . la programmation sous arduino va bien , mais je souhaite miniaturiser mes automates sous le réseau de train et utiliser les Attiny85.

    J’ai bien suivi votre tuto , mais lors du téléversement du blink j’ai un message d’erreur . Le controle des lib , la compilation et la génération des fichiers s’effectuent correctement mais le transfert bug .. Ci-dessous les lignes d’erreurs ... Si vous pouvez m’éclairer .. merci d’avance

    ==============================================avrdude : AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.00s

    avrdude : Device signature = 0x000000 (retrying)

    Reading | ################################################## | 100% 0.01s

    avrdude : Device signature = 0x000000 (retrying)

    Une erreur est survenue lors du transfert du croquis
    Reading | ################################################## | 100% 0.01s

    avrdude : Device signature = 0x000000
    avrdude : Yikes ! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check.

    avrdude done. Thank you.

    Bibliothèque non valide trouvée dans C :\Users\tempo\Documents\Arduino\libraries\MsTimer2 : no headers files (.h) found in C :\Users\tempo\Documents\Arduino\libraries\MsTimer2
    Bibliothèque non valide trouvée dans C :\Users\tempo\Documents\Arduino\libraries\MsTimer2 : no headers files (.h) found in C :\Users\tempo\Documents\Arduino\libraries\MsTimer2
    =============================================

    Répondre

    • Le microcontrôleur ATtiny45 (2) 16 décembre 2018 18:04, par Christian

      Bonjour,

      Il est très difficile de répondre à ce genre de question : avez-vous bien suivi la procédure de programmation que j’ai décrite, n’avez-vous pas sauté d’étapes ?
      Si j’ai bien compris, vous avez cherché à téléverser le programme Blink dans un ATtiny85 (qui a le même brochage que l’ATtiny45, donc qui se relie à la carte Arduino Uno de la même façon). Et là, ça ne marche pas. Déjà, avez-vous pensé à modifier le programme Blink en remplaçant la sortie 13 (LED_BUILTIN) par 1 (par exemple) ?
      Ensuite, avez-vous auparavant téléversé le programme ArduinoISP dans votre carte Uno ? Pour effectuer le téléversement, avez-vous réglé le type de carte sur ATtiny85, avec la bonne fréquence horloge interne et le bon type de processeur ? Et quelle est votre version de l’IDE ?

      Sans ces renseignements, j’ai bien du mal à résoudre votre problème : le seul conseil que je puisse donner est de bien reprendre la procédure publiée et de la refaire en s’assurant de ne sauter aucune étape. Et aussi de faire "vérifier" avant de faire "téléverser" : cela peut déjà indiquer si le téléversement se fera correctement ou non.
      Voilà, je pense que vous devriez arriver au bout de votre programmation d’ATtiny. Il y a de nombreux détails à régler pour indiquer à l’IDE comment faire la programmation, mais ensuite vous ferez tout cela les yeux fermés lorsque vous aurez un peu l’habitude.

      Christian

      Répondre

  • Correspondance de broches entre Uno et ATtiny 18 janvier 2019 17:50, par lambda95t3

    Bonjour,
    Je voudrais quelques précisions si cela est possible.
    Au final, je souhaite piloter un servo avec un ATtiny85 sans branchement USB mais avec une alimentation 5V.
    J’utilise le kit de développement ATtiny85 de TXHANG, que vous signalez.

    Première remarque : ce kit présente 9 broches au lieu des 8 de l’ATtiny "brut" ; la broche supplémentaire semble être celle qui porte la mention "+5V" ; j’ai supposé que la broche Vin du TXHANG correspond à la broche Vcc de l’ATtiny. Correct ?

    J’ai testé mon programme de pilotage de servo sur un Uno, en utilisant les broches 2, 3, 5, 6 et 7 pour pouvoir basculer ensuite facilement le programme vers un ATtiny. Fonctionnement satisfaisant sur le Uno (la broche 5 pilote le servo, les autres broches sont en input de capteurs externes qui conditionnent le fonctionnement du servo).

    J’ai vu ensuite que pour piloter un servo avec un ATtiny, il faut utiliser la bibliothèque Servo8, que j’ai installée aprsè téléchargement sur github, et non pas Servo.
    J’ai modifié mon programme en conséquence pour utiliser Servo8. Pas d’erreur de compilation.

    Puis j’ai suivi la procédure pour que mon Arduino Uno puisse programmer l’ATtiny, en suivant le schéma de câblage que vous donnez en figure 1 du chapitre 2 ; l’ATtiny est donc alimenté par le 5V du Uno, lui-même alimenté par la prise USB. Précision : j’ai raccordé le +5V du Uno au +5V de l’ATtiny du TXHANG ; est-ce correct ou vaut-il mieux raccorder le +5V du Uno à la broche Vin de l’ATtiny TXHANG ?.

    Ensuite, j’ai fait un test avec le programme blink modifié pour faire clignoter une LED sur une des sorties de l’ATtiny.
    Tout s’est très bien passé.

    Maintenant, avant de me lancer dans les essais de pilotage du servo avec l’ATtiny, j’aimerais être sûr du repérage des broches entre Uno et ATtiny, pour savoir comment, dans mon programme Uno, je dois modifier/adapter les numéros de broches pour que ça fonctionne sur ATtiny sans mélanger les conditions. Pour le moment, je comprends que la correspondance des broches entre Uno et ATtiny est respectivement :
    1 <> PB5
    2 <> PB3
    3 <> PB4
    4 <> GND
    5 <> PB0 ; c’est donc PB0 qui piloterait mon servo puisque c’est la 5 sur le Uno
    6 <> PB1
    7 <> PB2
    8 <> Vcc
    C’est pour ça que j’ai utilisé les numéros de broches 2, 3, 5, 6 et 7 dans le programme du Uno. Mais si j’avais utilisé 4, je crois qu’il y aurait un problème, non ? Autrement dit, le numéro de broche 4 serait "interdit" quand on essaye son programme sur Uno avec l’intention de l’installer ensuite sur ATtiny ?
    Vous serait-il possible de clarifier ce point ?
    J’espère avoir été clair....
    Par avance merci, en plus des mille mercis pour avoir contruit ce remarquable site qui m’a mis le pied à l’étrier au point de me rendre addict ! ;-)

    Répondre

    • Correspondance de broches entre Uno et ATtiny 19 janvier 2019 09:55, par Christian

      Bonjour,

      Ce n’est pas dans la série d’articles que vous avez lu quelque chose sur le kit TXHANG que je ne connais pas moi-même. Peut-être en avez-vous entendu parler dans le forum ou bien dans certaines réponses faites à la suite de cet article. Aussi je vais avoir un peu de mal à vous répondre. Essayez dans un premier temps de trouver le schéma électronique de TXHANG pour comprendre la correspondance entre broches ; une recherche internet devrait résoudre ce point.
      Ensuite, lors de l’écriture de l’article sur le PN, je n’avais pas encore connaissance de la bibliothèque Servo8 et depuis que j’ai appris son existence, je n’ai pas encore eu l’occasion de la tester car occupé sur d’autres projets.
      Mais quand je lis ce que vous décrivez, le raccordement me semble bien fait si tant est que le +5 V du TXHANG soit bien raccordé au Vcc de l’ATtiny. Ensuite, vous dites que le programme Blink a bien fonctionné sur l’ATtiny ; c’est plutôt bon signe. La correspondance des broches est également correcte.
      Je suis par contre un peu perdu avec la fin de votre question, notamment la broche 4 de l’Uno qui serait "interdite" si on veut programmer un ATtiny ; je ne comprends pas ce que vous voulez dire.
      Tant que vous utilisez des broches numériques de votre Uno, cela devrait fonctionner sur l’ATtiny (à la numérotation près puisque l’ATtiny a moins de sortie).
      En fait, l’Uno sert à mettre au point le montage, puis on transfert sur ATtiny en demandant à l’IDE de compiler pour un ATtiny et en utilisant l’Uno comme programmateur.
      Si le problème vient de la bibliothèque Servo8, que je n’ai jamais utilisée, j’aurais du mal à vous répondre. L’article sur le PN montrait comment reconstituer un signal de Servo à partir de rien.
      Certains membres du forum utilisent sans doute cette bibliothèque et c’est pourquoi je vous invite à le consulter et à ouvrir votre propre fil pour demander de l’aide.
      Cordialement.

      Christian

      Répondre

  • Le microcontrôleur ATtiny45 (2) 19 janvier 2019 16:36

    Bonjour,
    merci pour votre réponse.
    Concernant le TXHANG, la référence figure dans le premier message du chapitre 1 de l’ATtiny. Ce kit ATtiny85 semble assez courant car j’ai acheté le mien (identique) ailleurs. Mais comme souvent sur ce genre d’objet, obtenir des informations à leur sujet est disons problématique ; alors on devine....

    Concernant la bibliothèque Servo8, je l’ai découverte également au chapitre 1, dans un message de Jean-Luc du 5 Décembre 2018 auquel vous avez répondu. Là aussi, je n’ai pas trouvé de documentation sur cette bibliothèque ; j’ai donc simplement remplacé les caractères "Servo" par les caractères "Servo8" dans mon programme et j’ai ainsi pu passer le stade de la compilation.

    Désolé pour mon manque de clarté sur l’utilisation de la broche 4. Ce que je veux dire, c’est que si un programme écrit sur Uno utilise la broche 4, et qu’on le téléverse sur l’ATtiny dont la broche 4 semble reliée directement au GND si j’ai bien compris, l’action espérée sur cette broche 4 ne va pas marcher très bien je pense. Mais bon : je peux toujours essayer en espérant ne rien cramer et on verra bien.

    Enfin, mon premier message n’avait pas pour but d’exposer un problème à résoudre (car là où j’en suis, je n’en ai pas rencontré d’insoluble), mais demandait simplement, avant de passer de la compilation à l’exécution, une clarification sur la correspondance des pins Uno et ATtiny (au cas où je ne serais pas le seul à me poser des questions). Mais je vais aller voir le forum, dans un premier temps pour en apprendre plus, et pour demander de l’aide si nécessaire.
    Banzaï pour passer à l’exécution ;-)

    Répondre

    • Le microcontrôleur ATtiny45 (2) 19 janvier 2019 16:58, par Christian

      Voilà, je comprends.
      Mais il semble que vous confondez N° de sortie digitale (la 4 par exemple, donc digitalWrite(4, HIGH) toujours par exemple) avec le N° de broche du Circuit Intégré : la broche 4 sur l’ATtiny est bien le GND et doit être reliée au moins de l’alimentation, tout comme Vcc (broche 8) doit être reliée au plus.
      Par exemple, sur l’Uno, la sortie digitale 4 est en fait la broche 6 du µC ATmega328 et le GND est la broche 8 (ou 22).
      Sur l’ATtiny, la sortie digitale 4 (ou encore PB4) est la broche 3 du µC ATtiny25/45/85 et la GND est la broche 4.
      Vous pouvez regarder les figures 1 et 2 du premier article sur les ATtiny et vous comprendrez ce que je vous dis.
      Logiquement, le compilateur de l’IDE connaît l’affectation des broches du µC et vous n’avez pas à vous en soucier. A la condition d’avoir bien fait la compilation pour l’ATtiny que vous utilisez et c’est pourquoi il faut aller dans le menu Outils de l’IDE pour régler modèle de µC et horloge.
      Si votre programme allume une LED sur la sortie 2 d’une carte Uno avec digitalWrite(2, HIGH); alors cela fonctionnera aussi avec l’ATtiny mais la LED doit être branchée sur la broche 7 du µC ATtiny25/45/85 (voir figure 1 déjà citée)
      Je pense que ceci devrait vous aider à avancer mais je reste à votre disposition si ce n’est pas clair.

      Répondre

  • Le microcontrôleur ATtiny45 (2) 27 novembre 2019 18:04, par MIGEON jacques

    Bonsoir Christian ,je n’arrive pas ,dans "PREFERENCES "URL gestionnaire de cartes supplémentaires a faire un copier /coller ,les touches de la souris sont inactives
    pouvez-vous m’aider si vous en connaissez la raison ?
    Merci

    Répondre

    • Le microcontrôleur ATtiny45 (2) 28 novembre 2019 09:21, par msport

      La souris n’a pas été implémentée partout dans l’IDE. Par contre le Ctrl-C/Ctrl-V fonctionne.

      Répondre

      • Le microcontrôleur ATtiny45 (2) 28 novembre 2019 11:43, par jacques migeon

        Merci pour cette première réponse ,effectivement j’ai pu mettre le lien dans préférences , j’ai cliquer sur Ok ,mais dans outils gestionnaire de carte pas de trace de attiny

        Répondre

  • Le microcontrôleur ATtiny45 (2) 28 novembre 2019 12:34, par msport

    Et pourtant dans le json du lien, il y a :
    "boards" : [
    "name" : "ATtiny45",
    "name" : "ATtiny85",
    "name" : "ATtiny44",
    "name" : "ATtiny84"
    Avec un redémarrage ?

    Répondre

  • Le microcontrôleur ATtiny45 (2) 28 novembre 2019 14:33, par msport

    Et des virgules entre les url ?

    Répondre

  • Le microcontrôleur ATtiny45 (2) 2 décembre 2019 10:48, par Phil95

    Bonjour,
    Est-ce qu’il est possible d’utiliser un Arduino Nano à la place d’un UNO pour programmer un ATtiny ?

    Répondre

    • Le microcontrôleur ATtiny45 (2) 2 décembre 2019 15:03, par Christian

      Rien ne s’y oppose puisque les cartes Nano et Uno sont construites autour du même microcontrôleur, l’ATmega328P.
      Ils n’ont bien sûr pas le même boitier : sur la carte Uno, le µC est enfiché dans un support, alors que sur la carte Nano, le µC est un composant CMS soudé. Mais ceci n’a aucune importance, l’intérieur est le même et les possibilités également.
      Personnellement, je ne l’ai jamais fait mais je reste assez confiant sur la faisabilité, à condition de bien utiliser les même signaux (MOSI, MISO et SCK plus broche 10 pour le RESET) et d’avoir bien paramétré l’IDE pour une carte Nano.
      Si vous tentez l’expérience, ouvrez un fil sur le forum pour en parler.

      Répondre

  • Le microcontrôleur ATtiny45 (2) 4 décembre 2019 22:04, par Phil95

    Incompréhensible : j’ai voulu ajouter une deuxième sortie PWM pour commander une deuxième LED, et ça ne compile pas.

    J’ai chercher quels pouvaient être les autres sorties configurable en PWM et j’ai trouvé ce code
    Programme ATtiny_troisPWM
    sur la page
    http://www.locoduino.org/spip.php?a...

    Ce code contient 3 sorties LED en PWM et ça compile !?!

    J’ai ajouter les fonctions millis() et ramdom() au programme ATtiny_troisPWM en me disant que peut-etre tout ça partageait des même ressources (timer ?), de l’ATtiny et bien ça compile toujours !?!

    Des idées ?

    Répondre

  • Le microcontrôleur ATtiny45 (2) 4 décembre 2019 22:09, par Phil95

    Bon j’ai trouvé : mauvaise déclaration de la deuxieme LED :
    J’ai écrit LED, au lieu de DEL.

    Répondre

  • Le microcontrôleur ATtiny45 (2) 4 janvier 2020 21:44, par daniel

    Bonjour..
    J’ai procédé à la programmation d’un attiny85 selon vos indications..Cela marche en partie , à savoir que la led clignote sur la broche 0 de l’attiny....dès que je change de broche ds blink..1,2,3 ou 4 ça ne marche plus !!

    Répondre

    • Le microcontrôleur ATtiny45 (2) 5 janvier 2020 16:09, par Christian

      Bonjour Daniel,

      Il aurait mieux valu ouvrir un fil dans le forum et y déposer votre programme modifié.
      Sans le programme, je ne sais pas exactement ce qui cloche mais plusieurs erreurs ont pu être commises :

      • avez-vous pensé à déclarer la nouvelle sortie dans le setup ?
      • n’avez-vous pas confondu numéro de broche du microcontrôleur et numéro de sortie (PB0, PB1, etc.) ?
      • êtes-vous sûr que le microcontrôleur marche toujours ? (c’est sensible aux décharges électrostatiques !)
      • avez-vous toujours le clignotement sur la broche 0 qui marchait initialement ? (cela signifierait qu’il n’a pas été reprogrammé)
      • lors de la reprogrammation avec une autre sortie que 0, avez-vous bien respecté la procédure donnée et fait tous les réglages dans l’IDE ?
        Chacune de ses questions peut vous aider à cerner le problème ; c’est ce qu’on appelle une recherche de panne. Je ne peux hélas pas répondre à votre place mais je vous invite à refaire votre programmation (d’abord avec sortie 0 puis une autre sortie) et à voir ce qui marche et à partir de quand ça ne marche plus.
        Cordialement.

      Christian

      Répondre

      • Le microcontrôleur ATtiny45 (2) 5 janvier 2020 16:23, par daniel

        Bonjour et merci beaucoup pour votre réponse rapide..
        Je n’ai aucune expérience dans ce domaine et après quelques tâtonnements...de plusieurs heures :-)), j’ai enfin compris le fonctionnement et rectifié le dysfonctionnement. Pour faire très court , cela ce résume à la première ligne de votre réponse dans les sources d’erreurs possibles... J’apprends par moi-même..j’espère avoir droit donc à la clémence de l’expert !! :-))
        Merci encore et bonne journée.
        Cordialement.

        Répondre

        • Le microcontrôleur ATtiny45 (2) 5 janvier 2020 16:43, par Christian

          Apprendre par soi-même et progresser est vraiment super et source de grande satisfaction !
          On fait tous des erreurs et si je devais faire la liste des erreurs que j’ai faites ou que je fais encore (distraction, quand tu nous tiens...), le site de Locoduino n’y suffirait pas !
          L’important est de rester persuadé que tout se solutionne et ne pas se décourager.
          Bonne entrée dans le monde d’Arduino.

          Répondre

  • Le microcontrôleur ATtiny45 (2) 12 janvier 2020 10:41, par Jean pierre

    Programmation Attiny45
    Bonjour, Je pense avoir bien respecte la procédure, pourtant je n’arrive pas à graver la séquence d’initialisation.
    avrdude : Yikes ! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check.
    Que faut-il faire ?
    ArduinoISP s’est enregistré sans problème. J’utilise un arduino Mega (Mon uno n’est plus reconnu).

    Merci d’avance

    Voir en ligne : Le microcontroleur Attiny45

    Répondre

    • Le microcontrôleur ATtiny45 (2) 12 janvier 2020 12:48, par Christian

      Bonjour Jean-Pierre,

      Quelles sorties avez-vous utilisées sur la carte Mega ?

      Christian

      Répondre

      • Le microcontrôleur ATtiny45 (2) 12 janvier 2020 14:06, par Jean-Pierre

        J’utilise exactement les mêmes sorties que pour un uno a savoir 13 12 11 et 10 pour le reset. Mon ATtiny n’a pas d’encoche mais un point qui je pense doit correspondre a l’entrée 1 (reset) et dans le sens inverse des aiguilles d’une montre la sortie 8 est le + 5v. Le port com est bien reconnu. J’ai sélectionné Attiny45 comme carte.jusque là tout va bien, mais impossible de graver et une autre erreur avec le blink.

        Répondre

        • Le microcontrôleur ATtiny45 (2) 12 janvier 2020 17:52, par Christian

          Et justement, le problème vient très certainement de là.
          J’ai écrit dans l’article :
          Les câbles verts sont les signaux de programmation proprement dit (MOSI, MISO et SCK)
          On voit donc que les signaux de programmation issus de la carte Uno vers le microcontrôleur passent par le bus SPI de la carte Uno, donc les sorties 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).
          Mais sur une carte Mega, le bus SPI n’est pas sur les mêmes sorties ; d’après la doc du site arduino.cc, on le trouve sur les sorties 50 (MISO), 51 (MOSI), 52 (SCK) et 53 (SS).
          Voici ce que vous pouvez essayer ;

          • garder la pin 10 du Mega pour le RESET
          • utiliser la pin 51 du Mega au lieu de 11 de l’Uno
          • utiliser la pin 50 du Mega au lieu de 12 de l’Uno
          • utiliser la pin 52 du Mega au lieu de 13 de l’Uno
            Ne l’ayant jamais tenté, je ne peux garantir le résultat car derrière tout cela, je ne suis pas allé voir comment opère le logiciel ArduinoISP.
            Mais la procédure disait bien de prendre une carte Uno...

          Répondre

          • Le microcontrôleur ATtiny45 (2) 12 janvier 2020 20:24, par Jean pierre

            Suivant vos conseils, j’ai recommencé a zéro toute la procédure en changeant les pins tels que vous le préconisiez mais malheureusement j’ai toujours ce problème de gravure et le blink ne fonctionne toujours pas. Demain je dois recevoir la UNO et j’espère que mes problèmes se dissiperont. Quoiqu’il en soit je vous remercie beaucoup de l’aide que vous m’avez apportée avec compétence et rapidité.
            Jean Pierre

            Répondre

            • Le microcontrôleur ATtiny45 (2) 13 janvier 2020 12:26, par Christian

              Si cela ne marche toujours pas avec une carte Uno et en suivant rigoureusement la procédure, il faut envisager que c’est le microcontrôleur lui-même qui peut être HS.

              Répondre

  • Le microcontrôleur ATtiny45 (2) 13 janvier 2020 16:33, par Jean-Pierre

    Je dois être maudit !!!. A réception de ma carte UNO, je me suis empressé d’exécuter un nouveau test. arduinoISP aucun problème, la gravure s’est effectuée sans problème, le blink également, aucune erreur mais lors du test la led s’éclaire mais ne glignote pas. + sur pin 0 et le moins à la masse. j’ai essayé avec les attiny45 en ma possession. j’ai même essayé avec 16 Mégahertz sans résultat. Par contre Le digispark Rev.3 ATtiny85 fonctionne correctement. Que faire ???

    Répondre

    • Le microcontrôleur ATtiny45 (2) 13 janvier 2020 17:59, par Christian

      Il y a forcément quelque chose que vous n’avez pas fait comme la procédure le demande car il n’y a pas de raison que cela marche chez moi (et chez d’autres) et pas chez vous !
      Mais déjà, êtes-vous certain que votre ATtiny soit toujours fonctionnel ? Est-il alimenté correctement ?
      ..
      Enfin, cet espace est surtout réservé pour poser des questions concernant l’article en lui-même.
      Pour résoudre un problème technique, je vous invite à ouvrir un fil sur le forum dès maintenant. Il y aura des gens pour vous aider.
      Ne vous découragez pas.
      Cordialement.

      Répondre

  • Le microcontrôleur ATtiny45 (2) 13 janvier 2020 21:06, par msport

    Sauf erreur, il faut graver le bootloader avant tout (?)

    Répondre

    • Le microcontrôleur ATtiny45 (2) 14 janvier 2020 09:46, par Christian

      Voici ce que je dis dans l’article :
      Première programmation du microcontrôleur ATtiny : si la puce est programmée pour la première fois, allez dans Outils et faites « Graver la séquence d’initialisation ». Ceci n’est pas à refaire pour une reprogrammation de la puce.
      Cette séquence d’initialisation permet entre autre au microcontrôleur de savoir comment il doit travailler (choix de l’horloge et de la fréquence par exemple). Ce n’est donc à faire que la première fois.

      Répondre

  • Le microcontrôleur ATtiny45 (2) 14 janvier 2020 10:29, par msport

    Oui, mais l’avez vous fait pour tous les attiny45 en votre possession.

    Répondre

  • Le microcontrôleur ATtiny45 (2) 14 janvier 2020 10:40, par Christian

    Non, je le fais au fur et à mesure que je pioche dans mes ATtiny neufs lorsque je veux faire un montage.
    Mais on peut aussi graver cette séquence sur tous les ATtiny qu’on reçoit ; ce qui est fait n’est plus à faire.

    Répondre

  • Le microcontrôleur ATtiny85 29 mars 2021 18:18, par Jacques Emile

    Bonjour, Je suis débutant en programmation et malgré mes progrès, j’ai un soucis pour modifier un programme simple -ci joint- pour le téléverser sur un ATtyni 85. Je n’ai aucun problème de programmation ni de téléversement sur ATtiny quand il s’agit d’un programme avec des Leds. Malheureusement, le programme comportant des moteurs ou un servomoteur me donne toujours en réponse : Erreur de compilation pour la carte ATtyni 85. Auriez-vous quelques conseils à me donner pour résoudre cette difficulté ? Je vous en serait très reconnaissant et vous en remercie.. Merci également pour votre site qui m’a donné envie de progresser dans ce domaine.

    Ci joint programme pour la manœuvre des ancres d’un modèle navigant :

    Programme supprimé par l’administrateur

    Répondre

    • Le microcontrôleur ATtiny85 29 mars 2021 19:00, par Christian

      Vous utilisez la bibliothèque Servo qui ne fonctionne pas sur un ATtiny. Je l’avais expliqué dans mon article 7 de la série ATtiny.
      Vous utilisez également la bibliothèque AFMotor que je ne connais pas ; avez-vous vérifié pour quel genre de cibles elle fonctionne ?
      Ce qu’il faut retenir, c’est que programmer un microcontrôleur comme les ATtiny ne peut pas toujours se faire à partir de ce qui fonctionne pour des cartes Arduino. Avec les LED, cela fonctionne. Avec un servomoteur, cela ne fonctionne plus et il faut faire différemment, comme expliqué dans le N°7.
      Relisez la série d’articles "Le microcontrôleur ATtiny45" et vous verrez qu’on peut tout de même utiliser un servomoteur ou même un moteur pas à pas.
      Et bonne navigation ! ;-)

      Répondre

  • Le microcontrôleur ATtiny45 26 avril 2021 14:25, par Nico

    Bonjour,
    Tout d’abord merci pour votre article détaillé sur l’Attiny (pour ma part j’utilise un Attiny85).
    J’arrive à faire le test avec Blink.
    Par contre, je bloque complètement avec un sktech partagé par quelqu’un qui l’a réalisé il y a quelques temps mais qui désormais, comme moi, à une erreur lors du téléversement.
    Voici le programme ci-dessous avec l’erreur indiquée à la fin du téléversement.
    Merci par avance pour une aide éventuelle. J’ai fait déjà de nombreuses recherches, en vain.

    Partie supprimée par l’administrateur

    Bonne journée à vous tous !

    Répondre

    • Le microcontrôleur ATtiny45 26 avril 2021 15:56, par Christian

      Je ne vais pas pouvoir vous aider beaucoup, pour deux raisons :
      Tout d’abord, votre programme utilise des bibliothèques que je ne connais pas et je ne sais pas si elles sont adaptées à la gamme ATtiny.
      Enfin, votre projet, tout à fait honorable, ressemble à de la domotique et ici, nous avons pour principe de ne traiter que de modélisme ferroviaire.
      Je suis bien persuadé que vous pourrez trouver de l’aide sur des forums spécialisés en domotique et je vous souhaite bonne chance. Je me permets de raccourcir votre question car cet espace est réservé à des discussions concernant l’article en lui-même et non à résoudre des problèmes de dysfonctionnement d’un montage ou d’un programme.
      Bien cordialement.

      Répondre

    • Le microcontrôleur ATtiny45 26 avril 2021 20:41, par Dominique

      Avez-vous lu l’article Programmation des ATtiny Digispark ?

      Répondre

  • Le microcontrôleur ATtiny45 (2) 23 décembre 2022 19:34, par BERNARD SEMHOUN

    bonjour Christian
    je vous remercie pour le travail effectuer
    je Vien de me mettre a l’Arduino Jai réussi a programmer des uno et des nano
    Mais la je me trouve bloquer pour programmer un atiny 85 mon souci et que tout ce passe bien jusqu’à ce que J’essaie de télé verser le programme dans l atiny il me répond
    "Erreur de téléchargement : un programmeur est nécessaire pour télécharger ai suivi toute ce qui et mentionner pour le chargement il me mais toujours le même message la version ide 2.03
    Merci de votre aide si cela et possible

    bernard

    Répondre

    • Le microcontrôleur ATtiny45 (2) 24 décembre 2022 10:07, par Christian

      Ouvrez un fil sur notre forum à ce sujet, puis donnez quelques informations car avec le peu que je connais, je ne peux pas répondre.
      Tout d’abord, comment avez-vous relié l’ATtiny à la carte Uno (une photo serait bienvenue) ?
      Ensuite, quel package avez-vous utilisé pour importer les caractéristiques des ATtiny ?
      Avez-vous programmé votre carte Uno avec ArduinoISP ?
      Avez-vous téléverser la séquence d’initialisation dans l’ATtiny ?
      Quels choix de réglage de l’IDE avez-vous faits ?
      Avez-vous essayé de programmer l’ATtiny avec l’IDE 1.8.19 ?
      Souvent, on croit avoir bien suivi une procédure mais il suffit d’oublier une seule chose pour que tout bloque.

      Répondre

  • Le microcontrôleur ATtiny45 (2) 24 décembre 2022 13:26, par BERNARD SEMHOUN

    bonjour christian
    déjà merci pour votre promptitude a répondre
    je voulez déjà m’excuser pour une erreur de ma par l IDE que j’utilise est la version 20.03
    1°j ai fait un montage qui ce connecte sur la Arduino.(je suis électronicien depuis 50 ans)
    2°ok Arduino isp
    3°initialisation atiny ok
    4°ok Arduino as isp
    5 version IDE 20.03
    6 ° je ne sais pas comment envoyer une photo

    Répondre

    • Le microcontrôleur ATtiny45 (2) 24 décembre 2022 14:22, par Christian

      Comme je vous l’ai dit, il faut ouvrir un fil sur le forum.
      Là, vous aurez la possibilité de joindre des fichiers (photo par exemple) en bas de la case pour répondre : tout est expliqué.
      L’IDE n’en est qu’à sa version 2.0.3 : utilisez-vous bien l’IDE d’Arduino ou un autre logiciel issu d’internet ?
      Ensuite, vous dites OK pour mes autres questions : c’est un peu court pour que je me fasse une idée. Par exemple, de qui vient le package pour inclure les ATtiny dans l’IDE ?
      C’est la dernière fois que je réponds à la suite d’un article : si vous voulez de l’aide (ce qu’on ne refuse pas), rendez-vous sur notre forum.
      Joyeux Noël.

      Répondre

  • Le microcontrôleur ATtiny45 (2) 25 décembre 2022 19:18, par bernard semhoun

    Bonsoir après plusieurs tentatives pour m’inscrire sur le site il me donne toujours le même message d’erreur
    je donne comme réponse Trains mania du 3 au 5 mai 2019 à Lille Grand Palais

    Les erreurs suivantes ont été détectées lors de votre inscription. Merci de les corriger pour pouvoir continuer :
    Vous n’avez pas répondu aux questions de vérification correctement.
    Trains mania du 3 au 5 mai 2019 à Lille Grand Palais

    Les erreurs suivantes ont été détectées lors de votre inscription. Merci de les corriger pour pouvoir continuer :
    Vous n’avez pas répondu aux questions de vérification correctement.
    Trains mania du 3 au 5 mai 2019 à Lille Grand Palais

    Répondre

  • Le microcontrôleur ATtiny45 (2) 25 décembre 2022 21:21, par msport

    Bonsoir,
    avez vous bien compris la question qui vous est posée ?
    Cordialement

    Répondre

  • Le microcontrôleur ATtiny45 (2) 28 janvier 2023 16:21, par jeepee0407

    Bonjour,
    Suivant la procédure j’ai pu « Graver la séquence d’initialisation » opération réussi
    Mais quelle type de carte choisir ? pour téléverser les programmes
    Avec par exemple la carte Attiny 45/85/(Optiboot) et le programme Blink j’ai l’erreur
    avrdude : verification error, first mismatch at byte 0x0000
    0x02 != 0x0e
    avrdude : verification error ; content mismatch
    Failed uploading : uploading error : exit status 1
    Merci pour vos réponse
    cordialement

    Répondre

    • Le microcontrôleur ATtiny45 (2) 28 janvier 2023 16:51, par Christian

      Il faut choisir ATTinyCore, puis ATtiny25/45/85(No bootloader).
      Ensuite choisir le type d’ATtiny dans Outils (de 25 à 85).
      Enfin, Clock Source à 8 MHz (internal).
      Et bien sûr, la carte Uno doit être un programmateur. Donc on choisit Programmateur > Arduino as ISP.
      Tout ceci a été décrit dans le paragraphe de l’article "Programmation de la puce ATtiny".

      Répondre

      • Le microcontrôleur ATtiny45 (2) 29 janvier 2023 11:32, par jeepee0407

        Bonjour,
        Après plusieur essais suivant la procédure j’ai bien l’information de Arduino IDE Le BootLoader à été gravé
        mais j’ai le message lors du téléversement du programes blink
        Le croquis utilise 464 octets (5%) de l’espace de stockage de programmes. Le maximum est de 8192 octets.
        Les variables globales utilisent 9 octets (1%) de mémoire dynamique, ce qui laisse 503 octets pour les variables locales. Le maximum est de 512 octets.
        A programmer is required to upload
        Merci pour vos réponse
        cordialment

        Répondre

        • Le microcontrôleur ATtiny45 (2) 29 janvier 2023 17:03, par Christian

          Ce n’est pas le bootloader qui est gravé mais la séquence d’initialisation.
          Reprenez l’article et suivez à la lettre la procédure.
          Enfin, pour vous aider, il faudrait que je connaisse votre système d’exploitation, la version de l’IDE et le noyau que vous avez choisi pour vos ATtiny, et enfin les réglages que vous avez faits dans le menu Outils.
          Si cela ne marche toujours pas, le mieux est de demander de l’aide sur notre forum. Un article a été écrit pour vous donner la marche à suivre.
          Cordialement.

          Répondre

          • Le microcontrôleur ATtiny45 (2) 29 janvier 2023 18:20, par jeepee0407

            Bonsoir,
            La version de Arduino IDE est 2.0.4.
            les paramètres de cartes, clock, cpu et programmateur sont identiques au fil de l’article
            Pouvez-Vous m’expliquez pourquoi le Prog Arduino peut graver la séquence d’initialisation et après il fait une erreur du type "Arduino as ISP" n’est pas correctement connecté à l’ordinateur " lors du téléversement du sketch Blink ?
            cordialement

            Répondre

            • Le microcontrôleur ATtiny45 (2) 31 janvier 2023 11:24, par Christian

              L’article n’utilise pas la version 2 de l’IDE, mais je ne pense pas que le problème vient de là.
              Vous dites que la séquence d’initialisation est gravée, mais en êtes-vous sûr ? Ne voyant pas ce qui se passe chez vous, je ne peux être aussi affirmatif.
              Si vous avez bien réglé l’IDE, il doit vous donner tout un tas de messages lors des phases de compilation et de téléversement. Cela nous permettrait d’en savoir plus. Mais la recopie de ces messages d’erreur n’a pas sa place ici.
              C’est pourquoi je vous invite à ouvrir un fil sur le forum pour rechercher de l’aide.
              Vos problèmes peuvent venir de beaucoup de choses :

              • la procédure n’est pas respectée à 100%
              • l’IDE n’est pas correctement réglé
              • la carte Uno n’est pas programmée en tant que programmateur ISP
              • Les liaisons entre la carte Uno et le µC ATtiny ne sont pas bien faites
                C’est donc difficile de vous aider et pour répondre à ces questions, seul le forum sera efficace.
                Je ne répondrai donc plus ICI et vos questions seront éliminées, purement et simplement parce qu’on l’a déjà dit plusieurs fois : ce n’est pas ici qu’on demande de l’aide.
                Merci de votre compréhension.

              Répondre

  • Le microcontrôleur ATtiny45 (2) 31 janvier 2023 16:01, par jeepee0407

    Bonjour,
    Merci pour votre réponse tardive qui n’a pas résolu mon problème.
    Après des recherches sur internet la procédure de téléversement via "Arduino as ISP sur ma version de ARDUINO 2.0.4.
    Mais ce fait par la commande CTRL+MAJ+U, et non pas par le "bouton flèche vers la droite" en haut et à gauche de la fenêtre du logiciel ARDUINO IDE.
    NOTA : il n’a pas de message dans la fenêtre sortie si la procédure n’a pas créer d’erreur, juste des "TexteBox temporaires avec un message de type : "la séquence d’initialisation a été gravée" où " Téléversement fais ".

    Cordialement

    Répondre

    • Le microcontrôleur ATtiny45 (2) 31 janvier 2023 16:23, par msport

      Bonjour,
      conclusion : vous n’avez pas suivi à la lettre la procédure.
      Et comme il est dit sur le Github de Spence Konde :
      IDE 2.0.x unsupported. If you use unsupported software please reproduce all issues in 1.8.13 before reporting.
      IDE 2.0.x non pris en charge. Si vous utilisez un logiciel non pris en charge, veuillez reproduire tous les problèmes dans 1.8.13 avant de signaler.

      Cordialement

      Répondre

    • Le microcontrôleur ATtiny45 (2) 1er février 2023 16:24, par Christian

      Désolé de ne pas être devant ma console H24 pour vous satisfaire !
      D’où l’intérêt d’utiliser le forum qui est lu par des centaines de gens.
      Bien réglé, l’IDE nous parle beaucoup même en absence de message d’erreur ; cela permet de voir les tâches qu’il exécute et ainsi comprendre ce qu’il pourrait se passer.
      Mais Michel aura su vous donner la solution : à l’époque où l’article a été écrit, l’IDE 2 n’existait pas. La procédure utilisait donc l’IDE 1, et quand ça ne fonctionne pas, il faut se mettre dans les mêmes conditions que l’auteur. Si vous suivez une procédure à la lettre, il n’y a pas de raison que cela fonctionne chez l’auteur et pas chez vous.

      Répondre

      • Le microcontrôleur ATtiny45 (2) 1er février 2023 18:56, par jeepee0407

        Bonsoir à Tous
        Je comprends très bien que vous voulez avoir le dernier mot dans les commentaires sur votre blog.
        Mais il serait judicieux de votre part et à l’avenir ; pour facilité les prochains lecteurs de votre blog et les novices sur la programmation du microcontrôleur ATtiny45 avec ARDUINO IDE 2.x.
        De prendre en compte la réponse de @pert sur le forum : https://forum.arduino.cc/t/cant-pro....
        Conservant "l’impossibilité de programmer un ATtiny 85 avec Arduino IDE".

        ci dessous le traduction en français par Google du message de @pert

        L’IDE Arduino classique a une fonctionnalité où l’auteur de la plate-forme de cartes peut configurer le bouton "Télécharger" pour qu’il fonctionne comme Sketch> Télécharger à l’aide du programmeur. C’est pratique pour les cartes qui n’ont pas de chargeur de démarrage, où vous voulez toujours faire un "téléchargement à l’aide du programmeur". DrAzzy a configuré les cartes ATTinyCore qui n’utilisent pas de chargeur de démarrage de cette manière.

        Malheureusement, Arduino IDE 2.x ne prend actuellement pas en charge cette fonctionnalité. Heureusement, il existe une solution de contournement très simple : utilisez simplement Sketch > Upload Using Programmer (ou Ctrl + Shift + u si vous préférez) lors du téléchargement sur votre ATtiny85.

        Cordialement

        Répondre

        • Le microcontrôleur ATtiny45 (2) 2 février 2023 11:43, par Christian

          Je programme sans problème des ATtiny avec l’IDE 1.8.19.
          Je l’ai encore fait lors de la publication de l’article récent sur un programmateur d’ATtiny.
          L’article sur lequel vous répondez ne dit rien d’autre.
          Et je ne cherche pas à avoir le dernier mot : je vous trouve discourtois par rapport à l’aide que nous essayons de vous apporter. Vous n’avez rien payé et ce n’est pas un service après vente ici !
          Faites comme nous faisons et vous y arriverez. Tout autre message de votre part sera mis à la poubelle.
          Cdlt.

          Répondre

  • Le microcontrôleur ATtiny45 (2) 9 mars 2023 21:53, par FredS

    Bonjour,
    Je suis débutant en programmation. Je souhaite programmer un ATtiny45 avec un Arduino MEGA 2560. J’ai suivi avec attention les tutos mais à la dernière étape après le téléversement du programme BLINK j’ai un message d’erreur "A programmer is required to upload".
    Pouvez vous m’aider SVP.
    Merci par avance
    Bien cordialement

    Répondre

    • Le microcontrôleur ATtiny45 (2) 10 mars 2023 09:47, par Christian

      Première question : avez-vous programmé votre carte MEGA 2560 avec le programme ArduinoISP ?
      Deuxième question : avez-vous relié l’ATtiny au bus SPI de la carte MEGA de façon correcte ? Attention, ce ne sont plus les broches 10, 11 et 12 d’une carte Uno. Vous pouvez connaître les broches SPI en téléchargeant le PDF "Full Pinout Diagram" du site Arduino, pour la carte MEGA. Vous pouvez utiliser le connecteur ICSP qui reprend le bus SPI.
      Si malgré cela vous n’y arrivez toujours pas, ouvrez un fil sur notre forum et expliquez en détail votre problème.

      Répondre

      • Le microcontrôleur ATtiny45 (2) 14 mars 2023 22:03, par FredS

        Bonsoir,
        Merci pour votre réponse.
        J’ai bien vérifié les connections et tout est ok, AduinoISP aussi. J’ai essayé avec un ARDUINO UNO avec un autre tuto et j’ai le même résultat.(Avec les connections 10 à 12 bien sûr) :"A programmer is required to upload".
        Que doit je faire ?
        Merci d’avance pour votre aide...
        F.

        Répondre

  • Le microcontrôleur ATtiny45 (2) 30 mars 2023 17:21, par FredS

    Bonjour,
    J’ai enfin trouvé la solution car dans le menu du logiciel IDE, il y a une option pour faire un téléversement spécifique en mode "AS ISP". Je tentais désespérément de faire un téléversement classique, ce qui ne marche pas.
    Merci pour votre soutien
    F.

    Répondre

    • Le microcontrôleur ATtiny45 (2) 30 mars 2023 19:38, par Christian

      Généralement, quand un lecteur n’y arrive pas, c’est qu’il a sauté une étape décrite dans l’article. Car effectivement, tout ceci est bel et bien décrit dans la procédure décrite dans l’article, et c’est de plus ce que disait mon dernier message.
      L’important est que vous ayez réglé votre problème, donc je vous souhaite de bonnes programmations, soit avec nos programmes soit avec ceux que vous développerez.
      Cordialement.

      Répondre

Réagissez à « Le microcontrôleur ATtiny45 (2) »

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Rubrique « Matériel »

Les derniers articles

Les articles les plus lus