Précédent   Forum FS Generation > Futura-Techno : les forums de l'informatique et des technologies > Électronique
Mot de passe oublié ? Inscrivez-vous !


Réponse
 
Outils de la discussion Modes d'affichage
Vieux 01/03/2006, 18h36   #1
 
Date d'inscription: mars 2006
Âge: 21
Messages: 26
DS1307 sur station meteo

Bonjour a tous je suis etudiant en bts electronique en 2eme année dans l'academie Aix-Marseille.

J'ai un projet a réaliser en commum, une station meteo. Dans mon contrat il faut que j'utilise une horloge en temps reel associée au pic 18f452. j'ai donc pris le composant DS1307, je sais comment le cablé mais le probleme est le suivant :

IL faut un programme a mettre dans le PIC en C et non en ASM comme avant et dans ce programme il faut que je recupere l'heure du PC et que je la transmette a mon DS1307 puis il faut aussi que je puisse récuperer cette heure a tout moment.

Voila si quelqu'un possede ce programme ou peut m'aider dans mes recherches je suis preneur merci a tous et peut etre arriverons nous a nous aider si l'on partage le meme projet. a bientot
pierodu13 est déconnecté   Réponse avec citation
Alt Aujourd'hui
Publicité

Beitrag Liens sponsorisés

   
Vieux 01/03/2006, 19h07   #2
 
Date d'inscription: janvier 2006
Localisation: EURE ET LOIR
Âge: 45
Messages: 5 538
Re : DS1307 sur station meteo

salut,
Tu trouveras ma routine pour DS1307 dans ta MP.
amicalement
hulk
HULK28 est déconnecté   Réponse avec citation
Vieux 01/03/2006, 20h49   #3
 
Date d'inscription: mars 2006
Âge: 21
Messages: 26
Re : DS1307 sur station meteo

Merci beaucoup pour cette reponse rapide demain je vais essaier de tester ce programme.

Je crois que tu viens de me tirer une épine du pieds donc :

sinon tu peut m'expliquer en gros ce qu'il, par exemple s'il va prendre l'heure sur le PC ou s'il attend que le PC lui donne car j'avais pensé a une interruption au debut. enfin la programmation c'est pas ma spécialité en électronique jsui plus sur le structurel donc voila merci bien
pierodu13 est déconnecté   Réponse avec citation
Vieux 01/03/2006, 21h37   #4
 
Date d'inscription: janvier 2006
Localisation: EURE ET LOIR
Âge: 45
Messages: 5 538
Re : DS1307 sur station meteo


Il faudrait comme je le dis trop souvent que tu exposes clairement ton projet, avec tout les détails dont tu disposes, quitte à les envoyer fonction après fonction mais complète, afin de pouvoir t'aider efficacement.
Apparemment tu as besoin d'une routine RS232 (ou autre moyen) pour dialoguer avec ton PC et d'un applicatif sur le PC pour rediriger l'info temps réel du PC vers ton horloge du µC.
Essaies de m'en dire plus, as-tu déjà réfléchi au reste du projet?
A+
HULK
HULK28 est déconnecté   Réponse avec citation
Vieux 01/03/2006, 22h22   #5
 
Date d'inscription: janvier 2003
Localisation: Haut-Rhin
Âge: 50
Messages: 3 577
Re : DS1307 sur station meteo

Citation:
Envoyé par HULK28
salut,
Tu trouveras ma routine pour DS1307 dans ta MP.
amicalement
hulk
Peux-tu me l'envoyer aussi ?
Merci d'avance,
Gérard.
__________________
Gérard.
Gérard est déconnecté   Réponse avec citation
Vieux 01/03/2006, 22h30   #6
 
Date d'inscription: juillet 2004
Localisation: STMaurice de Beynost
Messages: 143
Re : DS1307 sur station meteo

Bonsoir,

un projet quelque peu similaire
1 pic16F628 , gerant un DS1307 , renvoi des dats au PC (Terminal)
ainsi que l'heure en cours du DS1307 si le PC la demande.
Le PC (terminal) peut aussi mettre à l'heure le DS1307..
via la liasion RS232
voir ########.fr sujet DS1307

Ne communiquez pas d'adresse email SVP

Dernière modification par Jack ; 02/03/2006 à 00h43.
paulfjujo est déconnecté   Réponse avec citation
Vieux 02/03/2006, 06h53   #7
 
Date d'inscription: mars 2006
Âge: 21
Messages: 26
Re : DS1307 sur station meteo

sa veut dire quoi les ##### ?

