Relever donnée capteur d'un vérin électrique avec shield

Salut , je voulais savoir comment faire pour relever des informations du capteur d'un vérin électrique .

Il faut que je puisse afficher les valeurs du capteurs (impulsion) sur la console IDE d'arduino mais je ne vois pas comment faire .

Merci d'avance pour votre aide .

Salut,

Va falloir être moins avare en info si tu veux qu'on te réponde parce que la on est pas devin ... Quelle modèle de verrin ? Une ref ? Quelles "informations" ? Température ? Position ? Angle par rapport au soleil ? Signe astrologique ?

clyveur44:
Salut , je voulais savoir comment faire pour relever des informations du capteur d'un vérin électrique .

Il faut que je puisse afficher les valeurs du capteurs (impulsion) sur la console IDE d'arduino mais je ne vois pas comment faire .

Merci d'avance pour votre aide .

bonjout
tu aurais du rester sur ton topic d'origine
http://forum.arduino.cc/index.php?&topic=215835.msg1589715#msg1589715
ceci etant les infos que tu donne n'expose pas un retour d'info venant du verin.
lien vers des caracteristiques plus approfondies ? (connections entre autres)

C'est le vérin électrique "KLD3" , 12v/24v dc motor , max speed 45mm/sec .

J'ai relevé qu'il faut 12 seconde pour qu'il effectu sa course entièrement et il a besoin d'environ 1070 impulsion pour effectuer sa course totale .

Donc j'ai brancher mon vérin électique a une alimentation de 12v , mon gnd & mon 5v est branché sur la carte arduino et je dois mesurer les impulsions envoyer sur 2 fils (Data1 et 2) quand mon vérin électrique est actionné .

Donc j'ai fais un programme tout simple , mais je ne relève rien (0) :

int receptionData1;
int capteur1;
int receptionData2;
int capteur2;

void setup ()
{
Serial.begin(9600);
}

void loop()
{
delay(1000);
receptionData1=analogRead(A1); //lecture Data1
Serial.print("Information Data1 = "); //affichage
Serial.println(capteur1); //affichage

receptionData2=analogRead(A4); //lecture Data2
Serial.print("Information Data2= "); //affichage
Serial.println(capteur2); //affichage

}

Il a besoin de 1070 impulsions ? Ou il te donne 1070 impulsions sur sa course ?

Quand tu écris delay(1000) ... ton arduino ne fait rien , il ne voit rien et n'entend rien ... Bref il dort ...

Avec analogRead ... Tu peux esperer voir une impulsion avec une probabilité de 1 sur 100 ( si tu optimises ton code et que tu n'envoies pas ta carte au dodo)... Donc c'est une mauvaise idée ...

Regarde du côté des interruptions ...

C'était trop beau pour être si simple ...

clyveur44:
C'est le vérin électrique "KLD3" , 12v/24v dc motor , max speed 45mm/sec .
...

essaye d'etre plus clair , TON verin QUE tu utilise c'est quelle reference exacte, surtout l'option de recopie ?
parce que des versions de KLD3 ce n'est pas ce qui manque :grin:
http://kinetic-systems.fr/catalog/client/document/kld3_115.pdf

En espérant que ce ne soit pas le standard ... Sans recopie :fearful:

B83s:
En espérant que ce ne soit pas le standard ... Sans recopie :fearful:

Il n'y a que toi qui peut savoir
soit tu l'a , soit tu l'a pas ...
et partant de là , c'est toi qui sait :grin:

Artouste:

B83s:
En espérant que ce ne soit pas le standard ... Sans recopie :fearful:

Il n'y a que toi qui peut savoir
soit tu l'a , soit tu l'a pas ...
et partant de là , c'est toi qui sait :grin:

C'est pas B83s l'auteur xD

oui ne tirez pas sur l'ambulance !

Merci B@tto !

Du coup j'ai refais mon programme qui était vraiment pas au point :0

int receptionData1; // Réception de l'info envoyée dans Data1
int Data1; // Incrémentation de la valeur Data 1
int capteurAngle; //Capteur angle du vérin électrique
int valeurAngle;

void setup ()
{
Serial.begin(9600);
}

void loop()
{
receptionData1=digitalRead(5); // Lire l'info envoyée dans la broche (5)
if (receptionData1 != 1) // Si l'info envoyé par data 1 est différente de 1
{
if (Data1 != receptionData1) // Et par conséquent si l'informatino Data1 est différente de la réception Data1
{
capteurAngle++; // Ajoutez 1 à la valeur de l'angle
valeurAngle=capteurAngle*0.110701107; //Coefficient directeur de la droite (impulsion en fonction des degrés et donc des mm)
Serial.print("Valeur angle= ");
Serial.println(valeurAngle);
}
}
Data1=receptionData1;
}

J'ai relevé les impulsions car je sais que pour 1084 impulsion il y a une course de 100mm d'effectué et 120 degré .

J'ai regarder avec le moniteur série et sa s'arrete à 70 (valeur de l'angle) .

C'est bien celui-ci comme vérin électrique http://kinetic-systems.fr/catalog/client/document/kld3_115.pdf

B83s:
oui ne tirez pas sur l'ambulance !

Merci B@tto !

:grin:
Désolé pour la meprise B83s 8)

clyveur44:
J'ai relevé les impulsions car je sais que pour 1084 impulsion il y a une course de 100mm d'effectué et 120 degré .

J'ai regarder avec le moniteur série et sa s'arrete à 70 (valeur de l'angle) .

bonjour
ça veut dire quoi exactement ?
ton verin bloque à 70° ou pour une course maxi de 120° le serial ne te renvoie que 70°
si c'est le 2eme cas , il est fort possible que tu perde des impulsions !
l'ideal avec les systeme à impulsion est de passer par une interruption pour le comptage

oui les interruptions c'est magique !

Ton programme ne peut voire une implusion qu'au moment du digitalRead ... si une impulsion intervient juste après (pendant un serial.print ou un if ou un delay ...) tu ne la vois pas !

Pour ça il y a les interruptions, qui même pendant un delay peuvent déclencher une action sur une impulsion :http://arduino.cc/en/Reference/AttachInterrupt

C'est pas si compliqué et quand ton programme sera plus évolué ce sera incontournable (ton programme est encore relativement léger et déjà il rate des impulsions...) ... alors autant commencer sur de bonnes bases