IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Fichier sur carte SD


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Retraite
    Inscrit en
    Janvier 2019
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : Janvier 2019
    Messages : 81
    Par défaut Fichier sur carte SD
    Bonjour à tous

    Je voudrais faire des enregistrements de données (Température, pression, ...) sur une carte SD, jusqu'à là ça va encore , ou cela commence à se compliquer c'est que je voudrais que le fichier soit fait en fonction de la date. Je m'explique, aujourd'hui par exemple le fichier s'appelle 20012019 et demain automatiquement il se renomme 21012019. C'est possible/faisable ? Merci

    Amicalement, Fernand

  2. #2
    Membre Expert
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 017
    Par défaut
    Bonsoir Fernand
    Citation Envoyé par Fernand56 Voir le message
    C'est possible/faisable ?
    Oui
    Je t'ai fait un petit exemple, tu as juste à changer la variable

    #define sdCardCsPin 9 // Chip Select du lecteur de carte SD

    pour l'adapter à ton lecteur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    #include <SPI.h>                                           // Interface pour carte SD
    #include <SD.h>
    #define sdCardCsPin  9                                     // Chip Select du lecteur de carte SD
     
    //------------------------------------- Log file
    String logFileName = "";                                   // Nom du fichier d'enregistrement (String)
    char logSdFileName[13];                                    //                     ""          (char)
     
    byte sdCardErrors = 0;
     
    int jourMois = 1;
     
    void setup()
    {
    	Serial.begin(115200);
     
    	//------------------------------------- Demarrage carte SD
    	Serial.println("Initialisation carte SD...");
    	if (!SD.begin(sdCardCsPin))                            // Si la carte SD ne repond pas
    	{
    		Serial.println("Carte SD out ou absente");
    		return;
    	}
    	Serial.println("Carte SD OK");
     
    	delay(2000);
    }
     
    void loop()
    {
    	//--------------------------------- Construction du nom du fichier
    	String logFileNameBase = "012019.TXT";
     
    	logFileName = String(jourMois) + logFileNameBase;
    	logFileName.toCharArray(logSdFileName, 13);            // Mettre le nom du fichier string en tableau char()
    	                                                       // Maximum 8 caractères + extension (4) = 12+1
     
    	if ((millis()/1000) % 20 == 0)
    	{
    		jourMois ++;                                       // Change de date toutes les 20 secondes
    	}
    	                                                       // point et de l'extension +1
    	//---------------------------------																  
    	logFileAddLine(String(millis()));		               // Ecris la valeur de millis() sur la carte SD								
    	delay(2000);
    }
     
     
    void logFileAddLine(String lineAdded)
    {
    	noInterrupts();
    	File dataFile = SD.open(logSdFileName, FILE_WRITE);
    	if (dataFile)
    	{
    		dataFile.println(lineAdded);
    		dataFile.close();
    	}
    	else
    	{
    		Serial.println("error opening  " + (String)logSdFileName);
    		sdCardErrors ++;
    		dataFile.clearWriteError();
    		dataFile.close();
    	}
     
    	interrupts();
     
    	Serial.println("Ajoute au fichier " + logFileName + "  = " + lineAdded);
    }
    Le programme écrit la valeur de millis() toutes les 2 secondes et change le nom du fichier toutes les 20.

    Ce n'est certainement pas la meilleur façon de procéder mais ... ça fonctionne.
    A toi d'adapter les données de ta RTC pour en faire le nom du fichier, maximum 8 caractères + l'extension le point + 3 caractères 21012019.LOG par ex..

    Si tu as des questions je suis à ta disposition.

    Bonne soirée
    Cordialement
    jpbbricole

  3. #3
    Membre confirmé
    Homme Profil pro
    Retraite
    Inscrit en
    Janvier 2019
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : Janvier 2019
    Messages : 81
    Par défaut
    Bonsoir jpbbricole

    Décidément, je vais voir pour installer une ligne directe .

    Je te remercie, je regarde, je teste et je te tiens au courant, merci

    Bonne soirée

    amicalement, Fernand

  4. #4
    Membre confirmé
    Homme Profil pro
    Retraite
    Inscrit en
    Janvier 2019
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : Janvier 2019
    Messages : 81
    Par défaut
    Bonsoir jpbbricole

    Je viens de tester ton code, c'est impeccable, juste ce qu'il me fallait. Merci beaucoup.

    Bonne soirée

    amicalement, Fernand.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/10/2016, 20h03
  2. Lister fichier sur carte SD
    Par chapeau_melon dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 22/07/2013, 19h29
  3. Ecrire dans un fichier txt sur carte SD
    Par balsoni dans le forum Android
    Réponses: 3
    Dernier message: 07/04/2013, 19h50
  4. Ecrire dans un fichier txt sur carte SD
    Par Lyra1606 dans le forum Android
    Réponses: 5
    Dernier message: 05/04/2013, 19h16
  5. Fichiers présents sur carte SD mais invisibles
    Par vg-matrix dans le forum Composants
    Réponses: 3
    Dernier message: 30/08/2010, 18h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo