Accueil > Arduino, Matériel > Construire un Arduino

Construire un Arduino

Pourquoi construire son propre Arduino ? J’y vois 2 raisons essentielles :

– Pour finaliser un projet.

– Pour réduire le coût et ne pas à chaque fois acheter une carte Arduino.

D’excellents articles existent sur le net et je me suis basé sur ceux-ci :

http://electroniqueamateur.blogspot.fr/2012/09/fabriquer-son-propre-arduino-sur-un.html

http://arduino.cc/en/Tutorial/ArduinoToBreadboard

http://www.arduino.cc/en/Main/Standalone

Voici un tutoriel assez long qui va permettre de finaliser et de réduire les coûts de votre projet.

La première étape va consister à câbler les différents éléments afin de pouvoir installer le bootloader dans le micro contrôleur Atmega328; ceci pour réduire le prix d’achat, on économise de 1€50 à 5€ selon les sites.

A quoi sert le bootloader ? et bien tout simplement pour permettre de télécharger vos programmes entre l’IDE Arduino (interface de développement) et votre Arduino; également la possibilité de pouvoir exécuter votre programme lors du démarrage de l’Arduino.

Pour cela il va être nécessaire de posséder quelques éléments :

– Une carte Arduino Uno Rev 3 qui va nous servir à télécharger le bootloader sur l’Atmega328.

– Un Atmega328 sans bootloader.

– Une résistance de 10 Ko (pour ma part j’ai utilisé une résistance 8.2 Ko).

– Un Quartz de 16 MHz.

– Deux condensateurs de 20 pF (pour ma part j’utilise 2 condensateurs de 15 pF).

– Une plaque d’essai.

– Des fils.

 

La correspondance entre les broches de l’Atmega328 et les broches de l’Arduino sera nécessaire tout au long du tutoriel :

Le câblage à effectuer sera le suivant :

image

Voilà pour la partie câblage des différents composants. Maintenant on va se pencher sur la partie programmation.

La seconde étape consiste à pouvoir télécharger le bootloader sur l’Atmega328; pour cela lancer l’IDE Arduino et choisir le menu ‘Fichier/Exemples/ArduinoISP’ :

image

Dans le menu ‘Outils’, au niveau ‘Type de carte’ choisir ‘Arduino Uno’; au niveau ‘Port série’ sélectionner le port COM où est branché votre Arduino; au niveau ‘Programmateur’ sélectionner ‘Arduino as ISP’.

Charger le programme dans l’Arduino.

Dans le menu ‘Outils’, lancer ‘Graver la séquence d’initialisation’. Au bout d’un moment la gravure est effectuée :

image

Voilà le bootloader est chargé sur l’Atmega328. Simple non !

La troisième étape est la possibilité de pouvoir télécharger votre programme sur l’Atmega328. Afin de pouvoir réaliser cela simplement il sera nécessaire d’utiliser un convertisseur USB/série. Il est toujours possible de s’en passer mais dans ce cas, il sera nécessaire d’utiliser l’Arduino et de retirer l’Atmega328 de la carte. J’ai décidé d’utiliser celui réalisé par l’équipe Arduino (en créant 2 montages autonomes à base d’Atmega328, il sera rentabilisé) :

image

Afin de pouvoir utiliser, ce convertisseur USB/série, il est nécessaire de télécharger le driver http://arduino.cc/en/Main/USBSerial. Décompresser le fichier (il contient un fichier inf). Brancher le convertisseur sur le PC et lancer le gestionnaire de périphérique :

image

Sélectionner le périphérique ‘Arduino USB-Serial’ et clic droit afin de mettre à jour le pilote en indiquant le chemin où se trouve le pilote (attention avec Windows 8, il sera nécessaire d’effectuer une manipulation afin de pouvoir installer le pilote, voir mon article de démarrage avec l’Arduino). Après l’installation du pilote on obtient l’écran suivant :

image

Noter bien le numéro de port COM utilisé par le convertisseur.

Le câblage du convertisseur à votre Atmega328 sera le suivant :

image

L’entrée ‘Reset’ sera connectée à la broche 1 de l’Atmega328 via un condensateur de 100 nF (j’ai utilisé un condensateur de 472 nF).

Maintenant il faut vérifier le téléchargement d’un programme à partir de l’IDE Arduino.

Pour cela on va charger le programme d’exemple ‘Blink’; le programme  permet de faire clignoter une LED sur la broche 19 de l’Atmega328 (pin 13 au niveau de l’Arduino). Pour vérifier que tout est ok, brancher sur cette broche une résistance de 330 ohms et une LED en série relié à la masse.

Lancer l’IDE et charger le programme dans l’Atmega328 :

image

Si tout est Ok, la LED doit clignoter.

Maintenant, vous pouvez développer vos propres cartes compatibles Arduino et finaliser vos projets.

Catégories :Arduino, Matériel Étiquettes : , ,
  1. equinoxe
    14/09/2013 à 16:14

    Bonjour,
    J’ai suivi à la lettre votre tuto mais je n’arrive pas à graver mon bootloader…
    Est-ce necessaire d’avoir un circuit vierge sans bootloader ou est ce qu’on peut charger par dessus ? Merci de votre aide

    • 29/09/2013 à 11:48

      Bonjour,
      Il n’est pas nécessaire d’avoir un circuit vierge. Le bootloader peut être chargé à la demande

  2. laul
    01/10/2013 à 11:34

    Bonjour, j’ai pour projet de faire plusieurs Arduino pour ma domotique. Pour l’achats des composants (via ebay ?) vaut mieux prendre se que tu utilises ou la liste de basse ? merci

    • 01/10/2013 à 18:57

      Bonjour,
      Et bien moi j’ai testé avec les composants que je décris

      • laul
        07/10/2013 à 16:13

        ok merci 🙂

  3. christophe 34
    20/10/2013 à 20:44

    bonsoir,

    Félicitation pour ton tuto, il est pour moi un point de départ pour mon projet.

    Mais je crains n’avoir pas très bien bien compris quelques détails.

    Faut il déjà avoir une carte arduino équipée de sa puce ATmega pour pouvoir charger le bootloader dans un circuit vierge ?

    Voici d’autres questions :
    Le bootloader est il unique quelque soit la puce ATMega d’ ATMEL utilisée ou est ce que chaque puce à son propre bootloader ?

    Je recherche une solution me permettant de charger le bootloader dans n’importe quelle puce ATmega d’ATMEL sans passer par une carte arduino, puis bien évidemment d’y charger mon programme.
    J’imagine qu outre un ordinateur sous windows ou Linux et l’application qui va avec, il faudra peut être passer par un petit montage intermédiaire. Cela signifie aussi qu’il me faudra télécharger le bootloader à partir d’internet si cela est faisable.

    Est ce possible ? et comment faire ?

    En fait, je recherche une solution qui me permettrait d’être complétement autonome dans mes projets, quelque soit la puce ATmega utilisée.

    Merci pour votre aide.

  4. rol-rider
    28/11/2013 à 02:55

    Bravo,très bien ton tuto, juste une précision,on doit charger l’atmega328 de la carte uno avec le sketch ArduinoISP avant de ‘Graver la séquence d’initialisation’, j’avais zappé cette étape et ça marchait beaucoup moins bien!! effectivement, après, ça semble évident mais pour un débutant comme moi, pas tant que ça.
    merci

  5. ben
    01/12/2013 à 00:21

    Bonjour merci pour votre tuto.
    Juste une question j’ai vue que l’on pouvait ce passé des deux condensateur et du quartz.
    Mais quand je tente la manipulation j’ai droit à une belle erreurs de Invalid device signature.
    A votre avis c’est le symptôme du manque de ces composants ?

    • 08/01/2014 à 19:44

      Bonsoir, je ne sais pas mais si j’ai le temps je vais tester cela

  6. minicarpet
    07/01/2014 à 13:07

    Merci pour ce tuto ma fois très utile ! Mais j’ai une question à propos du reset. Une fois programmer, il suffit donc d’appliquer une tension de 5V sur l’Atmega328 ainsi on peut le faire fonctionner en stand-alone, mais j’arrive pas a faire un reset (avec un bouton). Lorsque j’enlève tout ce qui est relié au reset, ça fonctionne quand meme. Comment faire un reset du style des cartes Arduino (J’appuie sur un bouton = Reset). Merci beaucoup bonne journée.

  7. minicarpet
    07/01/2014 à 13:56

    Finalement j’ai trouvé Suffisait de rajouter un bouton relier a la masse et l’entrée Reset

  8. TOM
    11/05/2014 à 14:46

    Bonjour, merci pour le tuto.
    Juste un soucis pour moi: je n’ai pas de reset sur le convertisseur usb.
    J’ai essayer la technique d’un bouton sur la masse avec un appui au moment du téléchargement mais ça ne passe pas. Une idée?

    • 14/05/2014 à 18:50

      Bonsoir je n’ai pas de solution dans l’immédiat. C’est quoi comme modèle de ftdi car moi j’en possède 2 (arduino et dfr) et les 2 ont une broche RST

  9. olive
    21/06/2014 à 00:22

    bonjour, tout d’abord merci pour se très bon tuto.
    Mais j’ai un problème, quand je fait graver la séquence d’initialisation il me marque:
    avrdude: Yikes! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check.

    si vous avez des solution je suis preneur, voila 2 jour que je cherche pourquoi sa marche pas mais en vain…

  10. tome
    21/06/2014 à 02:16

    bonjour, tout d’abord merci pour ce tuto.
    J’ai un problème, quand je fait graver la séquence d’initialisation il me marque :
    avrdude: Yikes! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check.

    si vous avez des solution je suis preneur car voila 2 jour que je cherche pourquoi sa marche pas mais en vain.

  11. driss
    26/06/2015 à 20:32

    Merci pour ce tuto.

  12. ktmduke125ccc
    08/11/2015 à 02:37

    Bonjour, merci pour le tuto
    Est ce possible de faire la même chose avec un Atmega128. Je veux dire garder les composants citées dans le tuto et mettre une 128 à la place en adaptant le tout bien sur ?? …

  13. Trycup
    17/11/2015 à 10:56

    Bonjour , pourrais tu en faire pour faire des arduino nano (sur du AtMega 32U4 y’a les pinMapping sur Arduino.com) sa serait vraiment cool car je travaille suyr un projet comme sa . Merci beaucoup . En fait je veux faire un arduino sur mesure qui peut tenir dans une un diamètre de 3.5 centimètre .

  1. 18/02/2016 à 19:03

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :