Connexion
de l'interface :
L'interface est conçue pour s'interconnecter
directement à l'un de vos ports de communication USB
présents sur votre ordinateur
au moyen d'un cordon USB A mâle - USB B mâle.
Cordon
USB A mâle - USB B mâle.
Combinaison
VID et PID :
Dans
le cadre de ce projet, nous utilisons
un driver de type
HID (Human
Interface Device) utilisé dans
tous les périphériques
de type souris
ou clavier
USB du commerce. L'avantage est sa simplicité
de mise en oeuvre car le périphérique
de type HID est
automatiquement reconnu par Windows
et
ne nécessite aucun driver exotique!
Tous
les périphériques USB
sont pourvus d'une combinaison unique
prenant la forme de deux
nombres.
Le premier nombre VID
identifie le
fabricant du produit,
ici Microchip et le second PID
représente l'identificateur
du produit.
Dans le cadre de ce projet nous avons
utilisé le VID
de Microchip librement disponible 1240
et comme PID
nous
avons pris arbitrairement la valeur
3.
N'oubliez pas que le PIC
et
le logiciel
sous Windows doivent
utiliser la même combinaison VID/PID.
Connexion pour la
première fois de l'interface USB au PC :
Dès que vous
connectez pour la première fois
l'interface à votre
PC, ce dernier détecte un nouveau
matériel et affiche son identité
(en bas à droite de votre écran
sous Windows XP) comme ci-dessous :
Patientez
quelques secondes durant l'installation
automatique des pilotes de votre périphérique
de la catégorie HID.
Après
l'installation du pilote, l'interface
est fonctionnelle et vous pouvez désormais
utiliser le logiciel sous Windows pour
piloter votre interface...
Commandes utilisées
pour le contrôle des différentes
sorties de l'interface
USB :
Afin
de piloter sélectivement les
16 sorties de l'interface, nous
envoyons à l'interface une série
de deux
octets.
Le premier
octet est l'instruction
et
le second
est le
paramètre.
Dans
le cadre de ce projet, l'instruction
représente le
niveau logique
(haut, bas, toggle, etc...) et le paramètre
représente
le numéro
de la sortie
compris
entre
1 et 16.
Si
vous vous référez au code
source du programme écrit en
Borland Delphi téléchargeable
un peu plus bas, le
1er octet est
affecté à la case mémoire
FBufferOut[1] et
le second
octet
à la case mémoire
FBufferOut[2]
de la communication USB. Cinq
groupes d'instructions sont disponibles
sont pour cette interface
:
un groupe d'instructions pour mettre à
l'état haut la sortie considérée
: mode ON.
un groupe d'instructions pour mettre à
l'état bas la sortie considérée :
mode OFF. un
groupe d'instructions permettant de basculer
entre deux états : mode TOGGLE. un
groupe d'instructions pour mettre à
l'état haut simultanément
toutes les sorties. un
groupe d'instructions pour mettre à
l'état bas simultanément
toutes les sorties.
Groupe
d'instructions permettant d'affecter un état haut
sur
une sortie déterminée :
1er
octet FBufferOut[1]
|
2eme
octet FBufferOut[2]
|
Sorties
mises à l'état
haut
|
1
|
1
|
S1
|
1
|
2
|
S2
|
1
|
3
|
S3
|
1
|
4
|
S4
|
1
|
5
|
S5
|
1
|
6
|
S6
|
1
|
7
|
S7
|
1
|
8
|
S8
|
1
|
9
|
S9
|
1
|
10
|
S10
|
1
|
11
|
S11
|
1
|
12
|
S12
|
1
|
13
|
S13
|
1
|
14
|
S14
|
1
|
15
|
S15
|
1
|
16
|
S16
|
Groupe
d'instructions
permettant d'affecter un état bas sur une sortie déterminée
:
1er
octet FBufferOut[1]
|
2eme
octet FBufferOut[2]
|
Sorties
mises à l'état
bas
|
2
|
1
|
S1
|
2
|
2
|
S2
|
2
|
3
|
S3
|
2
|
4
|
S4
|
2
|
5
|
S5
|
2
|
6
|
S6
|
2
|
7
|
S7
|
2
|
8
|
S8
|
2
|
9
|
S9
|
2
|
10
|
S10
|
2
|
11
|
S11
|
2
|
12
|
S12
|
2
|
13
|
S13
|
2
|
14
|
S14
|
2
|
15
|
S15
|
2
|
16
|
S16
|
Groupe
d'instructions permettant de basculer entre deux
états logiques en sortie :
1er
octet FBufferOut[1]
|
2eme
octet FBufferOut[2]
|
Sorties
basculées (toggle)
|
3
|
1
|
S1
|
3
|
2
|
S2
|
3
|
3
|
S3
|
3
|
4
|
S4
|
3
|
5
|
S5
|
3
|
6
|
S6
|
3
|
7
|
S7
|
3
|
8
|
S8
|
3
|
9
|
S9
|
3
|
10
|
S10
|
3
|
11
|
S11
|
3
|
12
|
S12
|
3
|
13
|
S13
|
3
|
14
|
S14
|
3
|
15
|
S15
|
3
|
16
|
S16
|
Instructions permettant de mettre à
l'état haut toutes les sorties simultanément
:
Si
vous souhaitez activer toutes les sorties
S1 à S16, il vous suffit d'envoyer
à l'interface PC l'instruction
suivante :
1er
octet FBufferOut[1]
|
Sorties
mises à l'état
haut
|
4
|
S1
à S16
|
Notez
qu'il est inutile d'envoyer ici le second
octet. Seul le premier octet est nécessaire.
Instructions
permettant de mettre à
l'état bas toutes les sorties simultanément
:
Si
vous souhaitez désactiver toutes
les sorties S1 à S16, il vous
suffit d'envoyer à l'interface
PC l'instruction suivante :
1er
octet FBufferOut[1]
|
Sorties
mises à l'état
bas
|
5
|
S1
à S16
|
Notez
qu'il est inutile d'envoyer ici le second
octet. Seul le premier octet est nécessaire.
Logiciel de gestion de l'interface
PC :
Téléchargement
du logiciel et du code source :
Afin
de piloter simplement l'interface via votre PC,
un petit programme nommé
"Panneau de commande 16 canaux
USB"
écrit sous Borland
Delphi est disponible en
téléchargement.
Ce dernier génère automatiquement
les
différentes instructions
présentées
ci-dessus
en fonction du bouton
pressé
avec votre souris.
Les
SE compatibles avec ce programme sont
: 8,
Seven,
Vista,
XP. ll
n'a pas été testé
sous 2000, Me et 98SE.
Téléchargement du
soft compilé EXE : 441ko
L'ensemble
du code source du programme Delphi 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 : 460ko
Téléchargement du code
source au format TEXTE : 24
ko
Les commandes sont extrêmement
simples à maitriser grâce
à l'usage d'une DLL
(Dynamic
Link Library)
spécifiquement dédiée
à la communication USB (mcHID.dll). N'oubliez
pas de placer cette DLL dans
le même répertoire que
votre programme exécutable.
Utilisation
du logiciel avec l'interface : L'ensemble
des boutons identifiés S1 à
S16 du
logiciel sont représentatifs des
différentes sorties disponibles
sur la platine.
De la sorte, le bouton S1 commande la sortie
S1 et la led correspondante, le bouton
S2 la sortie S2 et ainsi de suite.
Vous
pouvez à partir de ce logiciel
tester les différentes instructions précédemment
explicitées :
les deux
groupes de commandes ON et OFF :
le
groupe de commandes permettant un basculement entre deux
états logiques (bistables - toggle)
:
les
deux commandes permettant l'activation et désactivation
de toutes les sorties :
Bonne
utilisation de l'interface...
|