Téléchargement des logiciels pour
Windows et Android dédiés à la gestion de l'interface :
Les
commandes sont extrêmement
simples à maitriser puisqu'elles reposent sur un transfert UDP de différentes chaines de caractères
ASCII prédéfinies.
Les chaînes accompagnées
du mot de passe sont envoyées vers l'interface multi
IN - OUT n°2 dès que vous pressez l'un des boutons des logiciels présentés ci-dessous. Vous
trouverez la liste complète des chaines de caractères un peu plus bas sur
cette page...
La
lecture des différentes entrées
s'effectue en boucle à intervalles réguliers (configurable depuis
le logiciel sous Delphi ou Basic4Android) afin
de renvoyer au PC ou au Smartphone l'ensemble des données,
à savoir : les états
logiques des 8 entrées IND0 à IND7; la mesure des potentiels
présents sur les 5 entrées
analogiques INA0 à INA5; la mesure de la
température en degré
centigrade.
Rappel
: La
mesure de température est optionnelle
et vous pouvez utiliser l'interface
aussi bien avec ou sans le capteur DS18B20 référencé
U4.
Logiciel pour :
La
gestion de l'interface
s'effectue au moyen d'un
petit programme d'application écrit avec Borland
Delphi 7 nommé "Interface
Ethernet 4 entrées logiques /
4 sorties sur relais / 5 entrées
analogiques 10 bits / 1 entrée
capteur température DS18B20".
Consultez la page [ Indy sous Delphi 7 ] afin d'installer le composant nommé
"Indy" vous permettant sous Delphi
de modifier le code source pour l'adapter selon vos besoins.
Le logiciel "Interface Ethernet..." est compatible avec ,
Seven, Vista et XP et il n'a pas
été testé sous les OS antérieurs.

Cliquez sur l'image ci-dessus pour l'agrandir

L'ensemble code
source du programme Delphi et le
fichier exécutable
sont librement
téléchargeables ci-après. Le code source est commenté et vous n'aurez aucun mal à
le modifier selon vos critères personnels d'utilisation.
Téléchargement des fichiers sources
Borland
Delphi et du fichier exécutable : 392ko
Téléchargement du code source au format TEXTE : 41
ko
Logiciel pour :
La
gestion de l'interface s'effectue au moyen d'un programme
d'application écrit sous Basic4Android nommé "Interface Ethernet multi IN OUT n°2".
Consultez la page [ Applications Android ] pour en savoir plus sur le
compilateur Basic4Android afin d'adapter le logiciel selon vos
besoins.
Le logiciel "Interface Ethernet Multi
IN OUT n°2" est compatible avec tous les
supports (Smartphone, tablette tactile, etc...) fonctionnant sous Android 2.2 ou supérieur.

L'ensemble du code source et le fichier compilé Apk sont librement téléchargeables
ci-après. Le
code source est commenté et vous n'aurez aucun mal à le modifier selon vos critères personnels
d'utilisation.
Téléchargement
des fichiers sources Basic4Android et du fichier Apk : 444ko
Téléchargement du code source au format TEXTE : 17,2 ko
Paramètres
Ethernet par défaut après
programmation du microcontrôleur U3
:
Lorsque
vous insérez pour la première
fois le
microcontrôleur programmé
dans son support,
les paramètres réseaux par défaut
inscrits en mémoire sont les suivants :
Adresse IP : 192.168.0.9 Numéro du
PORT : 5030 Adresse MAC : B0
: FA
: AF
: 00 : 05 : 00
Vous
pouvez modifier à loisir
ces trois paramètres
si par exemple un de vos périphériques
Ethernet dispose lui aussi de la même adresse IP ou
bien encore, si vous souhaitez connecter
à votre réseau plusieurs exemplaires de
l'interface multi IN-OUT n°2. En effet, n'oubliez
pas que
l'adresse IP de
l'interface Ethernet ne
peut en aucun cas être la même
que celle de votre PC
ou de tout autre dispositif connecté
à votre réseau sous peine de conflit d'IP.
Chaque
adresse
doit être
unique
sur un réseau !
Pour
ce faire, lisez attentivement la page [
Configuration
du ENC28J60 ]
vous expliquant comment utiliser le
logiciel "Config
du ENC28J60"
permettant de modifier
les
paramètres
(IP, PORT et MAC) de votre interface. Il vous permet également
de connaitre le numéro
de révision du silicium
de votre ENC28J60 afin de déterminer
exactement la valeur de la résistance
R7
(nommée
Rbias
sur la datasheet de Microchip). Téléchargez
et installer
ce
logiciel sur votre disque dur, vous
en aurez besoin dans la suite de ce
paragraphe.

Aspect
du logiciel "Config
du ENC28J60"
permettant de connaitre le
numéro de révision du
circuit et
éventuellement de modifier les caractéristiques
IP, PORT et MAC de votre interface multi
IN - OUT n°2.
Votre
réseau local dit également
"domestique" :
Les
réseaux à IP fixe (non DHCP) sont recommandés
pour connecter ce type d'interfaces. Ainsi, votre PC dispose toujours
de la même adresse IP comme par
exemple : 192.168.0.5. Néanmoins
si vous utilisez un serveur DHCP afin d'attribuer dynamiquement les adresses IP sur vos PC, assurez-vous
que l'interface multi IN - OUT n°2 soit dans
une zone d'IP fixe (voir mode d'emploi
de votre routeur). Si
vous souhaitez piloter votre interface multi IN - OUT n°2 via le
réseau Internet depuis n'importe où dans le monde,
assurez-vous de laisser passer les trames UDP au
niveau de votre routeur. Pour
ce faire, lisez attentivement la page [
Configuration
routeur ]
où vous trouverez un exemple
de configuration d'un routeur intégré
à un modem ADSL de type Freebox...
Lors
du lancement du logiciel de gestion
de l'interface multi IN - OUT n°2 ou
bien lors du lancement du logiciel "Configuration du ENC28J60",
votre pare-feu
(firewall) intégré à
Windows peut vous demander
si les trames UDP sont autorisées.
Il faudra bien entendu autoriser ces trames UDP
à transiter sur votre PC. Si vous refusez vous ne pourrez pas
communiquer avec votre interface.
Connexion
de l'interface à votre réseau
domestique selon deux types de Modem
ADSL :
Connectez
votre interface multi
IN - OUT n°2 à
votre réseau
domestique au
moyen d'un câble
Ethernet droit.

