Mise à l'heure

Forum de support du Sablier

Mise à l'heure

Message non lude Philippe B » Sam 24 Nov 2012 15:55

Bonjour,
je suis un débutant ... :oops:

J'ai téléverser setTime , puis j'ai essayé de visualiser avec setClock sur la console mais la mise à jour ne s'est pas faite. Donc, j'ai résolu l'anomalie dans l'immédiat en ajoutant la date et l'heure actuelle dans un programme perso, et ça s'incrémente bien.
Avez vous une idée de la cause ? (Arduino mega 2560)
Merci :!:
Philippe B
 
Messages: 7
Inscription: Sam 24 Nov 2012 15:50

Re: Mise à l'heure

Message non lude Lionel » Dim 25 Nov 2012 21:18

Bonjour,
avez vous des photos nettes de votre montage ??
dessus/dessous
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Mise à l'heure

Message non lude Philippe B » Lun 26 Nov 2012 14:00

20121125_214905-001.jpg
20121125_214905-001.jpg (75.86 Kio) Vu 4204 fois


J'ai fait une erreur de câblage à la première mise sous tension. J'avais repris celui de la photo du post en //. Et il m'avait semblé que les 4 fils de la carte du sablier était axé, c'est à dire 2 en haut, et deux en bas. Après lecture du post en //, je me suis aperçu de l'erreur et le câblage est réalisé maintenant sur les 4, de gnd à scl. Le problème cité ( la mise à l'heure pc en chargeant settime) intervient après cette correction de câblage.
Une dégradation du circuit est elle possible suite à cette fausse manip, et empêche-t-elle une mise à l'heure ?

Merci :!:
Fichiers joints
20121125_214922-001.jpg
20121125_214922-001.jpg (36.94 Kio) Vu 4204 fois
Philippe B
 
Messages: 7
Inscription: Sam 24 Nov 2012 15:50

Re: Mise à l'heure

Message non lude Lionel » Lun 26 Nov 2012 14:11

Bonjour,
Avez vous un comportement identique sans la pile ?
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Mise à l'heure

Message non lude Philippe B » Lun 26 Nov 2012 15:15

Bonjour,
oui, c'est pareil .
Philippe B
 
Messages: 7
Inscription: Sam 24 Nov 2012 15:50

Re: Mise à l'heure

Message non lude Lionel » Lun 26 Nov 2012 15:39

Vous serait il possible d'essayer de retirer la pile et de placer un petit blob d'étain sur la pastille carrée du pcb qui assure le contact avec la pile ?
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Mise à l'heure

Message non lude Philippe B » Lun 26 Nov 2012 16:17

Je viens de le faire, et j'ai remis la pile. J'ai ensuite rechargé settime, puis setclock. Le temps affiché, comme avant, commence à la mise en place de la pile. Il y aurait pu effectivement y avoir un faux contact, mais visiblement ce n'est pas le cas comme j'obtiens le même résultat. Hors tension, c'est à dire l'ensemble, la pile joue bien son rôle.
Philippe B
 
Messages: 7
Inscription: Sam 24 Nov 2012 15:50

Re: Mise à l'heure

Message non lude Lionel » Lun 26 Nov 2012 16:23

Je n'ai pas bien saisi votre dernier message.

D'autre part, pourriez vous copier le code utilisé ?
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Mise à l'heure

Message non lude Philippe B » Lun 26 Nov 2012 16:32

Je voulais dire que lorsque le montage n'est plus sous tension, et que je le remets des heures plus tard, le temps affiché tient compte de l'arrêt, donc que l'incrémentation horaire en cas d'arrêt se fait bien, donc que l'horloge fonctionne.

Voici la copie de la mise à l'heure :

#include <Wire.h>
#include <LeSablier.h>
void setup() {
Wire.begin();
Serial.begin(9600);
LeSablier.begin();
}

//Format to set the date: day date month year hours minutes seconds
//Range: (1-7) (01-31) (01-12) (00-99) (00-24) (00-59) (00-59)
void loop() {
if(Serial.available() == 19) { //If something was send (19 is the number of byte sent (see the format above)
uint8_t day = Serial.read() - '0';
Serial.read(); //Space
uint8_t date = str2nb(Serial.read(), Serial.read());
Serial.read(); //Space
uint8_t month = str2nb(Serial.read(), Serial.read());
Serial.read(); //Space
uint8_t year = str2nb(Serial.read(), Serial.read());
Serial.read(); //Space
uint8_t hours = str2nb(Serial.read(), Serial.read());
Serial.read(); //Space
uint8_t minutes = str2nb(Serial.read(), Serial.read());
Serial.read(); //Space
uint8_t seconds = str2nb(Serial.read(), Serial.read());

LeSablier.setDay(day);
LeSablier.setDate(date);
LeSablier.setMonth(month);
LeSablier.setYear(year);
LeSablier.setHours(hours);
LeSablier.setMinutes(minutes);
LeSablier.setSeconds(seconds);

//Or more concisely and fast :
//LeSablier.setAll(day, date, month, year, hours, minutes, seconds);
}
}

uint8_t str2nb(char ch1, char ch2) {
return (ch1-'0') * 10 + (ch2-'0');
}
Philippe B
 
Messages: 7
Inscription: Sam 24 Nov 2012 15:50

Re: Mise à l'heure

Message non lude Philippe B » Ven 30 Nov 2012 13:27

Bonjour,
j'ai changé l'arduino, et le sablier. C'est identique. :cry:
Philippe B
 
Messages: 7
Inscription: Sam 24 Nov 2012 15:50

Re: Mise à l'heure

Message non lude Philippe B » Ven 30 Nov 2012 16:10

J'ai réussi à me débrouiller avec ce code, à la place de settime ( la date, l'heure, etc sont rentrés dans le code une fois pour la mise à jour de l'horloge)

#include <Wire.h>
#include <LeSablier.h>
void setup() {
Wire.begin();
Serial.begin(9600);
LeSablier.begin();
}

//Format to set the date: day date month year hours minutes seconds
//Range: (1-7) (01-31) (01-12) (00-99) (00-24) (00-59) (00-59)
void loop() {
uint8_t day = 6;
Serial.read(); //Space
uint8_t date = 30;
Serial.read(); //Space
uint8_t month =11;
Serial.read(); //Space
uint8_t year =12;
Serial.read(); //Space
uint8_t hours = 15;
Serial.read(); //Space
uint8_t minutes =04;
Serial.read(); //Space
uint8_t seconds = 0;

LeSablier.setDay(day);
LeSablier.setDate(date);
LeSablier.setMonth(month);
LeSablier.setYear(year);
LeSablier.setHours(hours);
LeSablier.setMinutes(minutes);
LeSablier.setSeconds(seconds);

//Or more concisely and fast :
//LeSablier.setAll(day, date, month, year, hours, minutes, seconds);
}
Philippe B
 
Messages: 7
Inscription: Sam 24 Nov 2012 15:50


Retourner vers Le Sablier

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité