Suivi du nombre restant de jours TEMPO ou EJP

On va ici introduire dans le programme la possibilité de suivre le nombre de jours TEMPO ou EJP passés et à venir. Le site EdF indique qu’il y 22 jours rouges et 43 jours blancs dans une année qui commence au 1er septembre et se termine au 31 août. Il y a parallèlement 22 jours EJP entre le 1er novembre et le 31 mars.

On affichera le nombre de jours passés et le nombre de jours restant sur l’écran LCD 2×16 de notre montage.

Nous sommes partis de notre montage initial pour y introduire deux boutons poussoirs – l’un rouge, l’autre blanc – destinés à initialiser et/ou corriger le nombre de jours rouges ou blancs écoulés et le nombre de jours restant. Le nouveau schéma du montage est proposé ici. Outre les boutons poussoirs 2 résistances de 10K environ sont nécessaires. Le montage EJP ne nécessite qu’un seul bouton poussoir

statut Tempo apres decodage Pulsadis
Affichage du statut « TEMPO » après décodage du signal Pulsadis

Il faut ensuite modifier le programme écrit en GCBASIC pour y introduire la gestion des boutons poussoirs. En version « TEMPO » le programme proposé au début de ce blog a été allégé de toutes ses subroutines relatives à EJP ainsi que les routines de debug. A ce programme « aminci » on a ajouté les sous programmes permettant de gérer les deux boutons poussoirs. Un appui court sur le bouton blanc (resp rouge) affiche le nombre de jours consommés et restant de type blanc (resp rouge). Un appui long incrémente le compteur des jours consommés du bouton correspondant. A chaque fois que le nombre de jours blancs ou rouges consommés est modifié, cette variable est mémorisée dans la mémoire EEPROM de sorte qu’en cas de panne de courant, le comptage reprendra au bon endroit.

La vérification du statut des boutons est effectuée dans la boucle infinie de la fonction Startbit. Quand un bouton est pressé, on laisse passer 10ms pour s’assurer que le bouton est bien enfoncé et si l’appui dure plus de 50 x 10 ms on considèrera qu’il s’agit d’un appui long et court dans le cas contraire. On notera que du fait du positionnement dans Startbit de la fonction de vérification des boutons ceux-ci ne fonctionneront pas pensant la réception d’un signal Pulsadis.

Le code source du programme Tempo avec affichage des jours passés et restant est disponible dans la zone de téléchargement. On peut aussi y récupérer le fichier hex pour un PIC16F690.

Ce programme est également disponible (voir zone de téléchargement) pour un abonnement EJP avec le montage suivant (un seul bouton poussoir).

2 réflexions sur « Suivi du nombre restant de jours TEMPO ou EJP »

  1. Bonjour,
    J’ai réalisé votre montage avec un Pic différent du votre.
    Voulant modifier le prg avec des IO différents je me suis heurté à des problèmes de non fonctionnement.
    En cherchant dans les lignes de votre programme (ejp), je ne trouve pas la déclaration de l’entrée analogique et le BP sur la même IO (A0) ne fonctionne pas alors que l’affichage (sur les mêmes IO) fonctionne.
    J’ai bien sûr déclaré le bon Pic en début de programme.
    Puis je avoir votre avis ?
    Merci d’avance.
    Arsène.

    1. La déclaration explicite en début de programme n’est pas nécessaire. Elle se fait implicitement dans la fonction Detect175Mhz:
      readAN8=ReadAD(an8) ‘Lecture signal analogique sur AN8
      Il y a juste à modifier le paramètre de ReadAD si vous utilisez une autre entrée que an8

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


Warning: realpath(): open_basedir restriction in effect. File(/var/www/sdb/8/9/gkarchives/tmp) is not within the allowed path(s): (/var/www/sda/0/7/pulsadis) in /var/www/sda/0/7/pulsadis/wordpress/wp-includes/functions.php on line 2102