Enregistrer des données sur carte SD

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:

#include <Wire.h>
#include <Adafruit_BMP280.h>


Adafruit_BMP280 bmp;

void setup() {
  Serial.begin(9600);
  if (!bmp.begin(0x76)) {
    Serial.println("Could not find a valid BMP280 sensor, check wiring!");
    while (1);
  }
}

void loop() {
  Serial.print("Temperature = ");
  Serial.print(bmp.readTemperature());
  Serial.println(" *C");

  Serial.print("Pressure = ");
  Serial.print(bmp.readPressure() / 100.0F);
  Serial.println(" hPa");

  Serial.print("Approx. Altitude = ");
  Serial.print(bmp.readAltitude(1023));
  Serial.println(" m");

  Serial.println();
  delay(2000);
}

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!

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone

As tu essayé une librairie pour lire ou écrire sur une carte SD, comme celle-c

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?

Tu installe la librairie via le gestionnaire de librairie de l'IDE Arduino.
Puis tu essaye les différent exemple fournis avec la librairie.

Dans un deuxiéme temps, tu commences à manipuler le code dans tes proppres programmes, pour appréhender l'utilisation de la librairie.

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);
}

Peut tu indiquer lequel de tes messages d'erreur ?
Ou mieux faire un copier/coller du moniteur série.

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

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.