sinon quand je rentre du lycée je te passe le schema structurel de la carte et je ten dirais un peu plus (tout ce que je sais lol) et puis pour le reste c'est d'autre eleves qui s'en occupe moi je doit juste gerer le DS1307 ainsi que le PIC. voila merci
pierodu13 est déconnecté   Réponse avec citation
Vieux 02/03/2006, 09h25   #8
 
Date d'inscription: janvier 2006
Localisation: EURE ET LOIR
Âge: 45
Messages: 5 538
Re : DS1307 sur station meteo

Jack, ce n'était pas une adresse mail, mais une page personnel.
Attention à ne pas censurer trop vite!
HULK
HULK28 est déconnecté   Réponse avec citation
Vieux 04/03/2006, 10h17   #9
 
Date d'inscription: mars 2006
Âge: 21
Messages: 26
Re : DS1307 sur station meteo

Voila je vais essaier d'etre le plus clair possible :

la station meteo doit capter plusieurs informations ( vitesse et direction du vent, humidité, pression,...).

Dans la classe chaque éleve s'occupe d'une partie du projet et comme on avance chacun a notre rythme je connais pas encore tres bien comment fonctionne toutes les cartes des capteurs. Il y a aussi un PIC esclave entre les cartes capteurs et ma carte qui sert a aiguiller mais pareil on en sait pas trop car l'eleve en question est un peu en retard.

On est 3 sur ma carte a gerer le PIC et chacun des 3 doit gerer soit une EPROM soit une afficheur LCD soit une horloge temps reel (moi).

on communique avec le PC en RS458 je crois mais je suis sur que ce n'est pas de la RS232 mais la encore c'est un eleve qui s'en charge donc nous on doit faire avec les moyens du bord pour ne pas etre trop en retard je sais pas comment mettre une image pour te montrer notre schema structurel.

Si tu connait bien le DS1307 j'ai 2 question :

- il y a une entrée Vbat et je sais pas si elle est vraiment utile ( si sa sert pour une sauvegarde par exemple)

- il y a une sortie SQW (pin 7) et je ne sais pas du tout a quoi elle sert donc je ne l'ai pas cablé.
pierodu13 est déconnecté   Réponse avec citation
Vieux 04/03/2006, 11h11   #10
 
Date d'inscription: avril 2003
Localisation: Metz
Messages: 6 011
Re : DS1307 sur station meteo

Citation:
Jack, ce n'était pas une adresse mail, mais une page personnel.
Attention à ne pas censurer trop vite!
Désolé

de plus, j'en profite pour préciser que vous pourrez laisser votre adresse email à l'avenir.
Nous l'effacions afin d'éviter le spam. Mais finalement, c'est de la responsabilité de chacun.

Tu peux déposer à nouveau l'adresse du site, paulfjujo. Avec toutes mes excuses.

Pierodu13, tu peux joindre un fichier ou une image à l'aide d'une des icônes (trombonne ou carte postale) de l'éditeur de message. Si tu ne vois pas ces icônes, vas dans le tableau de bord et sélectionne l'interface d'édition standard.

Une petite question: comment faites-vous pour gérer le même pic tous les trois dans votre projet?

A+
Jack est déconnecté   Réponse avec citation
Vieux 04/03/2006, 12h45   #11
 
Date d'inscription: janvier 2006
Localisation: EURE ET LOIR
Âge: 45
Messages: 5 538
Re : DS1307 sur station meteo

Pour le Vbat c'est l'entrée qui reçoit la pile ou batterie.
SQW c'est une sortie qui donne 1Hz donc tu branches si tu veux une résistance et une led pour visualiser le bon fonctionnement de l'horloge.
Je te conseil quand même de regarder la doc de près...
HULK
HULK28 est déconnecté   Réponse avec citation
Vieux 06/03/2006, 20h05   #12
 
Date d'inscription: mars 2006
Âge: 21
Messages: 26
Re : DS1307 sur station meteo

ok merci

pour gerer le pic a trois il faut qu'on fasse un programme a trois qui gere aussi bien le LCD, l'EPROM et mon DS1307 mais on c'est pas trop penché dessus.

sinon j'ai tester ta routine hulk, quand je fait build (sur mplab) il me marque pour toutes les lignes où il y a ecrit heure minute jours, undefine et je voit pas comment les definir moi je pensai plutot a un programme comme sa :

envoit de ladresse du composant
ack
envoit de la seconde dans ladresse correspondante
ack
envoit de la minute dans ladresse correspondante
ack

voila et pareil pour tout le reste mais jsui pas super fort en programmation donc j'ai beaucoup besoin d'aide et merci de m'aider
pierodu13 est déconnecté   Réponse avec citation
Vieux 06/03/2006, 21h21   #13
 
