Horloge (Deuligne+Mémoire)

Forum spécifique au shield Deuligne

Horloge (Deuligne+Mémoire)

Message non lude Zigazou » Mar 27 Déc 2011 11:12

Bonjour,

Voici une application mettant en œuvre l’utilisation conjointe de 2 shields (Deuligne et Mémoire).

Il s’agit d’une horloge toute simple avec la date.

Image
Horloge sur l’Arduino par zigazou76, sur Flickr

Image
Horloge sur l’Arduino par zigazou76, sur Flickr

Voici le code (plus qu’)inspiré par l’exemple de RTClib :

Code: Tout sélectionner
// Utilisation des shield Mémoire et Deuligne

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

RTC_DS1307 RTC;
Deuligne lcd;
byte prevSecond=0;
byte blinkSep[2]={ ':',0};
byte blinkSepC[8]={ B00000, B00000, B01100, B01100, B01100, B00000, B00000, B00000 };

void setup () {
  Wire.begin();
  RTC.begin();
  lcd.init();

  if (! RTC.isrunning()) {
    lcd.print("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled
    RTC.adjust(DateTime(__DATE__, __TIME__));
  }
 
  lcd.createChar(0,blinkSepC);
}

void loop () {
  DateTime now = RTC.now();

  // L'idéal serait d'utiliser une interruption
  // en attendant, polling pour tout le monde ! ;-)
  if(prevSecond==now.second()) {
    delay(50);
    return;
  }

  lcd.setCursor(0,0);
 
  if(now.day()<10) lcd.print('0');
  lcd.print(now.day(),DEC);
  lcd.print("/");
 
  if(now.month()<10) lcd.print('0');
  lcd.print(now.month(),DEC);
  lcd.print("/");
 
  lcd.print(now.year());
 
  lcd.setCursor(0,1);
 
  if(now.hour()<10) lcd.print('0');
  lcd.print(now.hour(),DEC);
  lcd.print(blinkSep[now.second()%2]);
 
  if(now.minute()<10) lcd.print('0');
  lcd.print(now.minute(),DEC);
  lcd.print(blinkSep[now.second()%2]);
 
  if(now.second()<10) lcd.print('0');
  lcd.print(now.second(),DEC);

  prevSecond=now.second();
}
Avatar de l’utilisateur
Zigazou
 
Messages: 16
Inscription: Lun 26 Déc 2011 10:34

Re: Horloge (Deuligne+Mémoire)

Message non lude Lionel » Jeu 29 Déc 2011 18:55

Bonjour,
mais c'est très bien tout ça !
Merci de nous faire partager votre réalisation et code bien illustrés avec de belles photos !
N'hésitez pas !
Une réalisation de ce type a été proposée aussi par tronixstuff lors du test du deuligne (avec réglage de l'heure). Peut être des bouts de code pourraient vous intéresser ?
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: Horloge (Deuligne+Mémoire)

Message non lude Zigazou » Jeu 29 Déc 2011 22:43

Lionel a écrit:Une réalisation de ce type a été proposée aussi par tronixstuff lors du test du deuligne (avec réglage de l'heure). Peut être des bouts de code pourraient vous intéresser ?
Oui, j’avais déjà vu ce code. Je l’ai refait en partie pour me faire la main ;)
Avatar de l’utilisateur
Zigazou
 
Messages: 16
Inscription: Lun 26 Déc 2011 10:34

Re: Horloge (Deuligne+Mémoire)

Message non lude Lionel » Jeu 29 Déc 2011 22:52

ce n'en est que plus noble 8-)
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: Horloge (Deuligne+Mémoire)

Message non lude Cyril » Lun 23 Jan 2012 18:24

Bonjour,
j'ai voulu testé mon module mémoire avec le Deuligne avec le Prog Horloge.
mais j'ai un message d'erreur à la lecture de celui-ci.
en voici une copie:

In file included from sketch_jan23a.cpp:5:
/Applications/Arduino.app/Contents/Resources/Java/libraries/Deuligne/Deuligne.h:68: error: conflicting return type specified for 'virtual void Deuligne::write(uint8_t)'
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t)'

je ne comprends pas vraiment le soucis.
j'ai mis à jour le logiciel Arduino et aussi la libraires Deuligne.
je dispose de la version 1.0 du Deuligne.
sous Mac OS Lion

Merci d'avance
Cyril
 
Messages: 5
Inscription: Jeu 15 Sep 2011 13:58

Re: Horloge (Deuligne+Mémoire)

Message non lude Lionel » Mar 24 Jan 2012 11:03

Bonjour,

Je pense que votre librairie RTClib n'est pas à jour,
une fois ceci fait, vous aurez a modifier la gestion du caractere special clignotant pour les secondes

mais bon, pour faire rapidou et voir si ça tourner après le changement de librairie, remplacez deux fois la ligne
Code: Tout sélectionner
lcd.print(blinkSep[now.second()%2]);

par
Code: Tout sélectionner
lcd.print(":");
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: Horloge (Deuligne+Mémoire)

Message non lude Cyril » Mar 24 Jan 2012 17:31

Merci pour votre réponse.

j'ai télècharger la librairie ici :
https://github.com/adafruit/RTClib

après modification de l'écriture, le message d'erreur est toujours présent.

In file included from sketch_jan24a.cpp:5:
/Applications/Arduino-1.app/Contents/Resources/Java/libraries/Deuligne/Deuligne.h:68: error: conflicting return type specified for 'virtual void Deuligne::write(uint8_t)'
/Applications/Arduino-1.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t)'