Ci-après
voici deux
illustrations
possibles de connexion de l'interface
à un modem ADSL dont le mode
routeur est activé. Il existe d'autres
configurations possibles comme par exemple
l'usage d'un Routeur externe (Netgear,
Linksys, etc...) relié lui-même
à un modem ADSL avec le mode
routeur inactif...
Si votre Modem ADSL type Box dispose
de plusieurs connecteurs Ethernet de
type RJ45, reliez votre interface Ethernet multi IN - OUT n°2 à l'un
des connecteurs RJ45 libres au moyen d'un
câble Ethernet droit. Assurez-vous
d'avoir le mode routeur activé sur votre Modem ADSL.

Configuration
réseau avec un Modem
ADSL
équipé
de plusieurs connecteurs Ethernet. Le
mode
Routeur
a été activé dans
la configuration interne du Modem
ADSL, ici
une
Freebox.
Si votre Modem ADSL ne dispose que d'une seule prise Ethernet RJ45 (déjà
reliée à votre PC), il
vous suffit d'acheter dans le commerce
un Switch vous permettant d'accroitre
le nombre de connecteurs Ethernet à
4, 5 ou 8 et plus encore selon les modèles.
Comme précédemment, assurez-vous
d'avoir le mode routeur activé sur votre Modem ADSL.

Configuration
réseau avec un Modem
ADSL
équipé
d'un seul connecteur Ethernet. L'ajout
d'un Switch est donc nécessaire
afin d'y relier le PC
et l'interface. Le
mode
Routeur
a été activé dans
la configuration interne du Modem
ADSL.
Détermination
provisoire de la résistance R7
(Rbias) associée à votre ENC28J60 :
Comme
nous l'avons vu dans les chapitres [
Configuration
ENC28J60 ] et
chapitre [
ENC28J60 ],
le ENC28J60
a
subi au
fil des années
de sa production des corrections
matérielles internes au niveau
du silicium.
L'une de ces corrections porte sur la
valeur
à attribuer à la résistance
référencée
R7 de
notre application nommée Rbias
par Microchip.

Pour
mémoire, nous rappelons que la résistance R7 est directement associée
à la stabilité de la connexion réseau de
votre interface connectée
à
votre routeur. Une mauvaise valeur peut
entrainer des déconnexions aléatoires de l'interface du
réseau.
Afin
de déterminer le numéro
de révision du silicium de
l'ENC28J60
que vous avez entre vos mains, nous
utilisons le logiciel nommé
"Config du ENC28J60". Or
ce logiciel
communique uniquement via une connexion
réseau, il nous faut donc dans
un premier temps choisir au hasard l'une des deux valeurs
possibles pour R7: soit une résistance de 2,32k à 1% ou bien une de 2,74k à 1%.
Ainsi et de façon totalement arbitraire,
soudez provisoirement sur le
circuit imprimé de l'interface
Ethernet multi IN - OUT n°2, une résistance R7 de
2,74k à 1%. Elle vous permet de vous
connecter au réseau durant
quelques instants même si sa valeur
était incorrecte. En revanche, si vous connaissez déjà
le numéro de révision
de votre ENC28J60, soudez la bonne valeur de R7.
Vérifications
préalables avant la mise sous
tension de votre interface :
Conditions
initiales :
Assurez-vous
de ne pas avoir de court-circuit sur l'ensemble de
la platine. Vérifiez également
l'absence de microcoupures sur la partie cuivrée
du circuit imprimé. Connectez la
platine
à une source d'alimentation en +12V et
sans
placer aucun circuit intégré
sur les supports, mesurez toutes les
tensions présentes sur les
différentes broches des supports
de l'interface. La led D4 (ON) doit s'illuminer. Assurez-vous d'obtenir les tensions
requises +5V et +3,3V en vous aidant du schéma de principe téléchargeable
au bas de la page [
Réalisation ]. Si
tous les potentiels mesurés sont
normaux, coupez l'alimentation et insérer tous les circuits
intégrés dans leurs supports
respectifs.
Mise
sous tension :
Votre
interface étant connectée
à votre réseau domestique
au
moyen d'un cordon RJ45 de type droit, appliquez une tension continue comprise entre +8V et +20V sur le bornier d'alimentation
K2. Une tension de +12V est un bon compris comme ci-dessous
:

