Go Down

Topic: gros probleme RTC DS1307 (Read 5781 times) previous topic - next topic

mapypd

bonjour
j ai une RTC made in china que je connecte sur une arduino mega en pin 20 et21
quant je fait un test , j'ai deux adresse : 0X50 et 0X68
c est tout ce que j'arrive a faire fonctionner , les autre prg ne vois rien du tout et me mette une date genre 2165 avec 65 jours
j ai mis une librairie DS1307new et la je vois bien les secondes défilées avec un prg de test
de la j ai enlevé les librairies rtc et j ai mis seulement la ds1307new et catastrophe a la compilation (erreur)

Patrick_v1_3:2701: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_v1_3:2707: error: 'rtc' was not declared in this scope
Patrick_v1_3:2707: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_v1_3:2713: error: 'rtc' was not declared in this scope
Patrick_v1_3:2713: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_v1_3.ino: In function 'void mainScreen(boolean)':
Patrick_v1_3:3069: error: 't' was not declared in this scope
Patrick_v1_3.ino: In function 'void clockScreen(boolean)':
Patrick_v1_3:3416: error: 't' was not declared in this scope
Patrick_v1_3.ino: In function 'void feedingTimeOutput()':
Patrick_v1_3:5259: error: 't' was not declared in this scope
Patrick_v1_3:5269: error: 'rtc' was not declared in this scope
Patrick_v1_3:5278: error: 't' was not declared in this scope
Patrick_v1_3:5288: error: 'rtc' was not declared in this scope
Patrick_v1_3:5297: error: 't' was not declared in this scope
Patrick_v1_3:5307: error: 'rtc' was not declared in this scope
Patrick_v1_3:5316: error: 't' was not declared in this scope
Patrick_v1_3:5326: error: 'rtc' was not declared in this scope
Patrick_v1_3.ino: In function 'void setFeederTimesScreen(boolean)':
Patrick_v1_3:5362: error: 't' was not declared in this scope
Patrick_v1_3.ino: In function 'void processMyTouch()':
Patrick_v1_3:5868: error: 'rtc' was not declared in this scope
Patrick_v1_3:6009: error: 't_temp' was not declared in this scope
Patrick_v1_3:6009: error: 'rtc' was not declared in this scope
Patrick_v1_3:6075: error: 't_temp' was not declared in this scope
Patrick_v1_3:6075: error: 'rtc' was not declared in this scope
Patrick_v1_3:7223: error: 't_temp' was not declared in this scope
Patrick_v1_3:7223: error: 'rtc' was not declared in this scope
Patrick_v1_3.ino: In function 'void setup()':
Patrick_v1_3:8371: error: 'rtc' was not declared in this scope
Patrick_v1_3:8377: error: 't' was not declared in this scope
Patrick_v1_3.ino: In function 'void loop()':
Patrick_v1_3:8423: error: 't' was not declared in this scope
Patrick_v1_3:8423: error: 'rtc' was not declared in this scope
Patrick_v1_3:8425: error: 't' was not declared in this scope

je ne sais plu quoi faire, des librairie j en ai a revendre et toujours pareil
merci de m aider
patrick

68tjs

Les deux adresses c'est normal sur la carte il y a deux composants I2C : le DS1307 et une Eeprom.
Je n'ai pas de librairie a te conseiller : je ne m'en suis pas servi, j'ai programmé la bête directement d'après la datasheet et une fois que c'était réussi je l'ai laissée croupir dans un coin, c'était plus drôle.

Néanmoins je ne peux que te conseiller de lire la datasheet du DS1307, inutile d'entrer dans les détails tu y trouvera de quoi acquerrir un "vernis minimum" sur le bus I2C qui te sera profitable.

Le composant est très simple ce problème de librairie est assez bizarre. A-tu bien tout installé ?
Essayes une recherche sur le forum avec le lien que tu trouveras dans le post épinglé entête de forum "Moteur de recherche Francophone"

PS les règles du forum imposent de placer le code entre les balises obtenables en cliquant sur l'icone marquée dièze "#"

skywodd

Bonjour,

-> pas de code
-> pas de lien vers la librairie en question
= pas beaucoup de chance d'avoir une réponse à tes erreurs de compilation ;)

Si tu ne veut pas utiliser de librairie spécialisé pour le DS1307 voici un tuto de mon cru :
http://skyduino.wordpress.com/2012/01/07/tutoriel-arduino-horloge-rtc-ds1307-librairie-liquidcrystal/
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

mapypd

bonjour
Skywood j ai regardé ton site , mais je ne suis pas assez bon, je suis plus que novice :smiley-fat:
je précise que je ne suis pas du tout un spécialiste Arduino , le programme que j ai est un prg tout fait pour la gestion des aquariums.
la librairie qui fonctionne lorsque j utilise le prg de test est:
http://code.google.com/p/ds1307new/downloads/list        DS1307new_v1.24.zip
le résultat du test est :
23:34:25 18-04-2013 THU seconds since 1.1.2000:419643265 MEZ=0, MESZ=1 : 1 - Address in NV-RAM is: 5 - Clock was set!
23:34:26 18-04-2013 THU seconds since 1.1.2000:419643266 MEZ=0, MESZ=1 : 1 - Address in NV-RAM is: 6 - Clock was set!
23:34:27 18-04-2013 THU seconds since 1.1.2000:419643267 MEZ=0, MESZ=1 : 1 - Address in NV-RAM is: 7 - Clock was set!

les secondes et les minutes s' incrémentent bien.
mais lorsque je modifie le prg en incluant cette librairie j ai plein d'erreur:
Patrick_V_3_2_9avec_phase_lunaire_en_moins:41: error: no matching function for call to 'DS1307new::DS1307new(int, int)'
C:\Program Files\Arduino\libraries\DS1307new/DS1307new.h:36: note: candidates are: DS1307new::DS1307new()
C:\Program Files\Arduino\libraries\DS1307new/DS1307new.h:34: note:                 DS1307new::DS1307new(const DS1307new&)
Patrick_:43: error: 'Time' does not name a type
Patrick_.ino: In function 'void TimeDateBar(boolean)':
Patrick_:1478: error: 't' was not declared in this scope
Patrick_:1484: error: 'class DS1307new' has no member named 'getDateStr'
Patrick_:1484: error: 'FORMAT_LONG' was not declared in this scope
Patrick_:1484: error: 'FORMAT_LITTLEENDIAN' was not declared in this scope
Patrick_:1490: error: 'class DS1307new' has no member named 'getMonthStr'
Patrick_:1490: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_:1507: error: 'class DS1307new' has no member named 'getDateStr'
Patrick_:1507: error: 'FORMAT_LONG' was not declared in this scope
Patrick_:1507: error: 'FORMAT_LITTLEENDIAN' was not declared in this scope
Patrick_:1511: error: 'class DS1307new' has no member named 'getMonthStr'
Patrick_:1511: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_:1549: error: 'class DS1307new' has no member named 'getTimeStr'
Patrick_:1549: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_.ino: In function 'void TimeSaver(boolean)':
Patrick_:2353: error: 'class DS1307new' has no member named 'getTimeStr'
Patrick_:2353: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_:2361: error: 't' was not declared in this scope
Patrick_:2363: error: 't' was not declared in this scope
Patrick_:2368: error: 't' was not declared in this scope
Patrick_:2370: error: 't' was not declared in this scope
Patrick_:2375: error: 't' was not declared in this scope
Patrick_:2383: error: 't' was not declared in this scope
Patrick_:2388: error: 't' was not declared in this scope
Patrick_:2398: error: 't' was not declared in this scope
Patrick_:2409: error: 'class DS1307new' has no member named 'getMonthStr'
Patrick_:2409: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_:2415: error: 'class DS1307new' has no member named 'getMonthStr'
Patrick_:2415: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_:2419: error: 'class DS1307new' has no member named 'getMonthStr'
Patrick_:2419: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_:2439: error: 'class DS1307new' has no member named 'getMonthStr'
Patrick_:2439: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_:2447: error: 'class DS1307new' has no member named 'getMonthStr'
Patrick_:2447: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_:2454: error: 'class DS1307new' has no member named 'getMonthStr'
Patrick_:2454: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_:2473: error: 'class DS1307new' has no member named 'getMonthStr'
Patrick_:2473: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_:2481: error: 'class DS1307new' has no member named 'getMonthStr'
Patrick_: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_:2488: error: 'class DS1307new' has no member named 'getMonthStr'
Patrick_: error: 'FORMAT_SHORT' was not declared in this scope
Patrick_.ino: In function 'void mainScreen(boolean)':
Patrick_:2890: error: 't' was not declared in this scope
Patrick_.ino: In function 'void clockScreen(boolean)':
Patrick_:3297: error: 't' was not declared in this scope
Patrick_.ino: In function 'void feedingTimeOutput()':
Patrick_:5140: error: 't' was not declared in this scope
Patrick_:5159: error: 't' was not declared in this scope
Patrick_:5178: error: 't' was not declared in this scope
Patrick_:5197: error: 't' was not declared in this scope
Patrick_.ino: In function 'void setFeederTimesScreen(boolean)':
Patrick_:5243: error: 't' was not declared in this scope
Patrick_s.ino: In function 'void processMyTouch()':
Patrick_:5749: error: no matching function for call to 'DS1307new::setTime(int&, int&, int)'
C:\Program Files\Arduino\libraries\DS1307new/DS1307new.h:40: note: candidates are: void DS1307new::setTime()
Patrick_:5750: error: 'class DS1307new' has no member named 'setDate'
Patrick_:5890: error: 't_temp' was not declared in this scope
Patrick_:5956: error: 't_temp' was not declared in this scope
Patrick_:7104: error: 't_temp' was not declared in this scope
Patrick_.ino: In function 'void setup()':
Patrick_:8252: error: 'class DS1307new' has no member named 'halt'
Patrick_:8258: error: 't' was not declared in this scope
Patrick_.ino: In function 'void loop()':
Patrick_:8304: error: 't' was not declared in this scope
Patrick_:8306: error: 't' was not declared in this scope

