Pages: [1]   Go Down
Author Topic: ARduino ID ?  (Read 564 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour,

comment recuperer par programmation sur arduino le ID de la carte (celui qui s'affiche dans Tools....Serial port).

Merci

Seb
Logged

Sophia-Antipolis (06)
Offline Offline
God Member
*****
Karma: 4
Posts: 618
Rejoignez le club !
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ce n'est pas l'ID de la carte mais le numéro du port série de ton PC/Mac donc l'Arduino ne connait pas du tout ce numéro.

Si tu en as plusieurs dans Tools... Serial Port, c'est à toi de savoir lequel est le bon en faisant des tests. Je sais que c'est pas facile, j'ai parfois jusqu'à 5 numéros différents (deux Arduino, une carte myAVR, un programmeur ISP AVR, un module XBee...) mais généralement ils ne varient pas d'une session à l'autre donc on retrouve les mêmes nombres.
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci. en fait je cherche une solution pour identifier chaque carte sans avoir a injecter un code different (ou une valeur de variable differente).
Logged

Sophia-Antipolis (06)
Offline Offline
God Member
*****
Karma: 4
Posts: 618
Rejoignez le club !
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Je ne comprends pas ce que tu veux faire. Tu veux mettre le même code dans chacune des cartes mais que chaque carte puisse s'identifier indépendamment ? utilise une entrée analogique et un potentiomètre. Selon la section dans laquelle tu pointeras le potentiomètre, la carte pourra se donner un numéro.
« Last Edit: February 27, 2009, 02:15:11 am by julien@pobot.org » Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai 10 arduino qui doivent envoyer des infos a une 11eme et j'ai besoin de savoir de quelle arduino viennent les infos.

Donc il me faut une moyen de les identifier. Et si possible sans charger chacune avec un code different.



Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 27
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

D'abord: pas de faux espoirs, je n'ai pas de réponse à te donner !

Je crois comprendre que tu cherches un genre de CPUID comme chez Intel, et on dirait que rien n'existe pour l'ATmega utilisé par Arduino :-/

Si on regarde les spécifications de l'ATmega168, page 346 il n'existe pas de telle instruction qui pourrait donner des infos sur le CPU. Enfin page 287 ils parlent de 3 "signature bytes" mais qui sont fixes et ne définissent que le modèle de processeur utilisé (ATmega48, 88, ou 168), pas un identifiant unique.

Il faudrait donc voir du côté de l'Arduino elle même.

Je vois que l'Arduino possède une EEPROM de 512 octets ! Peut-être que ça pourrait t'être utile d'y stocker un numéro de série (avec EEPROM.write(...) avant toute communication dans un programme indépendant), et que tu lirais une fois (avec EEPROM.read(...)) au début du programme et que tu pourrais envoyer aux différentes Arduinos ?
Logged

Sophia-Antipolis (06)
Offline Offline
God Member
*****
Karma: 4
Posts: 618
Rejoignez le club !
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui mais ça oblige à avoir un code différent envoyé dans chaque carte (pour avoir un numéro dans l'EEPROM différent).

La solution avec un codeur sur la carte est la meilleure, avec 1 entrée analogique ou 4 entrées numériques.

Mais franchement, s'embêter pour ne pas avoir à changer une variable au moment de la programmation c'est un peu inutile.
Logged

Pages: [1]   Go Up
Jump to: