Yahoo refuse tous les emails du site. Si vous avez une adresse chez un autre prestataire, c'est le moment de l'utiliser ;)

En cas de soucis, n'hésitez pas à aller faire un tour sur la page de contact en bas de page.

Topic ""Barebones" arduino "

Flux RSS des posts récents dans ce topic ( Flux Atom)


Pas de photo de profil

sebas

Membre

#520 | Signaler ce message


Bonjour

Est-ce que quelqu'un pourrait me venir en aide pour la construction et programmation d'un "barebones" arduino basé sur un chip ATmega328P-PU ? (Acheté ici: http://www.ebay.com/itm/162268791626?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT)

J'ai suivi ce tutoriel: http://www.jameco.com/Jameco/workshop/JamecoBuilds/arduinocircuit.html

Mais je ne parviens pas à programmer mon Atmega (que je souhaite faire à l'aide d'un arduino uno ou nano). Il faut apparament graver le "bootloader". J'ai suivi ces instructions (http://www.martyncurrey.com/arduino-nano-as-an-isp-programmer/) mais sans succès, lorsque je téléverse un code simple rien ne se passe.

Le but est d'obtenir un arduino fonctionnel qui consomme peu d'énergie pour une station météo alimentée par énergie solaire.

Merci d'avance

Seb

Derniére modification le par sebas


Photo de profil de skywodd

skywodd

Membre

Membre du staff

#525 | Signaler ce message


Bonjour,

Acheter un ATMega328p sur ebay n'est pas une très bonne idée. On ne sait jamais vraiment ce qu'on achète (un vrai ou une contrefaçon).

Je te conseille d'acheter un programmateur d'AVR, de préférence un "usbtinyisp". L'utilisation de carte Arduino en programmateur est très aléatoire …


Pas de photo de profil

sebas

Membre

#528 | Signaler ce message


Merci. Un programmateur comme celui-ci? http://www.ebay.com/itm/5V-Micro-USB-Tiny-AVR-ISP-ATtiny44-USBTinyISP-Programmer-For-Arduino-Bootloader-/311566698886?hash=item488ad28986:g:v20AAOSw0UdXwlVq

Ou est-ce que je peux trouver des ATMega238p pas trop chers à part sur ebay?

A bientot, Seb


Photo de profil de skywodd

skywodd

Membre

Membre du staff

#536 | Signaler ce message


Merci. Un programmateur comme celui-ci?

par sebas

C'est un clone chinois de moindre qualité, mais ça devrait fonctionner.

Ou est-ce que je peux trouver des ATMega238p pas trop chers à part sur ebay?

par sebas

GoTronic ou Farnell par exemple, ça coûte entre 3€ et 4€ pièce. Par contre, à l'unité ce n'est pas intéressant à cause des frais de ports.


Pas de photo de profil

sebas

Membre

#537 | Signaler ce message


Merci.

Etonnant, les atmega328 chez Farnell ne sont pas plus chers que sur ebay. Un bon plan. Par contre pour le programmeur AVR c'est 10 fois plus cher.

Mon budget est très limité. Vous me direz autant abandonner l’électronique. Pour moi le principe du maker est low cost et doit être accessible à (presque) tous. Et si ça fonctionne, je passerai peut-être à un niveau d'investissement (et de qualité) supérieurs.

Je vous redonne des nouvelles des que j'ai reçu ma commande.

Bon week-end

Seb


Photo de profil de skywodd

skywodd

Membre

Membre du staff

#539 | Signaler ce message


Etonnant, les atmega328 chez Farnell ne sont pas plus chers que sur ebay. Un bon plan. Par contre pour le programmeur AVR c'est 10 fois plus cher.

par sebas

Et oui, eBay n'est pas forcément le moins cher ;)

Mon budget est très limité. Vous me direz autant abandonner l’électronique. Pour moi le principe du maker est low cost et doit être accessible à (presque) tous. Et si ça fonctionne, je passerai peut-être à un niveau d'investissement (et de qualité) supérieurs.

par sebas

L'électronique est un des rares domaines où le matériel peut aussi bien être hors de prix (matériel de labo) ou ultra low cost (chinois).


Pas de photo de profil

sebas

Membre

#585 | Signaler ce message


Bonjour, me revoila sur le forum apres avoir reçu mon matériel. Je rappelle mon objectif: programmer un atmega328 en "standalone" pour minimiser la consommation d'énergie. J'ai construit un "barebones arduino" selon ce modèle: http://www.jameco.com/Jameco/workshop/JamecoBuilds/arduinocircuit.html

J'ai ensuite acheté ce programmeur: http://www.hobbyist.co.nz/?q=usb-tiny-isp

Sur le programmeur il y a une sortie à 6 pins: VCC/GND/MOSI/MISO/SCK et Reset. J'ai branché VCC et GND sur les broches correspondantes de l'atmega, et MOSI/MISO/SCK les pins 11,12 et 13. Enusite j'ai monté le pin "reset" sur le pin 1 de l'atmega en parallèle avec le bouton reset et une résistance de 10k.

En essayant de téléverser un programme simple ("blink"), j'ai cette erreur:

"Arduino: 1.8.1 (Windows 7), Board: "Arduino/Genuino Uno"

Sketch uses 940 bytes (2%) of program storage space. Maximum is 32256 bytes. Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes. avrdude: ser_open(): can't open device "\\.\COM13": Le fichier spécifié est introuvable.

Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions."


Photo de profil de skywodd

skywodd

Membre

Membre du staff

#604 | Signaler ce message


avrdude: ser_open(): can't open device "\\.\COM13": Le fichier spécifié est introuvable.

par sebas

Le logiciel Arduino essaye de communiquer avec le port série COM13. Cela signifie qu'il tente de discuter avec un bootloader et non avec le programmateur.

Dans le menu de "Outils" / "Programmateur", il faut choisir le bon programmateur. Ensuite, dans le menu "Fichier" il faut choisir l'option "Upload avec un programmateur".

Le bouton Upload "normal" ne fonctionne pas avec un programmateur externe.

Solution alternative : utiliser le programmateur pour programmer un bootloader (dernière ligne du menu outils) puis programmer normalement l'atmega par la suite via un port série (comme avec une carte Arduino classique).


Pas de photo de profil

sebas

Membre

#606 | Signaler ce message


Merci. C'est fait. Maintenant l'erreur de port disparaît, mais j'ai une autre erreur:

avr-gcc: error: C:\Users\…\AppData\Local\Temp\arduino_build_351111/core\core.a: No such file or directory exit status 1 Error compiling for board Arduino/Genuino Uno.

J'utilise la version 1.8.1 de l'arduino IDE sous windows 7. J'ai tente de googler l'erreur, mais les indications obtenues sont incompréhensibles pour moi.


Photo de profil de skywodd

skywodd

Membre

Membre du staff

#608 | Signaler ce message


Merci. C'est fait. Maintenant l'erreur de port disparaît, mais j'ai une autre erreur:

1
2
3
4
avr-gcc: error: C:\Users\...\AppData\Local\Temp\arduino_build_351111/core\core.a: No such file or directory

exit status 1
Error compiling for board Arduino/Genuino Uno.
par sebas

En général, cette erreur en cache une autre.

En remontant l'historique de compilation, il devrait y avoir une autre ligne d'erreur (plus concrète) un peu plus haut (en orange).


Pas de photo de profil

sebas

Membre

#610 | Signaler ce message


Encore une fois merci. Je n'arrivais plus à rien compiler, j'ai réinstallé l'IDE et vidé les programme files d'arduino en prenant soin de sauver mes bibliothèques. Après cela mon IDE compile de nouveau. Mais en tenant de programmer l'atmega328 une nouvelle erreur apparaît (ici en détaillé):

En orange: "Le port série séléctionné avrdude : 1 retries during SPI command n’existe pas ou votre Arduino n’est pas connectée"

Puis:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
Arduino : 1.8.2 (Windows 7), Carte : "Arduino/Genuino Uno"

Le croquis utilise 940 octets (2%) de l'espace de stockage de programmes. Le maximum est de 32256 octets.
Les variables globales utilisent 9 octets (0%) de mémoire dynamique, ce qui laisse 2039 octets pour les variables locales. Le maximum est de 2048 octets.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cusbtiny -Uflash:w:C:\Users\SBASTI~1\AppData\Local\Temp\arduino_build_288768/Blink.ino.hex:i 

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : usbtiny
avrdude: usbdev_open(): Found USBtinyISP, bus:device: bus-0:\\.\libusb0-0001--0x1781-0x0c9f
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : USBtiny
         Description     : USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/
avrdude: programmer operation not supported

avrdude: Using SCK period of 10 usec
avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: Using SCK period of 10 usec
avrdude: reading input file "C:\Users\SBASTI~1\AppData\Local\Temp\arduino_build_288768/Blink.ino.hex"
avrdude: writing flash (940 bytes):

Writing | 
avrdude: error: usbtiny_send:  (expected 128, got -5)
######avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
###avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
##avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
##avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 2 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
###avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
##avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
#avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
# | 100% 2.42s

avrdude: 940 bytes of flash written
avrdude: verifying flash memory against C:\Users\SBASTI~1\AppData\Local\Temp\arduino_build_288768/Blink.ino.hex:
avrdude: load data flash data from input file C:\Users\SBASTI~1\AppData\Local\Temp\arduino_build_288768/Blink.ino.hex:
avrdude: input file C:\Users\SBASTI~1\AppData\Local\Temp\arduino_build_288768/Blink.ino.hex contains 940 bytes
avrdude: reading on-chip flash data:

Reading | 
avrdude: error: usbtiny_receive:  (expected 128, got -5)
######avrdude: 10 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 2 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
avrdude: 1 retries during SPI command
le port série sélectionné avrdude: 1 retries during SPI command
 n'existe pas ou votre Arduino n'est pas connectée
############################################ | 100% 2.42s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0213
         0x00 != 0x1c
avrdude: verification error; content mismatch

avrdude done.  Thank you.

Comme la carte atmega328 n'est pas dans la liste (j'utilise un atmega328P-PU) j'ai téléchargé et installé le module MiniCore (https://github.com/MCUdude/MiniCore). Même avec le module et l'option atmega328P la même erreur apparaît.

Par contre, une fois sur deux mon script (blink) est bien téléversé et la led clignote comme programmée, malgré le message d'erreur….

Est-ce c'est un probleme de bootloader (normalement les atmega achetes sont déjà bootloades pour arduino)

Derniére modification le par sebas


Photo de profil de skywodd

skywodd

Membre

Membre du staff

#628 | Signaler ce message


Comme la carte atmega328 n'est pas dans la liste (j'utilise un atmega328P-PU) j'ai téléchargé et installé le module MiniCore (https://github.com/MCUdude/MiniCore). Même avec le module et l'option atmega328P la même erreur apparaît.

par sebas

L'ATmega328P est au cœur de toutes les cartes Arduino classiques (UNO, Nano et Mini). Inutile donc de télécharger quoi que se soit en plus.

De plus, l'erreur ici est liée au programmateur, pas au code.

Est-ce c'est un probleme de bootloader (normalement les atmega achetes sont déjà bootloades pour arduino)

par sebas

Je croix qu'il y a une incompréhension dans le fonctionnement d'un bootloader.

On programme le bootloader via un programmateur d'AVR avec l'option "Graver la séquence d’initialisation" du logiciel Arduino.

Une fois le bootloader en place, plus besoin d'un programmateur d'AVR. A la place on utilise un dongle USB-série (5 volts ou 3.3 volts selon le montage) câblé sur les broches RX et TX de l'ATmega.

Le bootloader écoute le port série au démarrage et permet la programmation SANS programmateur par la suite.

Si vous utilisez directement le mode de programmation par programmateur (shift + bouton upload, ou l'option qui va bien dans le menu Fichiers), vous n'avez pas besoin d'un bootloader.

Par contre, dans ce cas, il ne doit pas y avoir d'erreurs. S'il y a des erreurs, c'est que le programmateur et/ou le câblage est foireux.