Bonjour,
Je suis en STI et notre établissement nous demande de réaliser un projet, un compte-tours de karting.
Nous avons fait la programmation du GPS, récupérer la fréquence d'un GBF et réussit à envoyer les données avec Xbee.
On nous demande maintenant de sauvegarder sur une carte SD (avec un shield) toutes ces données, et on a réalisé le programme de base qui fonctionne quand on envois des valeurs comme 1,2 ou 3 mais lorsqu'on essaye de sauvegarder les variables du programme de la fréquence (par exemple), la valeur se met à 0, sauf pour les tours par minutes.
Pouvez-vous nous aider car nous ne comprenons pas?
#include <FreqCount.h>
#include <SD.h>
File myFile;
int trs = 0;
int count = 0 ;
void setup() {
Serial.begin(57600);
FreqCount.begin(1000);
Serial.print("Initialisation de la carte SD... ");
pinMode(10, OUTPUT);
if (!SD.begin(4)) {
Serial.println("l'initialisation a echoue");
return;
Serial.println("finie");
}
}
void loop() {
if (FreqCount.available()) {
unsigned long count = FreqCount.read();
Serial.print(count);
Serial.println(" Hz ") ;
trs = count * 60;
Serial.print(trs) ;
Serial.println(" Trs/min " ) ;
delay(2000);
}
{
//Ouverture du ficher
//Un ficher seuleument ouvert en même temps. Doit fermer celui-ci pour en ouvrir un autre.
myFile = SD.open("data.txt", FILE_WRITE);
// si le ficher est bien ouvert, écrire:
if (myFile) {
Serial.print("Ecritude dans le document txt....");
myFile.print("Frequence: ") ;
myFile.print(count);
myFile.println(" Hz ") ;
myFile.print("Vitesse: ") ;
myFile.print(trs) ;
myFile.println(" Trs/min " ) ;
// fermer le ficher
myFile.close();
Serial.println("finie");
} else {
// si le ficher ne s'est pas ouvert, afficher
Serial.println("erreur d'ouvertude de data.txt");
}
}
}
PS : tout marche parfaitement sur le moniteur série, mais pas sur le ficher txt