Sujet : surProblème avec RTClib.h

Bonjour à tous,

Je ne sais pas si c'est ici que je dois posté !!!!, mais, ayant dû changer de PC entre temps, j’ai maintenant un portable équipé avec Windows 8.

Voulant utiliser à nouveau le programme ci-après, mis au point par Rovhel le mardi 20 août à 19 h 11 et qui a fonctionné correctement sous Vista sur l'ancien PC, malgré de très nombreux essais glanés ici et là, je n’ai pas réussi à lui faire passer l’étape de la vérification avant de le téléverser sur le nouveau PC.

J’ai constamment cet arrêt sur « RTC_DS1307 RTC ; » avec l’indication : does not name à type.(error :RTClib.h : no such file or directory)

Voici ce que je fais avant :

- sur le site GitHub, j’ai effectué le télécharge postal RTClib.
- Je le retrouve dans « le téléchargement » sous RTClib-master
- je remplace le tiret « - »  par le souligner « _ »
- j’extrais en dézippant et obtiens un dossier RTClib_master dans « Téléchargement ».
- Je le copie.
- j’ouvre dans programme files(x86) « Arduino ».
- j’ouvre libraries et colle RTClib_master qui apparaît bien dans « Libraries.
- je ferme tout.
- je lance Arduino et là, j’ai bien l’indication de la présence « RTClib_master » dans la bibliothèque. (En ouvrant ce fichier j’ai : un dossier exemple ; keybord ; RTClib.ccp ; RTClib.h

Mais quand je lance la vérification de mon programme avant de le téléverser, j’ai l’indication suivante :   « does not name a type ».

D’avance merci à tous de votre aide.
Bonjour,

Ayant dû changer de PC, j’ai maintenant un portable équipé avec Windows 8.

Voulant utiliser à nouveau le programme ci-après et qui a fonctionné correctement sous Vista, malgré de très nombreux essais glanés ici et là, je n’ai pas réussi à lui faire passer l’étape de la vérification avant de le téléverser.

J’ai constamment cet arrêt sur « RTC_DS1307 RTC ; » avec l’indication : does not name à type.(error :RTClib.h : no such file or directory)

Voici ce que je fais avant :

- sur le site GitHub, j’ai effectué le télécharge postal RTClib.
- Je le retrouve dans « le téléchargement » sous RTClib-master
- je remplace le tiret « - »  par le souligner « _ »
- j’extrais en dézippant et obtiens un dossier RTClib_master dans « Téléchargement ».
- Je le copie.
- j’ouvre dans programme files(x86) « Arduino ».
- j’ouvre libraries et colle RTClib_master qui apparaît bien dans « Libraries.
- je ferme tout.
- je lance Arduino et là, j’ai bien l’indication de la présence « RTClib_master » dans la bibliothèque. (En ouvrant ce fichier j’ai : un dossier exemple ; keybord ; RTClib.ccp ; RTClib.h

Mais quand je lance la vérification de mon programme avant de le téléverser, j’ai l’indication suivante :   « does not name a type ».

D’avance merci à tous de votre aide.

Voici le programme qui refuse de se laisser vérifier:

/* mardi 20 août à 19 h 11
 
 ** Étape 2
 
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4
 ** DS1307 sur analog 4 et 5
 */

#include <SD.h>

#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 RTC;
const int chipSelect = 4;

const int FERMETURE=0; // constante état de l'ILS
const int OUVERT=1; // constante état de l'ILS

const int ILS=2; //declaration constante de la broche ILS 
const int LEDVERT=3; //declaration constante de la broche FERMETURE
const int LEDROUGE=6; //declaration constante de la broche OUVERT


// Déclaration des variables globales

int ETAT_ILS=0; // variable d'état de la porte surveillée
int LAST_ILS; // variable d'etat au passé
int a=1;

// Initialisation des fonctionnalités utilisées

void enregistrer(int etat);

// VI - FONCTION SETUP

// C’est le code d'initialisation. La fonction setup () est exécutée en premier et 1 seule fois, au démarrage du programme

void setup()   { // debut de la fonction setup()

  pinMode(ILS, INPUT); //met la broche en entrée
  pinMode(LEDVERT, OUTPUT); //met la broche 3 en sortie
  pinMode(LEDROUGE, OUTPUT); //met la broche 6 en sortie 

  digitalWrite(ILS, HIGH) ; // activation du pullup de la broche en entrée
  // Open serial communications and wait for port to open:
    Serial.begin(57600);
    Wire.begin();
    RTC.begin();
 
  if (! RTC.isrunning()) {
    Serial.println("RTC introuvable!");
    // commenter la ligne suivante quand le bon fonctionnement du module est constaté
    RTC.adjust(DateTime(__DATE__, __TIME__));
  }
  Serial.print("Initialisation de la carte...");
  // make sure that the default chip select pin is set to
  // output, even if you don't use it:
  pinMode(10, OUTPUT);

  if (!SD.begin(chipSelect)) {
    Serial.println("Absence de la carte !");
    return;
  }
  Serial.println("carte SD correcte.");

  File dataFile = SD.open("datalog.txt", FILE_WRITE);
  if (dataFile) {
    dataFile.print("No");
    dataFile.print(";");
    dataFile.print("Temps"); // temps depuis que l'arduino est allumé. Remplacer plus tard avec l'implantation d'une vrai horloge
    dataFile.print(";");
    dataFile.print("Action");
    dataFile.print(";"); 
    dataFile.print("Heure");
    dataFile.println(";");//saut de ligne
    dataFile.close();
    
  }  
  // if the file isn't open, pop up an error:
  else {
    Serial.println("error opening datalog.txt");
  } 

  LAST_ILS=ETAT_ILS;
} // fin de la fonction setup()

// VII - FONCTION LOOP

// la fonction loop coeur du programme () s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension

void loop(){ // debut de la fonction loop()

  // Instructions à exécuter par le programme principal

  ETAT_ILS=digitalRead(ILS); // lit l'état du BP et met la valeur 0/1 dans la variable

  if (LAST_ILS!=ETAT_ILS)
  {
    enregistrer(ETAT_ILS);
  }

  LAST_ILS=ETAT_ILS;


  if (ETAT_ILS==FERMETURE){ // si la porte est fermée (c’est-à-dire si la variable état ILS = 0 
    // Attention à bien utiliser == et non =

    digitalWrite(LEDROUGE,0); // allume la LED ROUGE
    delay (100);
    digitalWrite(LEDVERT,1); // éteint la LED VERT
    delay(100);
  }

  else { // sinon (c’est-à-dire si variable état ILS=1)

    digitalWrite(LEDROUGE,1); // éteint la LED ROUGE
    delay(100);
    digitalWrite(LEDVERT,0); // allume la LED VERT
    delay(3000);
  }

} // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin
void enregistrer(int etat)
{
DateTime now = RTC.now();
  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
  File dataFile = SD.open("datalog.txt", FILE_WRITE);

  // if the file is available, write to it:

  if (dataFile) {
    dataFile.print(a);
    dataFile.print(" ; "); 
    dataFile.print(millis());
    dataFile.print(" ; "); 

    if (etat==1) {
      dataFile.print("fermeture");
    }
    else
    {
      dataFile.print("ouverture");
    }

    dataFile.print(" ; "); 
    dataFile.print(now.day(), DEC);
    dataFile.print('/');
    dataFile.print(now.month(), DEC);
    dataFile.print('/');
    dataFile.print(now.year(), DEC);
    dataFile.print(' ');
    dataFile.print(now.hour(), DEC);
    dataFile.print(':');
    dataFile.print(now.minute(), DEC);
    dataFile.print(':');
    dataFile.print(now.second(), DEC);
    dataFile.println(";");
    dataFile.close();
    a++;
    // print to the serial port too:
    Serial.println(etat);
  }
  // if the file isn't open, pop up an error:
  else {
    Serial.println("erreur ouverture  datalog.txt");
  } 
}

Dernière modification par Guy-Roland-Pierre (13-12-2013 13:22:23)

Re : surProblème avec RTClib.h

Bonsoir,

Je me suis provisoirement dépanné en achetant d'occasion un PC Vista.

Là, pas de problème pour charger RTClib.

Reste la question avec Windows 8. Je dois faire une erreur, mais je ne vois pas laquelle !

Merci à tout ceux qui viendrons à mon secours.

Cordialement.

Re : surProblème avec RTClib.h

Bonsoir,

Le problème est résolu.

Est-ce comme cela que je dois faire ?

Cordialement

Re : surProblème avec RTClib.h

Guy-Roland-Pierre a écrit:

Est-ce comme cela que je dois faire ?

Tu veux dire "résoudre tes problèmes tout seul ? En fait, à la base, non, c'est le but du forum. Mais avec les fêtes, moi j'avais les pieds dans la mer des Caraïbes, et j'ai l'impression que j'étais pas le seul loin de tout réseau.

Re : surProblème avec RTClib.h

Vous pourriez aussi renommer le dossier RTClib-master par RTClib !!!