stockage carte micro SDHC question + question différence SD et SDHC

Bonjour à tous, j’ai quelques questions concernant le stockage d’informations sur une carte micro SDHC.

Voilà, avec des amis, nous participons à un projet nommé CanSat. Le but est d’envoyer un mini satellite de la taille d’une canette à 1 km d’altitude. Lors de sa chute (freinée avec un parapente), cette canette devra relevée la température et la pression. Nous avons déjà réalisé le système avec arduino. Nous avons pour le capteur de pression et de température le BMP 280. Maintenant, nous avons besoin de pouvoir stocker les données que prendra ce capteur sur une carte micro SDHC. D’ailleurs, est-ce que quelqu’un pourrait m’expliquer quelle est la différence entre SD et SDHC ? :slight_smile:
Pour cela, nous avons un adaptateur : Cdiscount
Et une carte micro SDHC: https://www.reichelt.com/be/fr/carte-m-moire-microsdhc-4-go-transcend-classe-4-ts4gusdc4-p220711.html?PROVID=2812&gclid=Cj0KCQjwi7yCBhDJARIsAMWFScP9RhEjNz4QjtdbPlX-nRBBLbG8uhKNzsERf_h9O_0nD7YWOYwxcQMaAkqVEALw_wcB

Voici le code que nous avons fait pour la température, la pression et l’altitude :

#include <Wire.h>
#include <BMP180.h>

// création objet
BMP180 barometer;
// Utilisation du LED sur la carte pour indiquer si capteur OK
int indicatorLed = 13;

// Pression atmosphérique au niveau de la mer, voir météo locale pour cette donnée
float seaLevelPressure = 102100;

void setup()
{
 // Démarrage de la communication avec le moniteur série
 Serial.begin(9600);
 // Démarrage de la communication I2C avec le capteur
 Wire.begin();
 // initialisation de la DEL.
 pinMode(indicatorLed, OUTPUT);
 // on démarre la fonction
 barometer = BMP180();
 // vérification si le capteur est présent et fonctionnel
 if(barometer.EnsureConnected())
 {
 Serial.println("Connexion au BMP180 OK."); // Envoyer sur le moniteur série
 digitalWrite(indicatorLed, HIGH); // Allumer la DEL
 
 // Lorsque connecté, on réinitialise (reset) le capteur
 barometer.SoftReset();
 // On initialise le capteur
 barometer.Initialize();
 }
 else
 { 
 Serial.println("Pas de capteur.");
 digitalWrite(indicatorLed, LOW); // Ferme la DEL
 }
}

void loop()
{
 if(barometer.IsConnected)
 {
 // Mesure de la pression en Pascal.
 long currentPressure = barometer.GetPressure();
 
 // Envoyer la pression au moniteur série
 Serial.print("Pression: ");
 Serial.print(currentPressure);
 Serial.print(" Pa");
 
 // Caclule de l'altitude (en mètre), nécessite la pression au niveau de la mer de votre position
 float altitude = barometer.GetAltitude(seaLevelPressure);
 
 // Envoyer l'altitude au moniteur série
 Serial.print("\tAltitude: ");
 Serial.print(altitude);
 Serial.print(" m");
 
 // Mesurer la température (°C)
 float currentTemperature = barometer.GetTemperature();
 
 // Envoyer la température au moniteur série
 Serial.print("\tTempérature: ");
 Serial.print(currentTemperature);
 Serial.print("°C");
 
 Serial.println(); // Démarrer une nouvelle ligne.
 delay(1000); // Attendre 1 s avant prochaine lecture.
 }
}

Notre objectif est donc de relier notre adaptateur avec la carte micro SDHC à l’arduino et de donc pouvoir en temps réel transférer les données sur la carte.
Est-ce que par hasard quelqu’un pourrait nous indiquer comment est-ce que nous pourrions y arriver ?
Merci d’avance à tous, bonne fin de soirée !

D'ailleurs, est-ce que quelqu'un pourrait m'expliquer quelle est la différence entre SD et SDHC

pour la question sur SD et SDHC --> Caractéristiques et compatibilité des cartes SD/SDHC/SDXC

Votre adaptateur prenez une carte SD de quelques mégas, un petit Arduino ne va pas gérer de Gigas de données de toutes façons

