Interface
en mode de communication RS232 :
Hors tension,
placez le cavalier SW2 de manière
à court-circuiter les deux picots.
Le mode de communication RS232 est ainsi
initialisé dès la mise
sous tension de la platine.
N'oubliez pas, la vitesse de communication
série est fixée
à 19200 bauds
et
ne peut être modifiée.

Après
avoir connecté un câble
de liaison RS232 câblé fil
à fil (seuls RX et TX et la masse sont nécessaires)
entre l'interface et
votre PC, mettez cette dernière
sous tension.
Protocole
de communication ASCII permettant de dialoguer
avec l'interface en mode RS232 :
Afin de piloter sélectivement
les entrées et sorties de l'interface, différentes commandes composées d'une suite de caractères
ASCII ont été définis.
Si l'on souhaite piloter correctement
l'interface, il faudra veiller à respecter
scrupuleusement la syntaxe de ces suites
ASCII.
Dès
sa mise sous tension, l'interface
transmet au PC les données correspondantes
aux différents états logiques
présents sur les 16 entrées J1 et J2. L'interface
envoie également les données
issues du convertisseur analogique -
numérique 12 bits (CAN) des entrées
J5 et J6. A
titre indicatif, si le convertisseur 12 bits
n'a pas été placé
sur sont support de circuit intégré, les valeurs reçues
par le PC sont systématiquement 4096.
Nous
allons expliciter ci-dessous l'ensemble
des commandes à utiliser pour
piloter l'interface en mode RS232.
Transfert
de données de l'interface (PIC)
vers le PC (transfert toutes les 500ms) :
8
entrées numériques J1
:
Vous
recevez une chaîne de caractères
en provenance de l'interface sous la
forme : !Axxxx#
avec
: -
!
: le caractère d'entête.
-
A : le caractère indiquant
que l'on réceptionne l'octet
présent sur l'entrée
J1. -
xxxx
: les 4 caractères représentatifs
de la valeur de l'octet présent
sur l'entrée J1 est compris
entre 0000 et 0255. -
#
: le caractère de fin de chaîne
ASCII.
8
entrées numériques J2
:
Vous
recevez une chaîne de caractères
en provenance de l'interface sous la
forme : !Bxxxx#
avec
: -
!
: le caractère d'entête.
-
B : le caractère indiquant
que l'on réceptionne l'octet
présent sur l'entrée
J2. -
xxxx
: les 4 caractères représentatifs
de la valeur de l'octet présent
sur l'entrée J2 est compris
entre 0000 et 0255. -
#
: le caractère de fin de chaîne
ASCII.
Entrée
analogique J5 codée sur
12 bits :
Vous
recevez une chaîne de caractères
en provenance de l'interface sous la
forme : !Cxxxx#
avec
: -
!
: le caractère d'entête.
-
C : le caractère indiquant
que l'on réceptionne la valeur
sur 12 bits du CAN présente sur
l'entrée J5. -
xxxx
: les 4 caractères représentatifs
de la valeur présente sur l'entrée
J5, comprise entre 0000 et 4096.
-
#
: le caractère de fin de chaîne
ASCII.
Entrée
analogique J6 codée sur
12 bits :
Vous
recevez une chaîne de caractères
en provenance de l'interface sous la
forme : !Dxxxx#
avec
: -
!
: le caractère d'entête.
-
D : le caractère indiquant
que l'on réceptionne la valeur
sur 12 bits du CAN présente sur
l'entrée J6. -
xxxx
: les 4 caractères représentatifs
de la valeur présente sur l'entrée
J6, comprise entre 0000 et 4096.
-
#
: le caractère de fin de chaîne
ASCII.
Transfert
de données du PC vers l'interface
(PIC) :
Afficheur
LCD :
1ère
ligne du LCD :
La transmission série doit s'effectuer
sous la forme : $1yyyyyyy|# avec
: -
$
: le caractère d'entête.
-
1 : le caractère indiquant
le numéro de ligne du LCD, ici
la ligne 1. -
yyyyyy
: les différents caractères
de la chaîne à afficher
sur l'écran du LCD. -
|
:
le caractère de fin de chaîne
de votre message (faire Alt gr + touche
6 du clavier pour obtenir |) -
#
: le caractère de fin de chaîne
ASCII.
Exemple
:
$1Bonjour a tous|#

2ème
ligne du LCD :
La transmission série doit s'effectuer
sous la forme : $2yyyyyyy|# avec
: -
$
: le caractère d'entête.
-
2 : le caractère indiquant
le numéro de ligne du LCD, ici
la ligne 2. -
yyyyyy
: les différents caractères
de la chaîne à afficher
sur l'écran du LCD. -
|
:
le caractère de fin de chaîne
de votre message (faire Alt gr + touche
6 du clavier pour obtenir |) -
#
: le caractère de fin de chaîne
ASCII.
Exemple
: $2Comment allez-vous ?|#

3ème
ligne du LCD :
La transmission série doit s'effectuer
sous la forme : $3yyyyyyy|# avec
: -
$
: le caractère d'entête.
-
3 : le caractère indiquant
le numéro de ligne du LCD, ici
la ligne 3. -
yyyyyy
: les différents caractères
de la chaîne à afficher
sur l'écran du LCD. -
|
:
le caractère de fin de chaîne
de votre message (faire Alt gr + touche
6 du clavier pour obtenir |) -
#
: le caractère de fin de chaîne
ASCII.
Exemple
:
$3Formidablement bien.|#

4ème
ligne du LCD :
La transmission série doit s'effectuer
sous la forme : $4yyyyyyy|# avec
: -
$
: le caractère d'entête.
-
4 : le caractère indiquant
le numéro de ligne du LCD, ici
la ligne 4. -
yyyyyy
: les différents caractères
de la chaîne à afficher
sur l'écran du LCD. -
|
:
le caractère de fin de chaîne
de votre message (faire Alt gr + touche
6 du clavier pour obtenir |) -
#
: le caractère de fin de chaîne
ASCII.
Exemple
: $4Et vous...|#

Effacement
du LCD :
La transmission série doit s'effectuer
sous la forme : $5# avec
: -
$
: le caractère d'entête.
-
5 : le caractère indiquant
l'effacement du LCD. -
#
: le caractère de fin de chaîne
ASCII.
Sorties
PWM sur J7 :
La
transmission série doit s'effectuer
sous la forme : !$6x|#
avec
: -
$
: le caractère d'entête.
-
6 : le caractère indiquant
que l'on pilote la sortie J7.
-
x
:
compris entre 0 et 255 selon le rapport
cyclique désiré, soit
de 0 à 100% -
|
:
le caractère de fin de chaîne
(faire Alt gr + touche 6 du clavier
pour obtenir |) -
#
: le caractère de fin de chaîne
ASCII.
Exemple
: $60|#
pour un rapport cyclique de 0% sur la
sortie J7.
$6255|#
pour un rapport cyclique de 100% sur
la sortie J7.
Sorties
PWM sur J8 :
La
transmission série doit s'effectuer
sous la forme : !$7x|#
avec
: -
$
: le caractère d'entête.
-
7 : le caractère indiquant
que l'on pilote la sortie J8.
-
x
:
compris entre 0 et 255 selon le rapport
cyclique désiré, soit
de 0 à 100% -
|
:
le caractère de fin de chaîne
(faire Alt gr + touche 6 du clavier
pour obtenir |) -
#
: le caractère de fin de chaîne
ASCII.
Exemple
: $70|#
pour un rapport cyclique de 0% sur la
sortie J8. $7255|#
pour un rapport cyclique de 100% sur
la sortie J8.
Sortie
numérique J3 :
La
transmission série doit s'effectuer
sous la forme : !$8x|#
avec
: -
$
: le caractère d'entête.
-
8 : le caractère indiquant
que l'on pilote la sortie J3.
-
x
:
compris entre 0 et 255 selon la valeur
à appliquer sur les 8 sorties
de J3. -
|
:
le caractère de fin de chaîne
(faire Alt gr + touche 6 du clavier
pour obtenir |) -
#
: le caractère de fin de chaîne
ASCII.
Exemple
: $80|#
les 8 sorties de J3 sont à l'état
bas. $8255|#
les 8 sorties de J3 sont à l'état
haut.
Sortie
numérique J4 :
La
transmission série doit s'effectuer
sous la forme : !$9x|#
avec
: -
$
: le caractère d'entête.
-
9 : le caractère indiquant
que l'on pilote la sortie J4.
-
x
:
compris entre 0 et 255 selon la valeur
à appliquer sur les 8 sorties
de J4. -
|
:
le caractère de fin de chaîne
(faire Alt gr + touche 6 du clavier
pour obtenir |) -
#
: le caractère de fin de chaîne
ASCII.
Exemple
: $90|#
les 8 sorties de J4 sont à l'état
bas. $9255|#
les 8 sorties de J4 sont à l'état
haut.
Sortie
numérique J9 :
La
transmission série doit s'effectuer
sous la forme : !$Ax|#
avec
: -
$
: le caractère d'entête.
-
A : le caractère indiquant
que l'on pilote la sortie J9.
-
x
:
compris entre 0 et 255 selon la valeur
à appliquer sur les 8 sorties
de J9. -
|
:
le caractère de fin de chaîne
(faire Alt gr + touche 6 du clavier
pour obtenir |) -
#
: le caractère de fin de chaîne
ASCII.
Exemple
: $A0|#
les 8 sorties de J9 sont à l'état
bas. $A255|#
les 8 sorties de J9 sont à l'état
haut.
Sortie
numérique J10 :
La
transmission série doit s'effectuer
sous la forme : !$Bx|#
avec
: -
$
: le caractère d'entête.
-
B : le caractère indiquant
que l'on pilote la sortie J10.
-
x
:
compris entre 0 et 255 selon la valeur
à appliquer sur les 8 sorties
de J10. -
|
:
le caractère de fin de chaîne
(faire Alt gr + touche 6 du clavier
pour obtenir |) -
#
: le caractère de fin de chaîne
ASCII.
Exemple
: $B0|#
les 8 sorties de J10 sont à l'état
bas. $B255|#
les 8 sorties de J10 sont à l'état
haut.
Sortie
numérique J11 :
La
transmission série doit s'effectuer
sous la forme : !$Cx|#
avec
: -
$
: le caractère d'entête.
-
C : le caractère indiquant
que l'on pilote la sortie J11.
-
x
:
compris entre 0 et 255 selon la valeur
à appliquer sur les 8 sorties
de J11. -
|
:
le caractère de fin de chaîne
(faire Alt gr + touche 6 du clavier
pour obtenir |) -
#
: le caractère de fin de chaîne
ASCII.
Exemple
: $C0|#
les 8 sorties de J11 sont à l'état
bas. $C255|#
les 8 sorties de J11 sont à l'état
haut.
Sorties
numériques optionnelles complémentaires :
Le
connecteur
K4
de l'interface permet d'ajouter trois
autres PCF8574P
supplémentaires à l'interface.
Pour ce faire, vous devrez réaliser
une carte fille vous permettant l'ajout
de ces 3 nouveaux composants. Vous n'aurez
aucune difficulté à câbler
ces 3 nouveaux circuits en vous aidant
du schéma électrique de
l'interface. Le
câblage des entrées A0,
A1 et A2 des PCF8574P et la commande
de ces 3 nouveaux circuits s'effectuent
en utilisant les informations ci-après.

