Aide Module DS3231 et Uno

  • Auteur de la discussion Precis84
  • Date de début
P
Precis84
Compagnon
7 Déc 2008
2 169
  • Auteur de la discussion
  • #1
Bonsoir
J'ai enfin reçu mon écran lcd 20x4 I2C ...et comme j'ai 1 module horloge DS3231 , j'ai voulu essayer le tout. Résultat , quelque soit le code récupéré sur le net , j'ai toujours des messages d'erreur ?
Je joins une copie d'écran . Merci .
claude
erreur ds3231.jpg
Sans titre 1.jpg
 
V
vibram
Compagnon
15 Mar 2014
4 029
FR-74
Salut Précis84
Pour commencer tu devrais mettre ton code qu'on puisse essayer essayer de le debugger.
A première vue tu as un problème de bibliothèque (library en anglais), je ne vois aucune bibliothèque pour ton module heure ni pour ton écran lcd en haut de ton code
Je ne connais pas le module horaire mais je sais que le lcd nécessite une bibliothèque (on utilise souvent liquidcrystal ou liquidcrystal i2c selon le mode de connexion)

Edit :
Je confirme je pense que tu vas avoir un premier problème en l'état : tu as deux modules sous I2C. Je crois que jpbbricole qui ne manquera pas de venir t'aider, à poster un message pour installer un bus I2C permettant de connecter plusieurs module par ce moyen.
Si j'ai compris correctement la chose, sans bus c'est impossible de connecter plusieurs modules en I2C

Donc pour le moment tu dois d'abord régler ce problème de bus I2C afin de correctement brancher tes 2 modules.

Ensuite tu dois t assurer de bien inclure les bonnes bibliothèques (la encore, jpbbricole a donné toutes les informations nécessaires)

Ça me fait penser, on devrait éventuellement épingler certains de ses posts comme des tutoriels
 
Dernière édition:
tranquille
tranquille
Compagnon
12 Avr 2008
5 877
FR-12320 - Aveyron - Conques
Tu peux aussi avancer à petits pas
Fais un prog pour afficher un chiffre sur l'écran seulement, le reste étant déconnecté, puis un autre pour ton module heure sans écran, sortie com, et ensuite tu résoudras les problèmes du mixage des 2 modules
 
V
vibram
Compagnon
15 Mar 2014
4 029
FR-74
Tu peux aussi avancer à petits pas
Fais un prog pour afficher un chiffre sur l'écran seulement, le reste étant déconnecté, puis un autre pour ton module heure sans écran, sortie com, et ensuite tu résoudras les problèmes du mixage des 2 modules
Tout à fait !
Toujours commencer par voir si tout fonctionne comme tu veux module par module
 
P
Precis84
Compagnon
7 Déc 2008
2 169
  • Auteur de la discussion
  • #7
Bonjour à Tous
Merci pour vos réponses . Bon , je suis un peu trop pressé .....
Je vais reprendre à zéro . J'ai un peu tout utilisé ce que je trouvais au niveau code .
Je me suis inspiré du post de Mandrak ,mais j'ai pas voulu pollué ces messages:
https://www.usinages.com/threads/besoin-de-conseils-pour-programation-arduino.92824/page-5
J'ai essayé aussi Tonixstuff:
http://tronixstuff.com/tag/ds3231-2/
Je suis vos conseils et vous dis si je m'en sort. ( ensuite le diviseur et là je compte sur ...vibram )
claude
 
P
Precis84
Compagnon
7 Déc 2008
2 169
  • Auteur de la discussion
  • #8
Bonsoir
Après avoir essayé touts les codes possibles de l'internet et plus , là je capitule .
J'arrive à faire fonctionner le DS3231 seul , le LCD 20x4 seul aussi , mais malheureusement
pas les 2 ensemble . Je pense que c'est une histoire " d'inclure 1 bibliothèque ".
Quelques photos . Merci.
Heure.jpg
DSCN3975.JPG
DSCN3978.JPG
 
V
vibram
Compagnon
15 Mar 2014
4 029
FR-74
Bonsoir @Precis84
Tu ne veux pas nous mettre ton code ?
Tu as toujours des erreurs lors du téléversement?
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Salut Precis84
Dans l'ordre des include des bibliothèques, essaye de permuter celle de l'affichage et celle de la RTC.
Mets aussi ton code en ligne.

A bientôt
jpbbricole
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Quand tu essaies l'un ou l'autre est-ce-que l'autre est débranché?
Ou tu agit uniquement au niveau du programme et les deux restent connecté sur ton montage?

Cordialement
jpbbricole
 
Dernière édition:
P
Precis84
Compagnon
7 Déc 2008
2 169
  • Auteur de la discussion
  • #12
Bonsoir @Precis84
Tu ne veux pas nous mettre ton code ?
Tu as toujours des erreurs lors du téléversement?
Salut mon ami
Les codes , j'en ai essayé plusieurs . Ceux que l'on trouve en téléchargement .
Non , je n'ai pas d'erreur.