Instantanément,
la led rouge ON référencée
D4 doit s'illuminer. Deux secondes après la mise
sous tension, la led verte D1 nommée statut (Link) doit s'allumer en feu fixe si la connexion
réseau est correctement détectée.
Si elle reste éteinte votre interface
n'a pas été détectée sur
le réseau
et dans ce cas, vérifiez vos
branchements, le câble Ethernet,
le Modem et
les éléments qui lui sont
associés.
Si
tout c'est bien passé, après
l'illumination de la led verte D1, la led jaune D2 nommée activation (Act) peut s'illuminer un très court
instant
avant que D1 et D2 ne s'éteignent tous les deux
durant environ 1 seconde. C'est durant ce court laps
de temps que le microcontrôleur
récupère le numéro
de révision du silicium de
l'ENC28J60.
Passé
ce délai on recommence le cycle
de démarrage. La led verte D1 s'allume en feu fixe puis la led jaune D2 s'illumine de courts instants de façon aléatoire. Cette
led témoigne de la communication quasi-permanente de
l'interface avec le routeur auquel cas
ce dernier la considèrerait comme
déconnectée du réseau.
Bien entendu, dès qu'un utilisateur
agit sur l'interface via le logiciel
de gestion (téléchargeable
ci-dessus) la led D2 clignote également en
synchronisme attestant du transfert de données en UDP.

Cette
animation tente de reproduire approximativement
la séquence de démarrage
de l'interface Ethernet.
Détermination
exacte de la résistance R7 à
1% :
Si
vous connaissez le numéro de
révision de votre circuit ENC28J60,
vous pouvez sauter ce paragraphe et il vous suffit
de souder directement la bonne valeur
de la résistance R7 sur votre circuit imprimé.
Dans
le cas contraire, suivez les explications
suivantes.
Ayant
téléchargé et installé
le logiciel "Config du ENC28J60" disponible
à
la page [
Configuration
ENC28J60 ],
lancez ce dernier sur votre PC.

Cliquez
sur le bouton "Défaut'
permettant d'inscrire automatiquement
les paramètres par défaut
de connexion avec
l'interface.

Cliquez ensuite sur le bouton "Connexion
au ENC28J60" et si tout ce passe
bien, vous obtenez un message informatif
attestant de la bonne communication avec votre interface.
Ce message contient également
le
numéro de révision de
votre circuit ENC28J60 comme ci-après
:

Pour
les exemplaires dont nous disposons,
le numéro de révision de
notre ENC28J60 est 5. D'après
le tableau ci-après déjà
vu à la page [
ENC28J60 ], il suffit
de lire la valeur de la résistance
R7 correspondante au numéro
de révision. Dans notre cas, la valeur 5 correspond à la
Rev B5, donc nous souderons
une résistance de R7 = 2,32k à 1% sur le circuit imprimé
de l'interface Ethernet.
|
Rev
B1
|
Rev
B4
|
Rev
B5
|
Rev
B7
|
Valeurs
en décimal (Registre
EREVID)
|
2
|
4
|
5
|
6
|
Datasheets
Errata
|
[
Rev B1
]
|
[
Rev B4
]
|
[
Rev B5
]
|
[
Rev B7
]
|
Valeur
de Rbias (1%)
|
2,74k
|
2,74k
|
2,32k
|
2,32k
|
Quittez
le logiciel et désormais
votre interface Ethernet équipée
de la bonne valeur de R7 est totalement fonctionnelle
avec ses paramètres réseaux par défaut
inscrits en mémoire
que nous vous rappelons :
Adresse IP : 192.168.0.9 Numéro du
PORT : 5030 Adresse MAC : B0
: FA
: AF
: 00 : 05 : 00
Note
:
N'oubliez
pas de consulter la page
[ Configuration
routeur ]
si
vous souhaitez par la suite piloter
depuis n'importe où dans le monde
l'interface Ethernet multi IN - OUT n°2
via le réseau Internet.
Communication avec le
logiciel de gestion sous Windows pour l'interface Ethernet
:
Lancez
le logiciel nommé "Interface Ethernet..."
disponible en téléchargement
au début de cette page.
Une
boite de dialogue vous demande si
vous souhaitez activer ou non la lecture en boucle (toutes les
500ms) des données présentes
sur l'ensemble des entrées de l'interface. Si
vous répondez "Non"
sachez qu'il sera possible par la suite
d'activer cette fonction depuis l'interface
du logiciel...

Après
avoir passé la boite de dialogue
précédente, si vous obtenez
la fenêtre suivante alors cela signifie
que la communication n'a pu être établie entre
votre PC et l'interface. Vérifiez
votre circuit imprimé, vos
branchements, le câble Ethernet,
le Modem et
les éléments qui lui sont
associés.

En
revanche si tout c'est bien passé,
vous obtenez une fenêtre ressemblant
à celle présentée
ci-dessous :

Cliquez sur l'image ci-dessus pour l'agrandir

Test
des 5 sorties sur relais
:
Afin
de tester le bon fonctionnement de l'interface,
cliquez sur les boutons d'activation et désactivation
des relais 1 à 5 placés
à gauche de la fenêtre
du logiciel comme ci-dessous.

Vous
devez immédiatement constater
la réaction du ou des relais sélectionnés.

Les
5 relais en gros plan
Test
des 8 sorties logiques OUTD0 à
OUTD7
:

Huit
sorties logiques sur les borniers OUTD0
à OUTD7 encadrées en rouge. Ces
sorties peuvent délivrer jusqu'à
25mA
maxi individuellement.
Prenez
garde, ces sorties ne sont pas protégées
contre les court-circuits !
Test
des différentes entrées
logiques, analogiques et capteur de
température :
Les
huit entrées logiques IND0 à
IND7 :

Huit
entrées logiques sur les borniers IND0
à IND7 encadrés en rouge.
Définissez
soit un pull-up
ou un pull-down
pour l'ensemble des entrées IND0
à
IND7 en positionnant le cavalier SW1
selon
votre choix :

