La
carte du Digi-code extérieur

Ce chapitre présente les
divers programmes avec les possibilités d'associations de
cartes. Les
paramètres à modifier sont suivant
le choix du mode de
fonctionnement suivant de la carte
utilisée. Pour bien comprendre, j'ai utilisé ma
configuration personnelle.
L'adressage des cartes étant confidentiel, elles
ont
été remplacé par des 'XX' et le 'CC'
est le code.
Donc (XX)=
adresse de la carte & (CC) le code comme par exemple: code
XX24.
Les points
Communs:
Ils sont de deux.
L'alimentation de la carte en 220 volts
pour son fonctionnement et du câble de réseau pour
la
communication entre elles.

Sur l'entrée RB4
est
raccordé un bouton poussoir extérieur qui sert
à réveiller la carte. Il remet sous tension la
carte pour son utilisation.
Les entrées RB5
et RB6
sont
disponibles et libre pour une utilisation personnelle.
L'entrée RB7
est raccordée en interne avec l'interruption du clavier.
Elle
détecte une action sur le clavier. La valeur qui correspond
à la touche enfoncée du
clavier est ensuite envoyée à la carte
de base 2 en utilisant son bus I2C.
Sur la carte de base 2 est implanté le
thermomètre
digital. Il a pour effet de surveiller la température du
boîtier. Il sert par programmation de détection
hors gel. En
fonctionnement normal, les cartes sont hors tension. C'est
lorsque la température descend en dessous d'un certain
seuil que l'on laisse en permanence sous tension les cartes. On a alors
un système hors gel. C'est le transformateur qui
réchauffe l'intérieur de
chaque coffret .
Et pour finir, le convertisseur analogique digital est aussi
implanté. Un capteur LDR est intégré
sur la face avant du coffret dans la barre en aluminium. Il sert
à mesurer la quantité de lumière
extérieur. Par comparaison avec des seuils, on envoie des
informations sur le réseau vers les autres cartes. Cela nous
permet de savoir si nous sommes la nuit ou le jour. Dans ce cas la
lumière extérieur ne peut s'allumer que la nuit.
On peut aussi si l'on dispose de volets motorisés de les
faire descendre lorsqu'il y a trop de soleil.
Le Digi-code est surtout utilisé pour piloter l'installation
de l'extérieur. On peut ouvrir le portail, ouvrir
la porte de garage ou allumer la lumière
extérieur. Mais on peut aussi l'utiliser pour
changer un paramètre vers une autre carte.
Télécharger le programme complet en "Hex" pour la
Carte de Base 2.
Cela correspond au programme
de gestion du Digi-code, du capteur de mesure de la
température
extérieur et du convertisseur analogique qui permet d'avoir
la
quantité de lumière extérieur.
L'écriture
et la simulation des programmes ont été
écrit sur
MPLAB. Vous pouvez télécharger les sources sur
leur site
internet à l'adresse suivante: http://www.microchip.com/.
Il faut aller dans la rubrique Home
Produit
Development Tools
et
télécharger par exemple le fichier MPLAB IDE v7.20 ou
v7.21. Une
fois téléchargé, il ne vous reste plus
qu'à l'installer. Attention le soft est en anglais.
La programmation du PIC est
réalisé avec le logiciel ICPROG. Vous pouvez
télécharger les sources sur
leur site
internet à l'adresse suivante: http://www.ic-prog.com/. Une
fois téléchargé, il ne vous reste plus
qu'à l'installer. C'est un logiciel gratuit et il
est dans toutes les langues.
Exemples
de programmes en assembleur utilisés dans cette
étude :
Sous-programme
en assembleur de la gestion du BUS I2C avec un PIC 16F84A:

A voir le
programme de la routine de communication
pour le
Bus I2C. C'est la partie maître car les esclaves sont
prêt
à l'emploie.
Sous-programme
de conversion de l'hexadécimal en BCD:

A voir le programme de la routine de conversion d'une grandeur
hexadécimale en BCD.
Descriptif
des 64 octets de la Mémoire Eeprom du Pic.
Le
contenu d'une eeprom d'un PIC au format assembleur.
En rouge
les
Directives qui
sont accessibles lorsque l'on est en mode Opérateur.
( Exemple:
code 8063 valid pour autoriser et code 8064 valid pour fermer ).
En vert sont les Directives
Communes à toutes les cartes.
En noir les Directives pour la
carte.
de
H'80'
; adresse esclave ALL
de
H'90'
; code réinitialisation des cartes
de
H'10'
; code passage en Nuit
de
H'11'
; code passage en Jour
de
H'12'
; code passage > 0°
de
H'13'
; code passage < 0°
de
H'63'
; code ouverture mode opérateur
de
H'64'
; code fermeture mode opérateur
de
H'00'
; libre
de
H'00'
; libre
de
H'00'
; libre
de
H'00'
; libre
de
H'00'
; libre
de
H'00'
; libre
de
H'00'
; libre
de B'00000000'
; Directive de Fonctionnement de la Carte
de
D'10'
; temps du Scrolling en seconde(s)
de
D'60'
; valeur temps stand en seconde(s)
de
D'2'
; valeur temps réveil en seconde(s)
de D'90'
; valeur seuil pour le Passage en Mode Nuit
de
D'30'
; valeur seuil pour le Passage en Mode Jour
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
H'FF'
; adresse esclave de la carte Pilier 3B
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
D'0'
; libre
de
H'20'
; code verrouillage de la carte 4
de
H'21'
; code déverrouillage de la carte 4
de
H'22'
; code affichage du seuil Haut thermostat
de
H'23'
; code affichage du seuil Bas thermostat
de
H'24'
; code affichage du seuil Haut LDR
de
H'25'
; code affichage du seuil Bas LDR
de
H'26'
; code affichage Température
de
H'27'
; code affichage LDR
de
H'00'
; adresse libre sur RB4
de
H'00'
; Code libre sur RB4
de
H'00'
; adresse libre sur RB5
de
H'00'
; Code libre sur RB5
de
H'00'
; adresse libre sur RB6
de
H'00'
; Code libre sur RB6
de
H'00'
; adresse libre sur RB7
de
H'00'
; Code libre sur RB7
Le
Détail des bits utilisés.
adresse esclave
C'est l' adresse qui
sera utilisée pour commander plusieurs cartes.
code
réinitialisation des cartes
C'est le code qui
sert à
réinitialiser toutes les cartes.Exemple pour
réinitialiser toutes les cartes le code est : 8090 valid
code passage en Nuit
C'est le code
utilisé lorsque l'on passe en mode nuit.Exemple pour
informer les cartes que nous sommes la nuit: 8010 valid
code passage en Jour
C'est le code
utilisé lorsque l'on passe en mode jour.Exemple pour
informer les cartes que nous sommes le jour: 8011 valid
code passage >
0°
C'est le code
utilisé lorsque l'on sort du mode hors gel.Exemple pour
informer les cartes que nous sommes hors gel: 8012 valid
code passage <
0°
C'est le code
utilisé lorsque l'on sort du mode gel.Exemple pour informer
les cartes que nous sommes gel: 8013 valid
code ouverture mode
opérateur
C'est le code
utilisé qui
ouvre l'accès à la modification des valeurs
modifiables.Exemple pour informer les cartes que nous ouvrons
l'accès pour modification: 8063 ( valeurs modifiables =
temporisations, compteurs, etc .... )
code fermeture mode
opérateur
C'est le code
utilisé qui
ferme l'accès à la modification des valeurs
modifiables.Exemple pour informer les cartes que nous fermons
l'accès pour modification: 8064 ( valeurs modifiables =
temporisations, compteurs, etc .... )
Directive de Fonctionnement de
la Carte
C'est l'octet de
configuration du fonctionnement de la carte .
bit "0" => 1 = RB4
utilisé en interne 0 = RB4 utilisé en externe.
bit "1" => 1 = RB5
utilisé en interne 0 = RB5 utilisé en externe.
bit "2" => 1 = RB6
utilisé en interne 0 = RB6 utilisé en externe.
temps du Scrolling en seconde(s)
C'est
le temps qu'il est utilisé pour passer l'affichage en Mode
Scrolling avant l'arrêt de la carte. Ça donne un
effet de
défilement de l'affichage.
valeur temps stand en
seconde(s)
C'est le temps que la carte
reste sous tension avant de passer en veille.
valeur temps réveil
en seconde(s)
C'est le temps que la carte
reste sous tension après un réveil.
valeur seuil pour le Passage en Mode Nuit
C'est le seuil pour la
passage des
cartes de le mode nuit. La comparaison est faite par rapport
à
la cellule LDR qui se trouve sur la face avant du boîtier.
valeur seuil pour le Passage en Mode Jour
C'est
le seuil pour la passage des cartes de le mode jour. La comparaison est
faite par rapport à la cellule LDR qui se trouve sur la face
avant du boîtier.
adresse esclave de la carte 4
C'est l'adresse
utilisée pour la carte.
code verrouillage de la carte 4
C'est le code
utilisé pour verrouiller la carte pour interdire
l'utilisation de celle-ci.Exemple: code XX20 valid
code déverrouillage
de la carte 4
C'est le code
utilisé pour déverrouiller la carte.Exemple: code
XX21 valid
code affichage du seuil Haut
thermostat
C'est le code
utilisé pour afficher la valeur du seuil haut du thermostat.
code affichage du seuil Bas
thermostat
C'est le code
utilisé pour afficher la valeur du seuil bas du thermostat.
code affichage du seuil Haut LDR
C'est le code
utilisé pour afficher la valeur du seuil haut du
contrôle de lumière
code affichage du seuil Bas LDR
C'est le code
utilisé pour afficher la valeur du seuil bas du
contrôle de lumière
code affichage Température
C'est le code
utilisé pour afficher la température actuelle en
fonctionnement normal.
code affichage LDR
C'est le code
utilisé pour afficher la quantité de
lumière actuelle en fonctionnement normal.
adresse libre sur RB4
C'est
l'adresse qui sera envoyée vers les autres cartes lorsque
RB4
passe à l'état 0. Bien entendu que le bit du Mode_RB4_Int_Ext soit
activé.
Code libre sur RB4
C'est
le code qui sera envoyée vers les autres cartes lorsque RB4
passe à l'état 0. Bien entendu que le bit
du Mode_RB4_Int_Ext
soit activé.
adresse libre sur RB5
C'est
l'adresse qui sera envoyée vers les autres cartes lorsque
RB5
passe à l'état 0. Bien entendu que le bit du Mode_RB5_Int_Ext soit
activé.
Code libre sur RB5
C'est
le code qui sera envoyée vers les autres cartes lorsque RB5
passe à l'état 0. Bien entendu que le bit du Mode_RB5_Int_Ext soit
activé.
adresse libre sur RB6
C'est
l'adresse qui sera envoyée vers les autres cartes lorsque
RB6
passe à l'état 0. Bien entendu que le bit du Mode_RB6_Int_Ext soit
activé.
Code libre sur RB6
C'est
le code qui sera envoyée vers les autres cartes lorsque RB6
passe à l'état 0. Bien entendu que le bit du Mode_RB6_Int_Ext soit
activé.
adresse libre sur RB7
C'est
l'adresse qui sera envoyée vers les autres cartes lorsque
RB7
passe à l'état 0.
Code libre sur RB67
C'est
le code qui sera envoyée vers les autres cartes lorsque RB7
passe à l'état 0.

Comment changer les valeurs
de
Eeprom avec ICPROG ?
Et bien c'est tout
simple, clique sur l'icône.

 |
ALL RIGHTS RESERVED
Copyright © 2005
HUMBERT Stéphane |
 |
 |
|
Dernière mise
à jour :
|
 |