Compatibilité de capteurs
Débuté par Astondb8-RX, mai 08 2011 06:16
13 réponses à ce sujet
#1
Posté 08 mai 2011 - 06:16
Bonjour,
Je voudrais savoir si tous les capteurs (quelle que soit leur origine) sont compatibles avec les signaux qu'attend une Arduino .
par exemple
Il y a certains capteurs pour lesquels c'est juste du délire (20 € pour 2 µrupteurs même s’il y a les vis de fixations) je trouve cela exorbitant, mais pour certain autre il n'est pas possible de faire autrement.
Vous par exemple, ou achetez vous vous capteurs (quel que soitle type de capteur)
Cdlt
Yves
Je voudrais savoir si tous les capteurs (quelle que soit leur origine) sont compatibles avec les signaux qu'attend une Arduino .
par exemple
Il y a certains capteurs pour lesquels c'est juste du délire (20 € pour 2 µrupteurs même s’il y a les vis de fixations) je trouve cela exorbitant, mais pour certain autre il n'est pas possible de faire autrement.
Vous par exemple, ou achetez vous vous capteurs (quel que soitle type de capteur)
Cdlt
Yves
#4
Posté 08 mai 2011 - 07:33
Merci
Et effectivement je comprends bien qu'il existe des capteurs "simples" qui ne renvoie qu'un 1 ou un 0 et d'autres plus "complexes" qui demandent un peu plus de connaissances.
Par exemple, sur un autre Post, Jbot nous montrait son Robot empileur de jetons. Il parlait d'un lecteur de code-barre. Il est évident que pour ce genre de capteur il faut non seulement déclencher la lecture des que le capteur reconnait un code-barre, mais il faut aussi gérer le décodage. Et là cela doit être plus complexe à gérer.
Question Jbot. Ton lecteur Code barre avait un Rx et un TXx(plus une alimentation (pin 2 et 3 d'une D-sub9 avec le 1 en masse je suppose)interprète tu le codes ?
Tu as une bibliothèque que tu inclus dans ton code C ?
En informatique, il faut déclarer le driver (une Dll dans win32) mais là ?
Sinon, ma question était surtout (même si je me doutais de la réponse) pour clarifier ce qu'ils disent dans les Docs du lien que j'ai donné (compatible avec telle ou telle carte)
Cdlt
Yves
Et effectivement je comprends bien qu'il existe des capteurs "simples" qui ne renvoie qu'un 1 ou un 0 et d'autres plus "complexes" qui demandent un peu plus de connaissances.
Par exemple, sur un autre Post, Jbot nous montrait son Robot empileur de jetons. Il parlait d'un lecteur de code-barre. Il est évident que pour ce genre de capteur il faut non seulement déclencher la lecture des que le capteur reconnait un code-barre, mais il faut aussi gérer le décodage. Et là cela doit être plus complexe à gérer.
Question Jbot. Ton lecteur Code barre avait un Rx et un TXx(plus une alimentation (pin 2 et 3 d'une D-sub9 avec le 1 en masse je suppose)interprète tu le codes ?
Tu as une bibliothèque que tu inclus dans ton code C ?
En informatique, il faut déclarer le driver (une Dll dans win32) mais là ?
Sinon, ma question était surtout (même si je me doutais de la réponse) pour clarifier ce qu'ils disent dans les Docs du lien que j'ai donné (compatible avec telle ou telle carte)
Cdlt
Yves
#5
Posté 08 mai 2011 - 07:49
Il y a 2 utilisations sur le PC, soit par port clavier (ça écrit ce que ça lit à la place de ton clavier),
soit par RS232, tu lis les valeurs du lecteur comme si tu lisais un port série.
Sur un microcontroleur, il n'y a que la 2eme solution. Tu fais des Serial.read() (sur arduino par exemple) et ca te renvoie le caractere que le code barre est en train de lire, dans mon cas par exemple : 'K' puis 'I' puis 'N' puis 'G' .
En gros c'est comme n'importe quel périphérique série.
soit par RS232, tu lis les valeurs du lecteur comme si tu lisais un port série.
Sur un microcontroleur, il n'y a que la 2eme solution. Tu fais des Serial.read() (sur arduino par exemple) et ca te renvoie le caractere que le code barre est en train de lire, dans mon cas par exemple : 'K' puis 'I' puis 'N' puis 'G' .
En gros c'est comme n'importe quel périphérique série.
#7
Posté 08 mai 2011 - 08:06
Exemple de code que j'utilise pour differencier si je viens de lire une reine (commence par un Q) ou un roi (ne commence pas par un Q) :
int result = 0;
if (Serial1.available()) {
if (Serial1.read() == 'Q')
result = 2;
else
result = 1;
}
while (Serial1.available()) {
Serial.print(Serial1.read()); // DEBUG
//Serial1.read();
}
return result;
}
[/code]
{
int result = 0;
if (Serial1.available()) {
if (Serial1.read() == 'Q')
result = 2;
else
result = 1;
}
while (Serial1.available()) {
Serial.print(Serial1.read()); // DEBUG
//Serial1.read();
}
return result;
}
[/code]
#8
Posté 08 mai 2011 - 09:15
Je débute alors, sois indulgent
Tu declare une variable "result" à laquelle tu donne une valeur de "0"
"Serial read" est lit la valeur retournée par le lecteur de code-barre
Tu fait une boucle qui test la valeur de "serial read"
Si "Serial read" est égal à "Q"
La variable "result" prend la valeur "2"
Sinon, elle prend la valeur "1"
Par contre le "Whi"l sert à continuer ta boucle tant que... tant que quoi ?
que veux dire "avelable" je ne trouve pas dans le code de Arduino
Merci
Cdlt
Yves
Tu declare une variable "result" à laquelle tu donne une valeur de "0"
"Serial read" est lit la valeur retournée par le lecteur de code-barre
Tu fait une boucle qui test la valeur de "serial read"
Si "Serial read" est égal à "Q"
La variable "result" prend la valeur "2"
Sinon, elle prend la valeur "1"
Par contre le "Whi"l sert à continuer ta boucle tant que... tant que quoi ?
que veux dire "avelable" je ne trouve pas dans le code de Arduino
Merci
Cdlt
Yves
#9
Posté 08 mai 2011 - 09:23
while (Serial1.available())
ca sert à continuer à vider le buffer de lecture (en gros si il y avait écrit QUEEN, ca sert a vider du buffer le "UEEN").
http://arduino.cc/fr/Main/Serialavailable
ca sert à continuer à vider le buffer de lecture (en gros si il y avait écrit QUEEN, ca sert a vider du buffer le "UEEN").
http://arduino.cc/fr/Main/Serialavailable
#11
Posté 08 mai 2011 - 09:35
Ben avec la page que tu m'avais linké, tu as les 3/4 de ce dont du auras besoin.
http://arduino.cc/fr/Main/ReferenceEtendue
Il te manquera juste les fonctions spécifiques a certaines librairies.
http://arduino.cc/fr/Main/ReferenceEtendue
Il te manquera juste les fonctions spécifiques a certaines librairies.
#13
Posté 09 mai 2011 - 12:09
les gens, souvenez vous que arduino c'est du c++ : http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B
Répondre à ce sujet
0 utilisateur(s) li(sen)t ce sujet
0 members, 0 guests, 0 anonymous users