Mettre un atmega328 en arduino

ici :

C'est bien le montage que j'ai fait, j'utilise bien un quartz à 16 MHz. Je te dis c'est parce que j'utilise un UNO que ça ne fonctionne pas

J'ai bien compris pourquoi cela ne fonctionne pas... puisque c'est moi qui te l'ai signalé.

Donc je récapitule, tu essay ele montage avec une Uno... ça ne marche pas.
Tu as des Duemilanova dont tu as pris les Mc pour les mettre ailleurs.
Tu veux bootloader des 328 pour les mettre sur tes Duemilanova.

Remplace ta Uno par une de tes duemilanove vide

T'es un peu en train de tortiller du croupion pour en faire une droite.... XD

C'est bien ce qu'il me semblait aussi. Mais si je mets ma duemilanove sans le µC ça va rien donner! Enfin j'essaie ça maintenant. Merci pour ton aide en tout cas :slight_smile:

Tu n'arrives pas à enlever le Mc de la Uno et le mettre sur la duemilanove ?

Si tu ne peux pas, je me demande si ce ne sera pas possible de ponter chaque pin de la Uno avec celle de la Duemilanove et faire le branchement comme indiqué avec le Breadboard.

Tu utilises comme cela le ftdi de la duemilanove et le Mc de la Uno...

En effet sans µC ça ne fonctionne pas. Pour ce qui est de ponter chaque pin, ça va être un peu compliqué en fait. J'aurais bien voulu me contenter de la carte que j'ai tiré mais ça ne va pas être possible.

Tu n'arrive pas à mette le Mc de la Uno sur l'autre ?

Si bien sûr j'y arrive mais ça foire toujours. C'est normal même si c'est un arduino duemilanove, le bootloader est toujours UNO

Il me semble que le bootloader en lui même soit similaire une fois chargé, ce qui change c'est la méthode du à la différence de puce (FTDI ou At8)

Pourtant j'ai essayé ce matin de mettre l'atmega de l'UNO dans la duemilanove mais ça n'a rien donné. Je vais retenter la chose

D'après ce que j'ai relu, l'Arduino ne sert que de programmeur, le bootloader vient d'un fichier sur ton ordi...

Quelle carte tu sélectionnes lorsque tu essayes de charger le bootloader ?

J'essaie l'arduino UNO ou la duemilanove, le résultat est le même. Par contre pour ce qui est du bootloader, je ne sais pas s'il faut prendre le premier ou le cinquième (le dernier). J'ai l'impression qu'il y a un problème au niveau du quartz, comme il y en a un sur l'arduino, celui qui est sur ma carte ne servirait à rien, non?

Justement, la différence du bootloader est là si il n'y a pas de de quartz sur le breadboard, il faut choisir le bootloader pour la lilypad ou la nano.

Je vais te paraitre stupide mais c'est quoi la lilypad?

Tu la trouveras là :

Ok, je vois mais je ne comprends pas ce que ça change. Enfin ici ça ne fait rien du tout, pourtant c'est pas faute de chercher

La différence c'est que si sur ton breadboard ton Mc fonctionne avec son horloge interne à 8MHz et que tu essayes de lui charger un bootloader en envoyant des infos à 16MHz.... ben ça va pas le faire.
Un peu comme si tu dois prendre le train, tu monte dedans quand il est encore à quai... pas trois minute plus tard XD.

Oui ça j'ai bien compris, moi sur ma carte (je n'aime pas de travailler sur breadboard en fait), j'ai un quartz à 16 M Hz en fait. Donc ce n'est pas un problème d'atmega selon moi

Bon... fait une photo pour montrer ton montage parceque là je ne comprends plus trop ce que tu utilises ou fait comme montage :sweat_smile:

Bonjour,

Jean-François:
La différence c'est que si sur ton breadboard ton Mc fonctionne avec son horloge interne à 8MHz et que tu essayes de lui charger un bootloader en envoyant des infos à 16MHz.... ben ça va pas le faire.
Un peu comme si tu dois prendre le train, tu monte dedans quand il est encore à quai... pas trois minute plus tard XD.

Je rajoute mon petit grain de sel, le bootloader doit être compiler pour le bon µc et avec la bonne fréquence de quartz, cependant il faut aussi que les fusibles soit correct sinon c'est comme vouloir faire avancer un train sans rails :wink:
Pour avoir les fusibles en hexa (donc rien à calculer !) dans le dossier hardware/arduino ce trouve boards.txt qui contient tout les fuses qui vont bien pour le bootloader spécifié.

Exemple, la uno :

uno.bootloader.low_fuses=0xff -> fusibles L
uno.bootloader.high_fuses=0xde -> fusibles H
uno.bootloader.extended_fuses=0x05 -> fusibles E
uno.bootloader.file=optiboot_atmega328.hex -> le fichier .hex du booloader (dans hardware/arduino/bootloader)
uno.build.mcu=atmega328p -> nom du µc ici un ATmega328[color=red]p[/color]
uno.build.f_cpu=16000000L -> quartz 16Mhz

ce qui donnerai :

avrdude -c avrisp -p atmega328p -U flash:w:optiboot_atmega328.hex
avrdude -c avrisp -p atmega328p -U lfuse:w:<0xFF>:m
avrdude -c avrisp -p atmega328p -U hfuse:w:<0xDE>:m
avrdude -c avrisp -p atmega328p -U efuse:w:<0x05>:m