Bonjour,
Dans le cadre d'un projet en prépa, je dois, en résumant, mesurer des données grâce à un capteur qui doivent ensuite être envoyées dans ma carte SD, afin de récupérer ces données par la suite.
Pour cela je dispose de:
-carte arduino nano esp32
-capteur pression et température BMP280
-carte sd avec son support.
Malgré pas mal de recherches sur internet, je n'arrive pas à comprendre comment cela fonctionne. Voici doc mon programme actuel:
Actuellement il ne sert qu'à me renvoyer différentes données, pourriez vous m'aider à le modifier afin que ces données soient dans un fichier sur ma carte et aussi m'expliquer comment ouvrir ce fichier par la suite.
Merci!
A vrai dire, je n'ai encore rie fait dessus, enfin j'ai essayé des programmes trouvés sur internet étant en totale découverte sur cet aspect la, comment ca s'utilise?
Après plusieurs essais et des recherches sur ce que tu m'as dis j'arrive à ce programme qui me parait bon mais je n'arrive pas à créer le fichier data, le message d'erreur que j'ai programmé s'affiche tout le temps. Voici le code:
#include <Wire.h>
#include <Adafruit_BMP280.h>
#include <SPI.h>
#include <SD.h>
#define SD_CS_PIN 4 // Définir le numéro de broche pour le CS de la carte SD
Adafruit_BMP280 bmp;
File dataFile;
void setup() {
Serial.begin(9600);
// Initialiser la communication avec la carte SD
if (!SD.begin(SD_CS_PIN)) {
Serial.println("Erreur lors de l'initialisation de la carte SD !");
return;
}
// Initialiser le capteur BMP280
if (!bmp.begin(0x76)) {
Serial.println("Impossible de trouver un capteur BMP280 valide, vérifiez le câblage !");
while (1);
}
// Ouvrir un fichier sur la carte SD
dataFile = SD.open("data.txt", FILE_WRITE);
if (dataFile) {
Serial.println("Fichier 'data.txt' ouvert!");
dataFile.println("Temperature (*C), Pressure (hPa), Approx. Altitude (m)");
dataFile.close();
} else {
Serial.println("Erreur lors de l'ouverture du fichier 'data.txt' !");
}
}
void loop() {
float temperature = bmp.readTemperature();
float pressure = bmp.readPressure() / 100.0F;
float altitude = bmp.readAltitude(1023);
// Afficher les données sur le moniteur série
Serial.print("Temperature = ");
Serial.print(temperature);
Serial.println(" *C");
Serial.print("Pressure = ");
Serial.print(pressure);
Serial.println(" hPa");
Serial.print("Approx. Altitude = ");
Serial.print(altitude);
Serial.println(" m");
Serial.println();
// Ouvrir le fichier sur la carte SD
dataFile = SD.open("data.txt", FILE_WRITE);
if (dataFile) {
// Écrire les données dans le fichier
dataFile.print(temperature);
dataFile.print(", ");
dataFile.print(pressure);
dataFile.print(", ");
dataFile.println(altitude);
dataFile.close();
} else {
Serial.println("Erreur lors de l'ouverture du fichier 'data.txt' !");
}
delay(2000);
}
le 1er truc a faire c'est tester l'exemple card info de la biblio SD, sans bmp280
mauvais branchement lecteur sd, carte non formatée ou mauvais format, la sd doit etre en fat16 ou mieux fat32