Dans l'ordre des include des bibliothèques, essaye de permuter celle de l'affichage et celle de la RTC.
Bonsoir jpbbricole , je vais essayer comme tu le dis.
Quand tu essaies l'un ou l'autre est-ce-que l'autre est débranché?
Débranché et branché , c'est pareil.
Ou tu agit uniquement au niveau du programme et les deux restent connecté sur ton montage?
J'ai essayé aussi en téléversant directement.
claude

 
Dernière édition par un modérateur:
V
vibram
Compagnon
15 Mar 2014
4 029
FR-74
@Precis84 j'ai l'intime conviction que le probleme est celui que j'avais soulevé en septembre:
Tu as 2 modules qui doivent communiqer via le protocole I2C
Seulement, sans faire de "bus I2C", seul un module à la fois peut communiquer via le protocole I2C.
Ce qui expliquerait que chaque module fonctionne séparément mais qu'un seul des deux modules fonctionne lorsque les deux sont branchés

Est-ce que tu as regardé de ce coté là?
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Question suivante, as-tu mis des résistances de polarisation sur ton bus i2C?
upload_2017-1-15_19-27-0.png

Sur le mien j'ai 1,5k.(C'est pas critique)

A bientôt
jpbbricole
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Salut Precis84
Pourrais-tu poster le programme qui utilise l'horloge et l'affichage LCD.
Celui que tu as mis en ligne, pour l'affichage, il n'y a que l'include.

Cordialement
jpbbricole
 
P
Precis84
Compagnon
7 Déc 2008
2 169
  • Auteur de la discussion
  • #16
Dernière édition par un modérateur:
wika58
wika58
Compagnon
17 Déc 2006
13 114
FR-54560 Lorraine
Pour la présentation, tu veux dire l'affichage de ton code dans ton post ?

