Conseil pour gestion de l'heure par pic
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Conseil pour gestion de l'heure par pic



  1. #1
    invite3799b2e8

    Conseil pour gestion de l'heure par pic


    ------

    Bonjour,

    J'aurais besoin de vos conseils pour une gestion de l'heure par pic. Je m'explique : je fais une rampe d'éclairage à led. L'intensité des leds sera gérée via un pin PWM du pic (vraisemblablement 16F876).

    Ce que je voudrais c'est gérer l'éclairage de la manière suivante :
    10h : on allume (faible luminosité)
    de 10h à 13h : toutes les 30 minutes, on augmente l'intensité de l'éclairage.
    de 13h à 19h : eclairage au max, on touche à rien
    de 19h à 22h : éclairage dégressif toutes les 30 minutes
    22h : extinction

    Je pensais au début faire une horloge par soft, sachant que j'ai pas besoin d'une précision démoniaque (si ça bouge même de 5 minutes par mois c'est pas bien grave).
    Donc grâce à une interruption sur le timer0 par exemple, je peux facilement faire des tempo de 60s, etc....Le problème c'est que pendant ce temps là mon pic est "bloqué".(à moins d'avoir une interruption) Et ce que je voudrais c'est à 10h envoyer un signal PWM, idem à 10h30 etc... comme expliqué juste au dessus.
    Mais je vois pas trop comment tester l'heure.

    Sinon en même temps que ça il faudrait, toutes les minutes, mettre à jour l'heure sur un écran LCD.

    Je résume donc mon problème :

    - Créer une horloge par soft
    - Toutes les 1/2heures, de 10h à 13h, envoyer un signal PWM
    - idem de 19h à 22h
    - Mettre à jour l'heure sur un LCD, toutes les minutes.

    Voilà, en gros je me demande si c'est possible de faire tout ça à la fois. J'avoue que je suis un peu perdu et j'aurais besoin de conseils. En fait la chose qui me perturbe le plus, c'est que pendant que je compte mes secondes, minutes, je peux rien faire vu que je suis dans une boucle, donc je vois pas comment je pourrais mettre à jour le LCD et envoyer le signal PWM.

    Merci à vous !

    -----

  2. #2
    sdec25

    Re : Conseil pour gestion de l'heure par pic

    Salut.
    Tu as toi-même donné la réponse à ton problème :
    Donc grâce à une interruption sur le timer0 par exemple, je peux facilement faire des tempo de 60s
    En effet, tu modifies l'heure à chaque interruption et dans la boucle principale de ton programme tu fais le reste : changement de PWM, mise à jour du LCD...

  3. #3
    invitee0bbe70d

    Re : Conseil pour gestion de l'heure par pic

    Bonjour,

    Le plus simple avec le PIC16F876A, c'est d'utiliser un quartz secondaire de 32kHz que tu connecte sur le TIMER1, et tu le programmes pour générer une interruption toutes les secondes (TIMER1 = 8000h).
    De cette manière la précision que tu souhaites atteindre sera respectée (qq mn max par mois) et tu seras indépendant de ton horloge principale.

    Dans ta routine d'interruption ,l'astuce est de ne reprogrammer que la partie haute du TIMER1 à 80h de façon à garder la partie basse synchrone).
    Attention à la limitation connue sur le TIMER1 dans tous les PICs :
    http://ww1.microchip.com/downloads/e...Doc/80329a.pdf

    Dans cette même routine d'interruption tu incrémentes secondes, minutes,...et tu compares à ton alarme dans ton cas tu testes l'heure pour voir quelle action faire.
    Je te recommande d'avoir plusieurs sémaphores en fonction de tes différentes actions et de faire ces actions dans ton main() et pas dans la routine d'interruption pour la garder aussi courte que possible.

  4. #4
    invite3799b2e8

    Re : Conseil pour gestion de l'heure par pic

    Merci à vous !

    Je ferais donc un interruption toutes les 60s sur le timer0 ou timer 1.
    On est bien d'accord que lorsque je rentre dans la routine d'interruption, peu importe les actions que je fais et le temps que ça prend (LCD, PWM par exemple), l'interruption suivante se déclenchera 60s après ?

    J'ai pas compris par contre l'histoire des sémaphores, tu veux dire par de rester dans le main et de faire appel à des fonctions ?

    Sinon, y'a un autre point qui me pose problème, c'est l'initialisation de l'heure par l'utilisateur : je pensais mettre 2 boutons poussoir, le premier pour modifier l'heure ou les minutes (par exemple incrémenter), le 2ème pour valider le choix. Mais ça utiliserait déjà 2 pins d'interruptions (à moins que ça soit possible de ne pas passer par les interruptions, mais j'en doute). Et il faudrait aussi que l'utilisateur puisse changer l'heure quand il le souhaite, et là j'ai pas trop d'idée de la façon de mettre ça en place, car ça nécessiterait que le pic soit à l'écoute tout le temps, ou alors utiliser une interruption mais y'a que 3 interruptions "primaires" sur ce pic. Je vois pas trop comment faire.

  5. A voir en vidéo sur Futura
  6. #5
    sdec25

    Re : Conseil pour gestion de l'heure par pic

    Ce n'est pas un problème que le PIC soit "à l'écoute" des boutons tout le temps puisque 99% du temps il ne fera qu'attendre.

    Utiliser une interruption sur changement de front c'est utile si on doit être précis, ce qui n'est pas le cas d'un appui sur un bouton.
    Un simple test d'une entrée dans la boucle principale du programme suffit.

  7. #6
    invite3799b2e8

    Re : Conseil pour gestion de l'heure par pic

    ah oui bien sur, merci !
    Je vais réfléchir comment mettre ça en oeuvre maintenant (incrément via le bouton, valider par l'autre bouton).

  8. #7
    Gérard

    Re : Conseil pour gestion de l'heure par pic

    Bonjour,
    Tu peux aussi utiliser une RTC.

Discussions similaires

  1. PIC, gestion de l'heure ?
    Par invite116c4f9b dans le forum Électronique
    Réponses: 16
    Dernier message: 16/12/2008, 20h54
  2. PIC, afficher l'heure sur un LCD ?
    Par invite116c4f9b dans le forum Électronique
    Réponses: 2
    Dernier message: 23/10/2007, 17h34
  3. Conseil pour bouquins sur la programmation des PIC
    Par gaga2410 dans le forum Électronique
    Réponses: 11
    Dernier message: 19/10/2007, 22h29
  4. Réponses: 13
    Dernier message: 03/10/2007, 21h32
  5. Pic 16f877 Pic basic pro conseil
    Par invite4ff7103d dans le forum Électronique
    Réponses: 10
    Dernier message: 04/01/2007, 17h26
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...