je suis revenu sur une version antérieur du logiciel arduino. de la 1.0 retour en 0022.
depuis l'écriture fonctionne parfaitement modifié ou non.

je ne sais pas ci ma librairie au final est à jour ou non.
Cyril
 
Messages: 5
Inscription: Jeu 15 Sep 2011 13:58

Re: Horloge (Deuligne+Mémoire)

Message non lude Lionel » Mar 24 Jan 2012 18:00

avez vous placé votre librairie dans un sous-répertoire de vos sketches arduino ou dans le répertoire libraries de l'application ?

pour vérifier si votre librairie est à jour, lancez simplement sous arduino 1.0 la compilation d'un exemple de la librtc
dans file/exemples/rtclib/ds1307 (par exemple)
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: Horloge (Deuligne+Mémoire)

Message non lude Cyril » Mar 24 Jan 2012 21:03

elles sont dans le répertoire librairie de l'application.
je viens de découvrir le menu sketch de l'application... (Newbie On)
faut il que j'y intègre les librairies par "Add File" et supprimer les libraires ajoutées dans le répertoire de l'application ?

visiblement les librairies sont à jour, aucune erreur de compilation avec l'exemple ds1307 et Softrtc.
Cyril
 
Messages: 5
Inscription: Jeu 15 Sep 2011 13:58

Re: Horloge (Deuligne+Mémoire)

Message non lude Lionel » Mar 24 Jan 2012 21:26

En fait, pour éviter les souci en cas d'upgrade ou de downgrade du soft arduino,
je place mes librairies dans le répertoire
Documents\Arduino\Libraries
(et si il n'est pas crée, faites le)
car si vous les mettez dans le package (j'ai cru comprendre que vous étiez sur Mac) vous les perdrez lorsque vous changerez de version

donc ma suggestion :
Déplacez les librairies que vous avez ajoutées dans le package de l'application et placez les comme suggéré au dessus.
Vérifiez bien qu'il n'y ait pas de doublon
Et relancez le GUI arduino pour valider leur bon fonctionnement en compilant des exemple de chaque librairie
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: Horloge (Deuligne+Mémoire)

Message non lude Cyril » Mar 24 Jan 2012 22:18

Merci pour les conseils,
je suis bien sous mac et avant la mise à jour j'avais sauvegardé les librairies.
ensuite je copie ma sauvegarde dans le dossier librairie.

les exemples des librairies fonctionnent correctement sauf ceux de la librairie du deuligne.

ma version de librairie est là:
http://forum.snootlab.com/viewtopic.php?f=34&t=148

mon soucis semble venir de la librairie du deuligne avec la version 1.0 Arduino.

j'ai peut être une ancienne version ?
Cyril
 
Messages: 5
Inscription: Jeu 15 Sep 2011 13:58

Re: Horloge (Deuligne+Mémoire)

Message non lude Lionel » Mar 24 Jan 2012 22:25

Oui, c'est une ancienne version, merci de me pointer l'erreur je vais corriger sur le post
donc :
pour arduino 022/023 est est bien là : https://github.com/Snootlab/Deuligne/zipball/master
pour arduino 1.0 elle est là : https://github.com/Snootlab/Deuligne/zi ... rduino-1.0
Désolé,
tenez moi au courant
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: Horloge (Deuligne+Mémoire)

Message non lude Cyril » Mar 24 Jan 2012 22:51

Merci à Vous,
cela fonctionne parfaitement avec la mise à jour de la librairie.
je vais pouvoir rester sur la Version 1.0 et me replonger dans l'arduino.

je suis bien content d'avoir fait mes achats chez vous au vu de votre rapidité à traiter les commandes et à votre suivie des clients en tout point de vue.

un Grand Merci.
Cyril
 
Messages: 5
Inscription: Jeu 15 Sep 2011 13:58


Retourner vers Deuligne

Qui est en ligne

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

cron