Bonjour,
je souhaiterais (dans le cadre d'un projet d'étude de BTS Système électronique) réaliser une carte qui comprend les fonctionnement suivant :
• Détection d'un dépassement de seuil des axes d'un accéléromètre.
• Si dépassement des seuils envoie d'une trame définie selon un protocole commun
J'ai déjà réalisé c'est deux fonctions en voici le code :
/* Les broches:
analog 1: axe-x
analog 2: axe-y
analog 3: axe-z*/
// Ces constantes déclarent les broches.
const int groundpin = 18; // entrée analogique broche 4 -- GND
const int powerpin = 19; // entrée analogique broche 5 -- Vcc
const int xpin = A1; // axe-x
const int ypin = A2; // axe-y
const int zpin = A3; // axe-zint Seuil=730; // declare Seuil positif +2g
int Seuil0=300; // declare seuil negatif -2g
int incomingByte;// les valeurs minimales et maximales que prend le CAN
int minVal = 0;
int maxVal = 1024;void setup()
{
analogReference(EXTERNAL); // tension de réference du convetisseur
Serial.begin (9600); //vitesse de la liaison}
void loop()
{//lire les valeur analogique de l'accéléromètre et les mémorisers
int xRead = analogRead(xpin);
delay(1);
int yRead = analogRead(ypin);
delay(1);
int zRead = analogRead(zpin);
delay(1);int checkSensor();
{ // fonction de type int
if (xRead> Seuil || yRead> Seuil || zRead> Seuil) { // si la valeur analogique du capteur > 600
Serial.write("$ET3S");
delay(1);
}else if (xRead < Seuil0 || yRead < Seuil0 || zRead < Seuil0){
Serial.write("$ET3S");
delay(1);
}}
delay(30);}
Si vous avez des proposition pour améliore / optimiser ce petit programme je suis preneur.
Les fonctions suivante me pose problème :
• Envoi des deux seuils si une demande est faite par une commande précise
• Changement des seuils si une commande précise est envoyée
Le matériel utilisé (imposer) :
• Arduino Uno Rev3
• Adlx 335
Le protocole des différentes commandes :
$ET3S : détection d'un dépassement de seuil
$ET3S ? : Demande d'envoi des différent seuils
$ET3S1AZER: Changement du seuil1 par la valeur « AZER »
$ET3S2AZER :Changement du seuil2 par la valeur « AZER »
Alors voilà les différents problèmes que me pose c'est deux fonctions :
• Comment détecter la valeur $ sur Rx ?
• Comment enregistrer les caractère qui suivent le $ ?
Merci d'avance a tout commentaire et/ou réponse.