je ne comprends rien (je ne suis qu'un modeste utilisateur )et je ne sais que faire !!!!!!
je mets le prg que j utilise (je ne mets que le debut car le forum ne prends pas tout le prg ,et je ne sais pas faire autrement) :
#include <DS1307new.h>
#include <UTFT.h>
#include <avr/pgmspace.h>
#include <ITDB02_Touch.h>
#include <Wire.h>
#include <EEPROM.h>
#include "writeAnything.h"
#include <OneWire.h>
#include <DallasTemperature.h>
#include <SdFat.h>
#include <SdFatUtil.h>
UTFT myGLCD(ITDB32S, 38,39,40,41);     //declaration afficheur LCD TFT , pin sur arduino mega 2560 :
ITDB02_Touch myTouch (6,5,4,3,2);       //declaration tactile ecran, pin sur arduino mega 2560 :


//Initialise le DS1307 horloge et declaration des pins entrees
DS1307new rtc(20, 21);      //entrees pour horloge en pin 21 (SCL) et 20 (SDA)

Time t, t_temp;                       //Initialisation structure heure et date
int rtcSetMin, rtcSetHr, rtcSetDy,
   rtcSetMon, rtcSetYr;    

byte setCalendarFormat = 0;           //DD/MM/YYYY=0 || Month DD, YYYY=1 (a changer dans programme)
byte displayDOW = 0;                  //Hide=0 || Show=1 (a changer dans programme)
byte setTimeFormat = 0;               //24HR=0 || 12HR=1 (a changer dans programme)
int AM_PM, yTime;                     //reglage de l horloge
int timeDispH, timeDispM,
   xTimeH, xTimeM10, xTimeM1,
   xTimeAMPM, xColon;
String time, day;

byte setClockOrBlank = 0;             // horloge economiseur d ecran=0 || ecran blanc=1 (a changer dans programme)
byte setScreensaverOnOff = 0;         //OFF=0 || ON=1 Turns it ON/OFF (a changer dans programme)
byte setScreensaverDOWonOff = 0;      //OFF=0 || ON=1 Shows/Hides DOW in Screensaver (a changer dans programme)
int SS_DOW_x;                         //Moves the DOW to correct position
byte setSSmintues;                    //Time in (minutes) before Screensaver comes on (a changer dans programme)
byte TempSSminutes;                   //Temporary SetSSminutes used in calcs and prints, etc.
byte setScreenSaverTimer;             //how long in (minutes) before Screensaver comes on (a changer dans programme)
byte screenSaverCounter = 0;          //counter for Screen Saver
byte returnTimer = 0;                 //counter for Screen Return, auto return after 2min tiomeout

//Déclareration des polices qui seront utilisées
extern uint8_t SmallFont[];
extern uint8_t BigFont[];
extern uint8_t SevenSegNumFont[];


#define LARGE true
#define SMALL false
#define BlUE_BAC false
#define GREEN_BAC true

si vous pouvez m aider se serait super , car je ne comprends rien du tout
merci
patrick

helpppppppppppppppppp

68tjs

#4
Jun 08, 2013, 05:14 pm Last Edit: Jun 08, 2013, 05:16 pm by 68tjs Reason: 1
Quote
car le forum ne prends pas tout le prg ,et je ne sais pas faire autrement

Déjà si tu mettais le code entre les balises codes ( -> icone #) comme cela t'a déjà été demandé tu aura un peu plus de chance d'avoir une réponse.
C'est au demandeur de respecter les règles -> voir "Réglement et chate du forum".

skywodd

Pourquoi utiliser une librairie qui manifestement est plus que buggé ?
Utilises la RTClib d'adafruit, elle marche et elle est documentée.
https://github.com/adafruit/RTClib
http://learn.adafruit.com/ds1307-real-time-clock-breakout-board-kit
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

mapypd

j essaye , et je vous tiens au courant, mais je ne suis pas doué :smiley-red:

mapypd

ne fonctionne toujours pas
je supprime dans les déclarations de librairie :#include <DS1307new.h>
quand je veux mettre la librairie  : #include <RTClib.h> elle et en noir et pas en orange ??

dans les declarations , il faut mettre cela : #include "RTClib.h" ???


Viproz

as tu installé la lib (mis le dossier dans le dossier lib de tes projet) ?
Ce que tu devras mettre, ce sera
Code: [Select]
#include "RTClib.h"


Si le code est trop gros, tu peux toujours utiliser http://pastebin.com/

mapypd

j ai bien mis la librairie au bon endroit ,

adresse du code , s il une personne charitable peut me dire pourquoi cette RTC de malheur ne fonctionne pas
avec mon prg (qui n'est pas de moi )je n'ai certainement pas le niveau :(

http://pastebin.com/UL5uwuKC
merci

-Standby

Ermmm je suis pas trop adepte de la librairie de chez adafruit mais si tu en veut une bonne voir des bonnes  :

https://github.com/jrowberg/i2cdevlib/tree/master/Arduino
The Mind is like a parachute it works best when opened.

infobarquee

bonjour,
je n'ai pas sous la main ce module, ni déjà programmé, mais y a pas une chose qui cloche dans ton code?
Quote
#include <DS1307.h>
#include "RTClib.h"


ou est le RTC.begin() dans le setup comme indiqué https://github.com/adafruit/RTClib/blob/master/examples/ds1307/ds1307.pde
AUCUNE AIDE PAR MP

jfs


Déjà si tu mettais le code entre les balises codes ( -> icone #) comme cela t'a déjà été demandé tu aura un peu plus de chance d'avoir une réponse.
C'est au demandeur de respecter les règles -> voir "Réglement et chate du forum".


Sujet verouillé...

Tu peux m'envoyer un MP.... pour déverouiller le topic une fois ton code mis entre les balises
Pas d'aide par MP !!!

Concernant le fonctionnement du forum tout se trouve dans les messages épinglés en tête de page.

Go Up