Date d'inscription: janvier 2006
Localisation: EURE ET LOIR
Âge: 45
Messages: 5 538
Re : DS1307 sur station meteo

C'est normal, il te manque certaines déclarations de variables, ici c'est la routine proprement dite, il faut la voir dans un environnement global avec les déclaratifs d'entête qui vont bien.

hulk
HULK28 est déconnecté   Réponse avec citation
Vieux 06/03/2006, 22h14   #14
 
Date d'inscription: mars 2006
Âge: 21
Messages: 26
Re : DS1307 sur station meteo

et comment je pourrais faire sa?

deja j'ai trouver qu'il fallait rajouter #include <i2c.h>

puis les fonctions start i2c, ack, et write n'ont pas l'air de poser probleme mais comme je l'ai dit, pour les minute je sais pas comment faire.

je sais pas si sa peut aider mais je reçoit l'heure du PC sur RX (RS485) qui se trouve sur RC7 sur le pic 18F452 donc a mon avis les valeur de cette broche doivent aller dans un registre puis il faut recuperer ces valeur de ce registre pour les envoyer par le bus i2c
pierodu13 est déconnecté   Réponse avec citation
Vieux 06/03/2006, 22h35   #15
 
Date d'inscription: janvier 2006
Localisation: EURE ET LOIR
Âge: 45
Messages: 5 538
Re : DS1307 sur station meteo

salut, voici de quoi t'aider à mettre le prog en place.
amicalement.

HULK

#include "ad16f87x.h" // Définitions avancées de la série PIC16F87X

#define CLOCK_DS1307_W 0xD0 // control byte d'écriture de la rtc i2c
#define CLOCK_DS1307_R 0xD1 // control byte de lecture de la rtc i2c

#define I2C_CLOCK_40KHZ 99 // vitesses clock i2c à 16MHz
#define I2C_CLOCK_100KHZ 39
#define I2C_CLOCK_400KHZ 9

uchar bank2 Jour ; // données de l'horloge temps réel
uchar bank2 Mois ;
uchar bank2 Annee ;
uchar bank2 Heure ;
uchar bank2 Minute ;
uchar bank2 CompteurRTC ;
void clock_pic(void);

/****************************** ****************************** ****
Routines i2c
****************************** ****************************** ****/
void i2cInit(void)
{
TRISC3 = 1 ; // set SCL and SDA pins as inputs
TRISC4 = 1 ;
SSPCON = 0x38 ; // i2c master mode
SSPCON2 = 0x00 ;
SSPADD = I2C_CLOCK_400KHZ ; // Fi2c = Fosc/(4*(SSPADD+1)) = 400 kHz
STAT_CKE = 0 ; // input levels conform to i2c specs
STAT_SMP = 0 ; // slew rate enabled for high speed mode (400kHz)
PSPIF = 0 ; // clear SSPIF interrupt flag
BCLIF = 0 ; // clear bus collision flag

DelayMs(10) ;
}
void i2cWaitForIdle(void)
{
while ((SSPCON2 & 0x1F) | STAT_RW) ; // wait for idle and not writing
}
void i2cStart(void)
{
i2cWaitForIdle() ;
SEN =1 ; // send START
while (SEN) ;
}
void i2cRepStart(void)
{
i2cWaitForIdle() ;
RSEN = 1 ; // send REPEAT START
while (RSEN) ;
}
void i2cStop(void)
{
i2cWaitForIdle() ;
PEN = 1; // send STOP
while (PEN) ;
}
uchar i2cRead(uchar ack)
{
uchar data ;
i2cWaitForIdle() ;
RCEN = 1 ;
i2cWaitForIdle() ;
data = SSPBUF ;
i2cWaitForIdle() ;
if (ack) ACKDT = 0 ; // ack
else ACKDT = 1 ; // no ack
ACKEN = 1 ; // send acknowledge sequence
return(data) ;
}
uchar i2cWrite(uchar data)
{
i2cWaitForIdle() ;
SSPBUF = data ;
return(!ACKSTAT) ; // return '1' if transmission is acknowledge
}
HULK28 est déconnecté   Réponse avec citation
Vieux 07/03/2006, 10h35   #16
 
Date d'inscription: mars 2006
Âge: 21
Messages: 26
Re : DS1307 sur station meteo

salut encore merci pour ce prog mais la jsuis en cours et sa fait 1h que je suis dessus et il me marque error sintaxe pour cette ligne

uchar bank2 Jour

et moi j'utilise le PIC 18F452 et non le 16 donc je sais pas si sa viens de la.