Pour la gestion de la carte et l'écriture des informations, regardez les exemples de la bibliothèque SdFat

Bonsoir, merci beaucoup pour votre réponse ! Je pense qu'on ne vend plus que des cartes de minimum 1giga, pensez-vous que ça fera l'affaire ? Bonne fin de soirée :slight_smile:

Les bibliothèques pour les cartes SD fonctionnent avec un formatage FAT32 et dépassent facilement le Go. Perso j'ai des cartes 8Go et je n'ai jamais eu de problèmes.

Je voulais dire quelques gigas -> 2 ou 8 pas la peine de plus

Il est en céramique, le parapente ? Vous savez que les engins qui rentrent dans l'atmosphère, par exemple avec des humains à bord, subissent un échauffement énorme. Cf l'accident de la navette américaine, où un défaut sur une tuile de protection a laissé entrer du plasma à 5000°C dans l'aile et a détruit l'engin.

[edit] J'ai relu... 1 km d'altitude, ça va pas se satelliser. OK. C'est le "Sat" dans le nom du projet qui m'a trompé.

@vileroi @J-M-L Bonjour merci pour vos réponses !
@JiPe38 Bonjour, effectivement on l'appelle "satellite" mais c'est un bien grand mot...

On monte largement plus d’un km du sol en parapente et je suis (jusqu’à là...) toujours revenu sain et sauf - je n’ai pas pris 5000° :slight_smile:

Cela dit je suis un peu plus lourd que vos modules - vous êtes sûr que parapente est le terme ? N’est-ce pas simplement parachute ?

C'est là que réside la subtilité ! Pour toutes les autres équipes qui participent au projet CanSat (très connu d'ailleurs, vous trouverez beaucoup d'informations sur le net), un simple parachute est suffisant pour freiner la chute de leur canette. Dans notre cas, c'est différent, notre expérience secondaire (propore à chaque équipe qui participe), consiste à faire atterrir notre canette dans une zone préalablement déterminée. Pour cela, nous avons imaginé un système d'engrenages actionnés par un servomoteur qui permettrait de tirer les cordes d'un... parapente. Car oui, un simple parachute ne nous permettrait pas de diriger notre canette, nous avons donc utiliser le terme "parapente" car il est plus adéquat. Nous venons de finir de le coudre, il fait 80cm sur 80cm, il n'a pas toutes les caractéristiques d'un parapente mais on est pas loin :slight_smile:

cool. (c'est plus un "parachute directionnel" car le mot "pente" dans "parapente" sous entend que l'on part du sol pour décoller.)

Le pilotage n'est pas simple à réaliser en automatique mais en conditions météo "sympathiques" (pas de thermiques, pas de vent trop fort, pas de gradient) en connaissant la finesse de votre aile on peut commencer à faire des choses si bien sûr la zone cible n'est pas trop loin de la zone de largage.

Nous savons que ça ne va pas être précis comme système, mais le principale c'est le principe :slight_smile:

OK

--> ne faites pas 36 posts différents pour les mêmes sujets (vous parlez aussi de carte SD dans l'autre post)

Bien sûr, mais dans l'un je demande des détails pour le code et dans l'autre des détails concernant les branchements :confused: Mais je vais essayer de ne pas trop m'étaler.

Combien comptez vous faire de prise de mesure ... psk enregistrer ça directement dans la mémoire eeprom de la carte Feather MO pourrait faire l'affaire et vous enlèverez un consommateur.

Vous pouvez voir dans le message inital le code de notre température, pression et altitude. Il faut rejouter à celui là un code pour faire tourner un servomoteur, un code pour une carte GPS, un code pour une antenne émettrice et un code pour un interrupteur. Le tout devra fonctionner pendant plusieurs heures. Pensez-vous que la mémoire de la carte pourrait tout stocker ? Mais de toute façon, je pense que nous sommes obligés d’avoir un système de sauvegarde externe…

j'ai lu le règlement et effectivement ils disent bien

La température et la pression de l'air doivent être enregistrées au moins toutes les secondes sur une carte mémoire amovible. Contrairement à la campagne européenne et si les mesures sanitaires le permettent, le personnel d’ESERO France effectuera les lancements avec la présence des équipes sans radio en direct. Cette carte doit être facilement accessible/démontable pour les opérateurs de lancement