Il suffit de mettre une balise 'CODE' et de coller ton code dedans.
La balise est en-dessous de la balise + (sous menu dans la barre d'icones).
Ou alors, tu mets simplement "CODE" 'avant le code et "/CODE" après le code.
En remplaçant les " " par des [ ] (mais si je les mets la balise est interprétée et tu ne vois pas le texte :roll: a taper).
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Salut Precis84

Pour moi, ces lignes sont inutiles
#include <FastIO.h>
#include <I2CIO.h>
#include <LCD.h>


Le début de ton programme devrait être:

Je ne vois pas l'initialisation et l'utilisation de l'afficheur LCD.

Pour les résistances, je n'avais pas vu, sur la photo, que tu avais chaîné l'affichage au bout de la carte RTC, ce qui est malin, vu qu'il y a certainement des résiatances sur la carte.

Cordialement
jpbbricole
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Salut Precis84

Où sont, dans ton programme, les lignes de code pour afficher sur le LCD?

BONNE NUIT
JPBBRICOLE
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Bonjour Precis 84

Je te met la version du programme que j'ai essayée, je n'ai pas de DS3231, j'ai fait les test avec un DS1307 et ensuite j'ai adapté.
J'ai initialisé le LCD et mis les routines d'affichage. Eventuellement, change l'adresse de l'affichage dans la ligne:

LiquidCrystal_I2C lcd(0x27,20,4);//lcd(0x26,20,4);

Au cas où il y aurai des problèmes de bibliothèques, je te mets les versions que j'utilise Voir la pièce jointe LiquidCrystalI2C_Rtclib.zip [div=none][arrow][/arrow][/div]

Cordialement
jpbbricole
 
Dernière édition:
P
Precis84
Compagnon
7 Déc 2008
2 169
  • Auteur de la discussion
  • #25
Bonsoir jpbbricole et à tous.
Une de journée de + qui me rapproche de la ...retraite.
Merci pour le code . Je l'ai copier dans l'ide arduino et vérifié .
Il y a 1 petit souci :smt017 , voir photo.
J'ai bêtement pensé qu'il suffisait d'inclure 1 ou 2 bibliothèque et que ça ...roulez .:oops:

claude
Sans titre 1.jpg
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
qui me rapproche de la ...retraite
Tu verras, c'est aussi un métier pas mal!
J'ai bêtement pensé qu'il suffisait d'inclure 1 ou 2 bibliothèque et que ça ...roulez
C'est le métier qui rentre:smt021
Il y a 1 petit souci :smt017 , voir photo.
Je m'y attendais un peu, les bibliothèques Arduino ne sont pas une science exacte!
La solution est:
Quitte l'IDE Arduino
Dans le répertoire où se trouve Arduino.exe\libraries, supprime le répertoire LiquidCrystalI2C, décompresse le ZIP Voir la pièce jointe 317995 [div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div] et copie le répertoire LiquidCrystalI2C à la place de celui que tu as supprimé. Refait l'essai.

Patience!
jpbbricole
 
P
Precis84
Compagnon
7 Déc 2008
2 169
  • Auteur de la discussion
  • #27
Bon , ça y est , ça fonctionne :lol:
Je vais commencer par remercier jp :prayer: qui m'a bien dépatouillé tout ça . Je n'oublie pas non plus
touts les participants :smt023. Je suis content comme 1 gamin.

Le code fonctionne , j'ai comme me l'a préconisé jp , changé la bibliothèque LiquidCrystalI2C.
Pendant que jpbbricole , s'escrimait sur le code , perso , j'ai refais les connections de la carte DS3231 en
soudant 1 barrette . J'ai aussi bricolé des câbles de récup d'ordinateur qui alimentaient les leds.
Je pense que les contacts sont meilleurs qu'avant. Je trouve que c'est assez sensible . Si je débranche
ça repart pas à tout les coups . Je vais essayer de comprendre cette histoire de bibliothèque et aussi
transférer le code dans 1 "pro mini " que j'ai eu dans le kit R3. J'ai aussi essayé avec des résistances ,
mais c'est pas nécessaire pour ce type de branchement. Merci.
( j'ai acheté " Arduino pour les nuls " mais je me suis trompé , j'aurai du prendre pour les "très nuls " )
claude
DSCN3979.JPG
DSCN3981.JPG
 
Dernière édition:
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Salut Precis84
Je suis content comme 1 gamin.
C'est, certainement, le meilleur résultat de ce fil:7dance:
( j'ai acheté " Arduino pour les nuls " mais je me suis tropé , j'aurai du prendre pour les "très nuls " )
Certainement pas, un nul ou un très nul n'y serait pas arrivé.
Je vais essayer de comprendre cette histoire de bibliothèque
En résumé, prenons pour exemple, l'affichage LCD 20x4 i2C que tu as utilisé:
Tu dois avoir au moins 2 bibliothèques, Wire.h qui s'occupe des communications du bus i2c et LiquidCrystal_I2C.h qui gère tout ce qui est l'affichage, en s'appuyant sue Wire.h pour les communications.
Sans ces bibliothèque (boite de fonctions ou caisse à outils) tu devrai décortique le protocole i2C ainsi que les registres de l'affichage, et créer les ordres nécessaires pour afficher. Dans le temps, je l'ai fait, très très ardu!
Une bibliothèque te mâche tout ça et t'offre les outils (fonctions) nécessaires.
Comment sont ces outils? C'est tout ce qui se trouve après le point du nom de l'entité crée.

Créer l'entité:
LiquidCrystal_I2C lcd(0x27,20, 4); // L'entité s'appelle lcd à l'adresse 0x27 (hexadécimal) 4 lignes de 20 caractères
Des exemples d'outils;
lcd.begin(); // Démarrer l'entité
lcd.noBacklight(); // éteindre le rétroéclérage
lcd.backlight(); // éteindre le rétroéclérage
lcd.clear(); // Effacer l'écran
lcd.setCursor(0,1); // Positionner le curseur
lcd.print("Salut Precis84"); // Afficher du texte string

Pour afficher la liste des outils, si tu as un IDE qui a l'option autocompletion (voire le post Programino)
tu tapes le nom de l'entité jusqu'au point et l'autocompletion affiche lela liste et à mesure que tu tapes des lettres, la liste se trie automatiquement.
Si après le point la liste ne s'affiche pas, presser Ctrl et espace.

upload_2017-1-17_11-20-37.png

Il est à noter, pour ceux qui n'ont pas encore goûté aux plaisirs de l'autocomplétion, celà marche, entre autre, aussi avec toutes les variables dûement déclarées:
upload_2017-1-17_11-20-59.png


J'espère avoir éclairé un peu ta lanterne.

(Purée, je viens de m'aperçevoir que j'avais passé les 600 messages, quel bavard je fais!)

Bonne journée
jpbbricole
 
Dernière édition:
P
Precis84
Compagnon
7 Déc 2008
2 169
  • Auteur de la discussion
  • #29
(Purée, je viens de m’apercevoir que j'avais passé les 600 messages, quel bavard je fais!)
Bonsoir jpbbricole

Pour le coup c'est vraiment pour la bonne cause :smt023
Je vais essayer de digérer tes explications.
Pour l'instant j'ai fais 1 essai en passant par la carte Pro Mini .C'est concluant . J'essaierai aussi avec
un écran 16x2 que je possède , mais pas en I2C.
Il faut aussi que je fasse une tentative de mise à l'heure ( je dois avoir 1 tuto en pdf .)
( pour l’alimentation électrique , j'utilise 1 cordon usb de souris hs , ou j'ai gardé que 2 fils
si l'idée peut servir à d'autre ? ).
claude
DSCN3983.JPG
USB.jpg
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Salut Precis84

Alors! Arduino pour les nuls est quand même utile?
Bon boulot!

Bonne soirée
jpbbricole
 
Haut