SW1
positionné en Pull-up
SW1
positionné en Pull-down
Appliquez
différents états logiques 0V ou 5V (TTL) sur les différentes
entrées IND0 à IND7. Une tension inférieure à 4,5V
est considérée comme un
'0' logique et toute tension comprise
entre 4,5V et 5,5V est considérée
comme un '1' logique.
Ne dépassez jamais les 5,5V au
risque de détruire l'entrée
correspondante du microcontrôleur
U3.
Ainsi selon l'état logique appliqué sur l'une des huit entrées,
vous obtenez sur le logiciel de l'interface
soit un carré
de couleur rouge ou
bien un carré de couleur
verte
comme sur l'exemple ci-dessous :

Un
carré de couleur
rouge
correspond à un '0' logique et un carré de
couleur verte
à
un '1' logique. Dans
l'exemple précédent nous
avons appliqué la masse (0V) sur les entrées IND0, IND1, IND3 et IND7 et
rien sur les entrées IND2, IND4, IND5, IND6. En effet, nous avons positionné
SW1 en mode pull-up et dans ce cas IIND2, IND4, IND5, IND6 sont forcés au +5V par les résistances de
rappel de pull-up.
Les
cinq entrées analogiques INA0,
INA1, INA2, INA3 et INA4 :

Un
soin tout particulier a été
apporté à ces cinq entrées analogiques encadrées
en bleues sur la photo ci-dessus.
D'une part elles sont toutes protégées contre
les inversions de polarité et
contre toute tension supérieure à +5V
grâce à deux réseaux
de diodes DP1 et DP2. De
plus, un condensateur de 100nF filtre les
éventuels parasites pour chacune
des entrées. Cela peut se produire
lors de l'emploi de connexions électriques
un peu trop longue entre l'interface
et le dispositif sur lequel on souhaite
mesurer un potentiel. Pour finir, l'impédance de chaque
entrée est fixée à
1Mohm via un réseau de résistances
tout en assurant un zéro volt en l'absence de
potentiel extérieur sur ces entrées.
Afin
de tester ces différentes entrées
analogiques, appliquez un potentiel
compris entre 0V et +5V sur INA0, INA1, INA2, INA3 et INA4 avec l'aide d'un potentiomètre
comme sur le schéma ci-dessous
:

Dans
notre cas, nous avons utilisé 5 potentiomètres réglés
de manière différente
les uns des autres afin d'obtenir
5 potentiels différents sur
les 5 entrées de l'interface.
Nous avons obtenu sur le logiciel les
valeurs suivantes :

Sur
l'entrée INA0 nous obtenons une valeur décimale de 242 issue
de la conversion analogique - numérique
sur 10bits. Connaissant la valeur du
Quantum du convertisseur (Q=4.882mV)
on en déduit très facilement
la valeur de la tension appliquée sur l'entrée
INA0 qui ici de 1.182V (U en volt = Q . Valeur
décimale du CAN).
Le
principe est identique pour toutes les autres entrées
avec la mesure des tensions présentes
sur INA1 => 1,973V, INA2 => 3,179V, INA3 => 4.854V et INA4 => 3,950V dans le cadre de
nos mesures personnelles.
La
température en degré centigrade
:

Pour
rappel, vous n'êtes pas obligé de monter le capteur de température
si
vous n'en avez aucune utilité. Dans
ce cas, le logiciel affiche 0°C en permanence.
Par
ailleurs, vous ne pouvez placer qu'un seul et unique exemplaire du
capteur DS18B20 sur l'interface. Soit directement
à l'emplacement de U4 (comme sur la photo précédente)
ou bien à partir d'une triplette
de connexions reliées sur les
3 entrées des borniers correspondant
(voir implantation du circuit imprimé).
Lorsque
le capteur est mis en place, le logiciel
vous affiche la température avec
un chiffre après la virgule sur
une plage comprise entre -55°C et +125°C.