Le
premier PCF8574P est câblé avec
les broches A2 = +5V et A1 = A0 = GND.
Le
contrôle de ce dernier par la
liaison série s'effectue comme précédemment
mais en utilisant la suite de caractères
suivantes : !$Dx|#
Le
second PCF8574P est câblé
avec les broches A2 = +5V, A1= GND et
A0 = +5V. Le
contrôle de ce dernier par la
liaison série s'effectue en utilisant
la suite de caractères suivantes
: !$Ex|#
Le
troisième PCF8574P est câblé
avec les broches A2 = +5V, A1= +5V et
A0 = GND. Le
contrôle de ce dernier par la
liaison série s'effectue en utilisant
la suite de caractères suivantes
: !$Fx|#
Désormais
l'interface universelle permet de gérer
un total de
64 sorties numériques
au lieu des 40 proposées par
défaut.
Logiciel et
son code source dédié
à la gestion de l'interface en
mode RS232 :
Afin
de piloter simplement l'interface en
mode RS232 (19200 bauds)
via votre PC,
un petit programme
écrit sous Borland
Delphi (compatible
avec les versions 5, 6 et 7 de Delphi)
est disponible en
libre
téléchargement. Ce dernier génère automatiquement
les
différentes instructions
présentées
ci-dessus. La communication série RS232 du
programme Delphi est assurée via un composant freeware additionnel conçu pour
Borland Delphi et Borland C++. Ce composant se nomme COMPORT et vous pouvez le
télécharger à l'adresse suivante
[ COMPORT
]. Il faudra préalablement l'installer sous Borland Delphi avant
d'ouvrir les fichiers sources.
Pour ceux utilisant le Visual Basic
ou le Visual C++, ils auront recours aux composants de communication série
équivalents adaptés à ces systèmes de développement.
Les
SE compatibles avec ce programme sont
: 8,
Seven,
Vista
et
XP. ll
n'a pas été testé
sous 2000, Me et 98SE.

Téléchargement du
soft compilé EXE : 333ko
L'ensemble
du code source de
ce programme est
librement téléchargeable
ci-après. Le code source est
commenté et vous n'aurez aucun
mal à l'adapter selon vos besoins.
Téléchargement de
l'ensemble des fichiers sources au format
Borland Delphi : 312ko
Téléchargement du code
source au format TEXTE : 8
ko
|