au fait voila mon schema structurel au cas ou mais on voit pas tres bien
Miniatures attachées
ds1307-station-meteo-schema-struc..jpg  
pierodu13 est déconnecté   Réponse avec citation
Vieux 09/03/2006, 09h50   #17
 
Date d'inscription: mars 2006
Âge: 21
Messages: 26
Re : DS1307 sur station meteo

les prof nous on enfin donné un peu des infos donc voila ce que je sais :

L'ordinateur envoit une requete de mise a l'heure ( programme independant que l'on ne va pas traiter)
ceci va generer une interruption non prioritaire.
je suis branché a l'ordi par un bus RS485 et donc apres convertion les infos de l'heure arivent sur la broche RX du PIC soit RC7.
il faut que je recupere ces infos et que je les envoit au DS1307.
De plus il faut que je puisse lire l'heure a tout moment sur ce composant.
je suis en train de voir pour savoir comment lire l'heure et j'ai tapé ce petit bout de programme :

#include <p18f452.h>
#include <i2c.h>

void ack (void);
void init_I2C (void);
void tempo (unsigned int count);
void write (void);
void read (void);


void main (void)
{
init_I2C ();
void write (void);
void read (void);

// ici je sais plus quoi mettre dans le programme principal


void read (void)
{
IdleI2C ();
StartI2C();
while (SSPCON2bits.SEN);
WriteI2C (0xD1);
ack();
getsI2C (

// la aussi je sais pas ce qu'il faut mettre mais la fonction getsI2C consiste a lire sur le bis i2c mais je ne sais pas quoi mettre dans la ()

voila donc si tu sais comment faire le programme principal ou le programme de lecture sa serait simpa de me le dire voila a +
pierodu13 est déconnecté   Réponse avec citation
Vieux 13/03/2006, 19h04   #18
 
Date d'inscription: mars 2006
Âge: 21
Messages: 26
Re : DS1307 sur station meteo

je sais pas si ya tjrs kelkun qui viens ici mais je vais essaier :

toujours pour mon DS1307 j'essaie de faire un test avec la LED connecté a la patte 7 SQWE donc voici un programme que j'ai fait et qui bien sur ne marche pas, j'ai bien une trame sur mon bus i2c qui arrive au composant tout a l'air bien branché mais la LED ne clignote pas alors que je pense avoir tout configuré dans mon prog enfin voyez vous meme

#include <p18f452.h>
#include <i2c.h>

void initI2C (void);
void ack (void);

void main (void)
{
initI2C();
SSPCON2bits.SEN = 1; // start
WriteI2C(0xD0); // adresse du composant + mode ecriture
ack();
WriteI2C(0x07); // adresse du registre a ecrire (7 c'est celui du control )
ack();
WriteI2C(0x10); // donnée a ecrire ( le 1 c pour activer SQWE)
ack();
StopI2C();
while(SSPCON2bits.PEN);
}

void initI2C (void)
{
DDRCbits.RC3=1; // pour mettre RC3 en sortie
DDRCbits.RC4=1; // pour mettre RC4 en sortie
SSPCON1=0x28;
SSPSTATbits.SMP=1;
SSPADD=9;
}

void ack (void)
{
IdleI2C();
while(SSPCON2bits.ACKSTAT);
}


voila en esperant que vous pourrez m'aider je vous dis merci d'avance ++
pierodu13 est déconnecté   Réponse avec citation






Réponse


Tags
meteo, station, ds1307

Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Station météo FSE Électronique 4 12/12/2007 13h35
station meteo matsume Environnement, développement durable et écologie 0 26/08/2007 13h39
Station météo MathieuV TPE / TIPE et autres travaux 2 18/11/2006 20h57
station meteo nanard Électronique 18 18/10/2006 18h11
Carte PIC meteo avec ds1307 marquesni Électronique 5 22/04/2006 18h01


Les dernières actualités
10/10 16:44 - Une centrale solaire pilote près de Bordeaux
10/10 14:34 - En bref : l'éclairage remplacera-t-il le Wi-Fi ?
10/10 13:33 - L'eau de boisson est-elle polluée par des médicaments ?
10/10 11:31 - Messenger envoie des images inédites de Mercure
10/10 09:31 - Mondial de l'auto : la Courb C-Zen, un buggy citadin électrique
09/10 17:33 - Les clins d'oeil d'un magnétar
09/10 15:35 - Sonars militaires contre baleines : un dialogue de sourds

Fuseau horaire GMT +2. Il est actuellement 10h48.


Édité par : vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. Tous droits réservés.