(Mesure
effectuée au sein d'un réfrigérateur)

(Mesure
effectuée au sein d'un congélateur)

Bouton
d'activation de la mesure en continu
:

Ce
bouton vous permet d'activer en boucle l'acquisition des
données présentes sur
les entrées dans le cas où
vous n'avez pas sélectionné
OUI dans la boite de dialogue au
lancement du programme. Nous en avons
parlé un peu plus haut sur cette
page... En
cliquant sur ce bouton, vous activez un Timer chargé
de récupérer les données
en entrées de manière
cyclique toutes les 500ms.
Référez-vous
au code source du programme écrit sous Delphi et
Basic4Android
pour en savoir plus sur les chaînes de caractères ASCII
utilisées pour chacune des touches et aux tableaux présents ci-après où sont listés l'ensemble des différentes
commandes ASCII possibles.
Note : N'oubliez pas de consulter la page [ Configuration
routeur ] si vous souhaitez par la suite
piloter depuis n'importe
où dans le monde
l'interface multi IN OUT n°2 via le réseau Internet que ce soit depuis un PC ou bien depuis un Smartphone via le réseau 3G.
Protocole
de communication ASCII
pour le contrôle des relais de
l'interface multi IN -
OUT n°2 :
Pour
piloter sélectivement les
5 relais, différentes
commandes
composées d'une suite de caractères
ASCII ont été définies.
Le mot de passe est envoyé également
lors de chaque commande sous sa forme
ASCII afin d'être authentifié
par l'interface Multi IN - OUT n°2. Nous
y reviendrons plus loin...
Par
ailleurs, il faudra veiller à
respecter scrupuleusement la syntaxe
des différentes suites ASCII
présentées ci-après.
Plusieurs commandes différentes ont été
retenues pour chacun des 5 relais
:
un groupe de commandes ASCII pour mettre au repos le relais considéré
: mode OFF.
un groupe de commandes ASCII pour exciter le relais considéré :
mode ON. un
groupe de commandes ASCII permettant de basculer
entre deux états : mode TOGGLE.
un
groupe de
commandes ASCII pour mettre au repos simultanément
tous les relais. un
groupe de commandes ASCII pour exciter simultanément
tous les relais.
Groupe
de commandes
ASCII permettant de mettre au repos
un relais déterminé :
Commandes
ASCII
|
Relais
au repos
|
S01F
|
Rel1
|
S02F
|
Rel2
|
S03F
|
Rel3
|
S04F
|
Rel4
|
S05F
|
Rel5
|
Groupe
de commandes
ASCII permettant d'exciter un relais déterminé
:
Commandes
ASCII
|
Relais
excité
|
S01N
|
Rel1
|
S02N
|
Rel2
|
S03N
|
Rel3
|
S04N
|
Rel4
|
S05N
|
Rel5
|
Groupe
de commandes
ASCII permettant de basculer entre deux
états du relais :
Commandes
ASCII
|
Relais
basculé
|
S01T
|
Rel1
|
S02T
|
Rel2
|
S03T
|
Rel3
|
S04T
|
Rel4
|
S05T
|
Rel5
|
Commande
ASCII permettant de mettre au repos
tous les relais
:
Si
vous souhaitez désactiver tous
les relais Rel1 à Rel5, il vous
suffit d'envoyer à l'interface
la commande ASCII suivante :
Commandes
ASCII
|
Tous
les relais au repos
|
F$
|
Rel1
à Rel5
|
Commande
ASCII permettant d'exciter tous les
relais
:
Si
vous souhaitez activer tous les relais
Rel1 à Rel5, il vous suffit d'envoyer
à l'interface la commande
ASCII
suivante :
Commandes
ASCII
|
Tous
les relais excités
|
N$
|
Rel1
à Rel5
|
Protocole
de communication ASCII
pour le contrôle des 8 sorties
logiques :
Comme
pour la commande des relais, plusieurs commandes différentes ont été
retenues pour chacune des 8 sorties
logiques OUTD0 à OUTD7
:
Groupe
de commandes
ASCII permettant de mettre à
l'état bas les sorties OUTD0
à OUTD7 :
Commandes
ASCII
|
Sorties
à l'état bas
(0V)
|
R00F
|
OUTD0
|
R01F
|
OUTD1
|
R02F
|
OUTD2
|
R03F
|
OUTD3
|
R04F
|
OUTD4
|
R05F
|
OUTD5
|
R06F
|
OUTD6
|
R07F
|
OUTD7
|
Groupe
de commandes
ASCII permettant de mettre à
l'état haut les sorties OUTD0
à OUTD7 :
Commandes
ASCII
|
Sorties
à l'état haut
(+5V)
|
R00N
|
OUTD0
|
R01N
|
OUTD1
|
R02N
|
OUTD2
|
R03N
|
OUTD3
|
R04N
|
OUTD4
|
R05N
|
OUTD5
|
R06N
|
OUTD6
|
R07N
|
OUTD7
|
Commande
ASCII permettant de mettre à
l'état bas toutes les sorties
OUTD0 à OUTD7
:
Si
vous souhaitez désactiver toutes
les sorties simultanément, il vous
suffit d'envoyer à l'interface
la commande ASCII suivante :
Commandes
ASCII
|
Toutes
les sorties à l'état
bas
|
VL
|
OUTD0
à OUTD7
|
Commande
ASCII permettant de mettre à
l'état haut toutes les sorties
OUTD0 à OUTD7
:
Si
vous souhaitez activer toutes
les sorties simultanément, il vous
suffit d'envoyer à l'interface
la commande ASCII suivante :
Commandes
ASCII
|
Toutes
les sorties à l'état
haut
|
VH
|
OUTD0
à OUTD7
|
Protocole
ASCII
permettant de lire les données
présentes sur les entrées de
l'interface :
L'interface
multi IN- OUT n°2 dispose de nombreuses
entrées telles que :
IND0 à IND7 : 8 entrées
logiques;
INA0 à INA5 : 5 entrées
analogiques;
Entrée pour un capteur de température
de type DS18B20.
Afin
d'effectuer la récupération des données présentes
sur les différentes entrées,
nous devons préalablement envoyer à
l'interface une commande constituée d'une chaîne de 5 caractères ASCII bien
spécifiques qui compose le mot
"INPUT" comme dans le tableau
ci-dessous :
Commandes
ASCII
|
Action
|
INPUT
|
L'interface
retourne une nouvelle chaine
ASCII composée de
44 caractères.
|
Dès
que le mot de passe (voir un peu plus bas
sur cette page) suivi de la chaine "INPUT" sont reçus par
l'interface, celle-ci retourne immédiatement une
autre chaine composée de 44 caractères. Ces 44 caractères sont représentatifs des
différentes états des
entrées
logiques, des grandeurs analogiques et de la température mesurée. Cette chaine de 44 caractères est retournée
au PC ou
au Smartphone à
intervalles réguliers
modifiables par l'utilisateur (Timer)
directement
depuis le code source sous Delphi ou
sous Basic4Android.
A
chaque réception d'une nouvelle
chaine, le logiciel décompose cette
longue chaîne caractères par caractères afin d'en
reconstituer les valeurs numériques des différentes entrées comme
nous allons le voir ci-après.
La
chaine de 44 caractères
suivante (en rouge ci-dessous) correspond à
un exemple de chaine récupérée
par le logiciel sous Windows. Le principe du "décodage"
de la chaîne est strictement identique lorsque celle-ci
est récupérée par
le logiciel sous Android. C'est à partir de cette chaine que nous allons illustrer
la reconstitution de l'ensemble des
données présentes sur les différentes entrées
de
l'interface multi IN-OUT n°2.
offoffof00936/00279/00438/00802/00650+000205 Exemple
de chaîne de 44 caractères
utilisée comme exemple.
Détermination
des états logiques présents
sur les entrées IND0 à
IND7 :
Afin
de déterminer les états logiques présents
sur les 8 entrées, seuls les 8 premiers caractères de la
chaîne sont à traiter. Ainsi
si l'on reprend l'exemple précédent,
seuls les caractères en rouge
nous intéressent à savoir :
offoffof00936/00279/00438/00802/00650+000205
Un niveau logique bas (0 = 0V) est représenté
par le caractère en minuscule
f
Un état logique haut (1 = 5V) est représenté
par le caractère en minuscule
o
Le
tableau ci-dessous regroupe quelques cas pris au hasard de ces 8 premiers caractères avec
la correspondance des états logiques (1 ou 0) présents
sur les entrées IND0 à IND7.
Huit
caractères de la
chaine
|
Etats
logiques sur les entrées
IND0 à IND7
|
1er
|
2ème
|
3ème
|
4ème
|
5ème
|
6ème
|
7ème
|
8ème
|
IND0
|
IND1
|
IND2
|
IND3
|
IND4
|
IND5
|
IND6
|
IND7
|
o
|
o
|
o
|
o
|
o
|
o
|
o
|
o
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
o
|
f
|
f
|
f
|
o
|
f
|
f
|
o
|
1
|
0
|
0
|
0
|
1
|
0
|
0
|
1
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
o
|
f
|
o
|
o
|
f
|
f
|
f
|
f
|
1
|
0
|
1
|
1
|
0
|
0
|
0
|
0
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
f
|
f
|
f
|
f
|
f
|
f
|
f
|
f
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
Application
: Dans
le cadre de notre exemple précédent
nous avions :
offoffof00936/00279/00438/00802/00650+000205
Ainsi
nous obtenons :
IND0 = 'o' = 1 = état logique
haut = +5V
IND1 = 'f' = 0 = état logique
bas = 0V
IND2 = 'f' = 0 = état logique
bas = 0V
IND3 = 'o' = 1 = état logique
haut = +5V
IND4 = 'f' = 1 = état logique
haut = +5V
IND5 = 'f' = 0 = état logique
bas = 0V
IND6 = 'o' = 0 = état logique
bas = 0V
IND7 = 'f' = 1 = état logique
haut = +5V
Sur
le logiciel de gestion de l'interface
nous obtenons des carrés de couleurs
correspondants aux niveaux logiques présents
sur
les 8 entrées :

Détermination
de la grandeur analogique présente
sur l'entrée INA0 :
Afin
de déterminer la valeur de INA0 comprise entre 0 et 1024, seuls les caractères
n°9 jusqu'au caractère
n°13 nous intéressent. Ces
caractères sont en rouge sur
l'exemple comme ci-dessous :
offoffof00936/00279/00438/00802/00650+000205
Pour
reconstituer la valeur de INA0, il nous suffit de convertir en valeurs entières les caractères
représentatifs transmis au sein
de la chaine de caractères.
Soit pour notre exemple nous obtenons
la valeur 936.
Afin de
déterminer la valeur de tension présente
sur cette entrée, il suffit de
multiplier cette valeur par le Quantum du convertisseur analogique
- numérique. Sachant que Q = 4,882mV nous obtenons une tension
sur INA0 de : 4,570 Volts.
Détermination
de la grandeur analogique présente
sur l'entrée INA1 :
Afin
de déterminer la valeur de INA1 comprise entre 0 et 1024, seuls les caractères
n°15 jusqu'au caractère
n°19 nous intéressent. Ces
caractères sont en rouge sur
l'exemple comme ci-dessous :
offoffof00936/00279/00438/00802/00650+000205
Pour
reconstituer la valeur de INA1, il nous suffit de convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères.
Soit pour notre exemple nous obtenons
la valeur 279.
Afin de
déterminer la valeur de tension présente
sur cette entrée, il suffit de
multiplier cette valeur par le Quantum du convertisseur analogique
- numérique. Sachant que Q = 4,882mV nous obtenons une tension
sur INA1 de : 1,362 Volts.
Détermination
de la grandeur analogique présente
sur l'entrée INA2 :
Afin
de déterminer la valeur de INA2 comprise entre 0 et 1024, seuls les caractères
n°21 jusqu'au caractère
n°25 nous intéressent. Ces
caractères sont en rouge sur
l'exemple comme ci-dessous :
offoffof00936/00279/00438/00802/00650+000205
Pour
reconstituer la valeur de INA2, il nous suffit de convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères.
Soit pour notre exemple nous obtenons
la valeur 438.
Afin de
déterminer la valeur de tension présente
sur cette entrée, il suffit de
multiplier cette valeur par le Quantum du convertisseur analogique
- numérique. Sachant que Q = 4,882mV nous obtenons une tension
sur INA2 de : 2,139 Volts.
Détermination
de la grandeur analogique présente
sur l'entrée INA3 :
Afin
de déterminer la valeur de INA3 comprise entre 0 et 1024, seuls les caractères
n°27 jusqu'au caractère
n°31 nous intéressent. Ces
caractères sont en rouge sur
l'exemple comme ci-dessous :
offoffof00936/00279/00438/00802/00650+000205
Pour
reconstituer la valeur de INA3, il nous suffit de convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères.
Soit pour notre exemple nous obtenons
la valeur 802.
Afin de
déterminer la valeur de tension présente
sur cette entrée, il suffit de
multiplier cette valeur par le Quantum du convertisseur analogique
- numérique. Sachant que Q = 4,882mV nous obtenons une tension
sur INA3 de : 3,916 Volts.
Détermination
de la grandeur analogique présente
sur l'entrée INA4 :
Afin
de déterminer la valeur de INA4 comprise entre 0 et 1024, seuls les caractères
n°33 jusqu'au caractère
n°37 nous intéressent. Ces
caractères sont en rouge sur
l'exemple comme ci-dessous :
offoffof00936/00279/00438/00802/00650+000205
Pour
reconstituer la valeur de INA4, il nous suffit de convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères.
Soit pour notre exemple nous obtenons
la valeur 650.
Afin de
déterminer la valeur de tension présente
sur cette entrée, il suffit de
multiplier cette valeur par le Quantum du convertisseur analogique
- numérique. Sachant que Q = 4,882mV nous obtenons une tension
sur INA4 de : 3,174 Volts.
Application
: Dans
le cadre de notre exemple précédent
nous obtenons pour INA0 à INA4 :

Pour
mieux visualiser les valeurs présentes sur
INA0 à INA4, nous avons employé également
des bargraphs qui évoluent entre
0% (0) et 100% (1024).
Détermination
de la température :
En
reprenant comme support d'illustration
notre chaine de caractères précédente,
la température en degré centigrade est
stockée à partir du caractère
n°38 jusqu'au caractère
n°44 mis en rouge comme ci-dessous
:
offoffof00936/00279/00438/00802/00650+000205
Le
caractère n°38
contient le signe
de la température, tel que
:
+
pour les températures supérieures à 0°C.
-
pour
les températures inférieures à 0°C.
La
valeur de la température est
précisément logée
entre le caractère n°39
jusqu'au caractère n°44.
Pour
reconstituer la valeur de la température, il nous faut dans un premier temps
convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères. Dans notre exemple nous obtenons
la valeur 205.
Le logiciel
se charge ensuite de diviser par 10 la précédente valeur
afin d'obtenir la température
réelle définitive 20,5°C avec un chiffre après la virgule.
On associe enfin
le signe '+' ou '-' selon les cas à la valeur
de la température précédemment
obtenue. Pour
notre exemple nous obtenons donc +20,5°C.
Application
: Dans
le cadre de notre exemple précédent
nous obtenons :

Mot
de passe permettant un contrôle
de l'interface sécurisé :
Le
contrôle de l'interface
Multi IN- OUT n°2 via le réseau Internet ne peut se
faire qu'à condition de disposer
du mot de passe définit préalablement
par l'utilisateur. Ce mot de passe composé
toujours de 16 caractères alphanumériques sécurise l'accès à l'interface
et empêche toute personne non autorisée à piloter
la dite interface.

Téléchargement
du logiciel permettant de modifier le
mot de passe de l'interface :
Lorsque
vous insérez pour la première
fois le
microcontrôleur programmé
dans son support,
le mot de passe par défaut
inscrits en mémoire est le suivant :
Mot
de passe de 16 caractères par défaut
: "ABCDEFGHIJKLMNOP"
L'utilisateur
peut à loisir modifier
le
mot de passe
de
l'interface Multi IN - OUT n°2
avec l'aide du logiciel sous spécialement
conçu dans ce but et disponible
en libre téléchargement
ci-dessous :

Téléchargement
du logiciel permettant de configurer
le "Mot de passe"
(546ko)
Utilisation
du logiciel permettant de modifier
le mot de passe de l'interface :
Conditions
initiales :
Connectez
l'interface Multi IN - OUT n°2 à
votre
réseau domestique avec l'aide
d'un câble Ethernet relié
à votre Modem ADSL de
type Box. Par
défaut l'interface Multi IN -
OUT n°2 dispose des paramètres suivant : Adresse IP : 192.168.0.9 PORT : 5030 Adresse MAC : B0
: FA
: AF
: 00
: 05
: 00
Mot de passe : "ABCDEFGHIJKLMNOP"
Logiciel
"Mot de passe"
:
Lancez
le logiciel "Mot de passe"
comme ci-dessous :

Lors
du lancement du logiciel, votre pare-feu
(firewall) intégré à
Windows ou un autre peut vous demander
si les trames UDP sont autorisées.
Si vous refusez vous ne pourrez pas
communiquer avec votre interface.
Afin
de communiquer avec l'interface
Multi IN - OUT n°2, entrez les
deux
paramètres principaux avec
leurs valeurs par défaut, tels que
:
Adresse IP : 192.168.0.9 PORT : 5030
ou
plus simplement, il vous suffit de cliquer sur le bouton "Défaut"
comme ci-dessous
:

Pour
amorcer la communication, cliquez
sur le bouton "Connexion au ENC28J60"
et quelques instants après, deux
cas de figure peuvent se présenter
:
Si
la communication a échoué,
vous obtenez après un laps de
temps de deux secondes le message d'avertissement
suivant :

Dans
ce cas, vous devez vérifier
si l'interface est bien sous tension,
si l'adresse IP et le PORT sont bien les valeurs par défaut. En effet, si vous
avez jadis modifié ces
deux paramètres
ou l'un des deux, la communication
ne peut pas s'effectuer avec les valeurs
par défaut, mais uniquement avec
les paramètres que vous aviez utilisés
!
Si
la communication a réussi, vous
obtenez instantanément sur l'écran le message
suivant :

La
communication est désormais établie
avec votre interface. Cliquez sur le bouton
OK et vous constatez immédiatement
l'augmentation horizontale
de la fenêtre du logiciel
comme
ci-dessous :

Saisissez
dans le champ "Mot
de passe"
le mot de passe définit préalablement
lors d'une précédente
modification de ce dernier. Ici, puisque
nous utilisons l'interface
pour la première fois,
le mot de passe sera celui programmé
au sein du PIC18F452 par défaut
à savoir "ABCDEFGHIJKLMNOP"
comme ci-dessous :

Saisissez
ensuite dans le champ "Créer
un mot de passe"
votre
nouveau mot de passe
que vous souhaitez affecter à
votre interface.
Le nouveau
mot de passe doit
être composé de 16
caractères obligatoirement
et
peut être de type alphanumérique
(avec majuscules et / ou minuscules).
Par
exemple :

Afin
d'éviter toute erreur
de saisie du
nouveau mot de passe, entrez le même
mot de passe dans le champ nommé
"Confirmer
votre mot de passe"
comme ci-dessous :

Maintenant
il ne reste plus qu'à programmer le nouveau mot de passe "aeRT45YTHJSDE785"au
sein du PIC1F452 de votre interface Multi IN - OUT n°2.
Pour ce faire, cliquez sur le bouton nommé "Programmer le mot de passe dans le PIC".
Une
boite de dialogue vous informe du succès
de la procédure comme ci-dessous
:

Cliquez
sur le bouton "OK"
de la boite de dialogue puis fermez le
logiciel en cliquant sur le bouton "Quitter".
Votre nouveau mot de passe est désormais
implanté au sein de la mémoire
EEPROM du
PIC18F452 de votre interface Multi IN
- OUT n°2.
Afin que l'interface puisse prendre
en compte votre nouveau
mot de passe vous
devez couper
puis remettre sous tension votre
interface Multi IN - OUT n°2.
N'oubliez pas
de conserver une trace écrite
de
votre mot
de passe que
vous venez de
programmer au
sein de votre interface.
Si vous l'oubliez, la seule solution
pour le retrouver est de lire
avec un programmateur
de PIC la zone EEPROM du
microcontrôleur comme ci-dessous
:
Par
exemple pour le mot
de passe par défaut "ABCDEFGHIJKLMNOP"
nous obtenons en mémoire EEPROM.

Logiciel
Pickit2. Les
valeurs indiquées entre l'adresse
$10
et $1F sont celles
du
mot de passe par défaut
au
format Hexadécimal.
Prenez
garde à ne pas effacer par erreur de manipulation,
le programme implanté dans le
microcontrôleur lorsque vous souhaitez
relire le contenu de la mémoire EEPROM du
PIC18F452.
Implantation
de votre mot de passe au sein des logiciels
de gestion de l'interface :
Afin
de piloter
votre interface Multi IN - OUT n°2 à
partir des
logiciels téléchargeables
au début de cette page, vous
devez saisir
au sein de leurs codes sources
votre mot
de passe
comme nous allons le voir ci-après.
Pour un PC
sous
avec un programme écrit sous
Delphi :
Afin
d'avoir accès à votre
interface Multi IN - OUT n°2,
vous devez saisir dans
Delphi 7 votre mot de passe
à partir de MDP.
Par
défaut
MDP="ABCDEFGHIJKLMNOP"
comme ci-dessous :

Code
source sous Delphi.
Pour un
Smartphone - Tablette sous
avec
un programme écrit sous [
Basic4Android
]
Afin
d'avoir accès à votre
interface Multi IN - OUT n°2,
vous devez saisir dans
Basic4Android votre mot de passe à
partir de MDP. Par
défaut
MDP="ABCDEFGHIJKLMNOP"
comme ci-dessous :

Code
source sous Basic4Android.
Monté
en température des principaux
composants : Après
plusieurs dizaines de minutes d'utilisation
de l'interface Ethernet, le circuit
ENC28J60 référencé
U1 doit être à peine tiède au touché. Le microcontrôleur PIC18F452
référencé
U3 reste froid. Le régulateur
7805 monté sur un refroidisseur référencé
U7 devient moyennement chaud lorsque
tous les relais Rel1 à Rel5 sont activés tandis
que le régulateur LM2937-3.3
référencé U6 reste tiède.
Tout
échauffement excessif du circuit
ENC28J60 n'est pas normal. Dans ce cas,
coupez immédiatement l'alimentation
électrique et vérifiez
le circuit imprimé puis les tensions
d'alimentation en ayant retiré
de son support préalablement
le circuit.

L'interface
Ethernet refuse de répondre aux
sollicitations :
Si vous n'arrivez pas à communiquer via le logiciel "Config
du ENC28J60" avec votre interface Ethernet
multi IN - OUT n°2 depuis votre réseau local,
vérifiez
si vous avez bien la led verte D1 nommée "Statut" allumée en feu fixe et si la led jaune D2 nommée "Activité"
clignote de temps à autre
de façon aléatoire.
Si
la première constatation se vérifie,
assurez-vous d'avoir utilisé
le bon numéro de PORT et la bonne adresse IP et vérifiez également
votre pare-feu intégré à
Windows pouvant bloquer les requêtes
UDP.

De
plus, avec l'aide d'un oscilloscope et lorsqu'aucun câble RJ45 n'est connecté sur
l'embase K1 de l'interface, assurez-vous d'obtenir en
permanence les différents signaux émis par le microcontrôleur
aux allures suivantes
sur les différentes broches du
circuit intégré
U1 (ENC28J60) comme ci-dessous :
Broche
6 (SO ou MISO) du circuit U1 (Time/Div 10µs)
:

Cliquez sur l'image ci-dessus pour l'agrandir
Broche
7 (SI ou MOSI) du circuit U1 (Time/Div 10µs)
:

Cliquez sur l'image ci-dessus pour l'agrandir
Broche
8 (SCK) du circuit U1 (Time/Div 10µs)
:

Cliquez sur l'image ci-dessus pour l'agrandir
Broche
9 (CS) du circuit U1 (Time/Div 10µs)
:

Cliquez sur l'image ci-dessus pour l'agrandir

|