IV.2 PROGRAMMATION DU LOGICIEL SUR PC
Programmer à l'aide du logiciel VISUAL BASIC, ce logiciel
va permettre, à partir de l'ordinateur, de commander les16 sorties et
d'avoir l'état des 8 entrées de notre récepteur via le
port série.
NON
NON
OUI
OUI
NON
OUI
DEBUT
Lecture de l'état des sorties
Enregistrer le numéro de port et la vitesse
Attente pendant 10 ms
Configurer le port série ?
Commander une sortie ?
Envoyer le code de commande correspondant à la sortie
Lecture de l'état de la sortie commandée
Afficher l'état de la sortie commandée
Affichage de l'état des sorties
Ouverture du port série
Envoyer le code de lecture de toutes les entrées
Afficher l'état de toutes les entrées
Lecture de l'état de toutes les entrées
Quitter l'application ?
FIN
Fermer le port série
Attente pendant 10 ms
IV.2.1 Organigramme de fonctionnement du logiciel
Figure4.6 :
Organigramme de fonctionnement du logiciel
IV.2.2 Code source
Dim compt As Integer
Private Sub B_BIS_Click(Index As Integer)
LEDS_SORTIES Index, COM_sortie_toggle(Index)
End Sub
Private Sub B_MOM_MouseDown(Index As Integer, Button As Integer,
Shift As Integer, X As Single, Y As Single)
LEDS_SORTIES Index, COM_sortie(Index, 1)
End Sub
Private Sub B_MOM_MouseUp(Index As Integer, Button As Integer,
Shift As Integer, X As Single, Y As Single)
LEDS_SORTIES Index, COM_sortie(Index, 0)
End Sub
Private Sub B_ONOFF1_Click(Index As Integer)
LEDS_SORTIES Index, COM_sortie(Index, 1)
End Sub
Private Sub B_ONOFF2_Click(Index As Integer)
LEDS_SORTIES Index, COM_sortie(Index, 0)
End Sub
Private Sub close1_Click()
CLOSECOM
ouvrir.Enabled = True
open1.Enabled = True
fermer.Enabled = False
close1.Enabled = False
End Sub
Private Sub confi_Click()
config.Show 1
End Sub
Private Sub fermer_Click()
CLOSECOM
ouvrir.Enabled = True
open1.Enabled = True
fermer.Enabled = False
close1.Enabled = False
Timer1.Enabled = False
End Sub
Private Sub Form_Load()
vitesse = 2400
num_port = 3 'Ouvrir COM3
Call lire_noms
End Sub
Private Sub Form_Unload(Cancel As Integer)
CLOSECOM
Call ecrire_noms
End Sub
Private Sub met_off_Click()
LEDS_SORTIES 16, COM_sortie(16, 0)
End Sub
Private Sub met_on_Click()
LEDS_SORTIES 16, COM_sortie(16, 1)
End Sub
Private Sub NOME_DblClick(Index As Integer)
Dim nom As String
nom = InputBox("ENTRER LE NOM DE VOTRE SORTIE", "NOM DE LA
SORTIE")
If nom <> "" And Index = 0 Then NOME(Index).Caption = "E1"
& " : " & nom
If nom <> "" And Index = 1 Then NOME(Index).Caption =
"E2" & " : " & nom
If nom <> "" And Index = 2 Then NOME(Index).Caption =
"E3" & " : " & nom
If nom <> "" And Index = 3 Then NOME(Index).Caption =
"E4" & " : " & nom
If nom <> "" And Index = 4 Then NOME(Index).Caption =
"E5" & " : " & nom
If nom <> "" And Index = 5 Then NOME(Index).Caption =
"E6" & " : " & nom
If nom <> "" And Index = 6 Then NOME(Index).Caption =
"E7" & " : " & nom
If nom <> "" And Index = 7 Then NOME(Index).Caption =
"E8" & " : " & nom
End Sub
Private Sub NOMS_DblClick(Index As Integer)
Dim nom As String
nom = InputBox("ENTRER LE NOM DE VOTRE SORTIE", "NOM DE LA
SORTIE")
If nom <> "" And Index = 0 Then NOMS(Index).Caption = "S1"
& " : " & nom
If nom <> "" And Index = 1 Then NOMS(Index).Caption =
"S2" & " : " & nom
If nom <> "" And Index = 2 Then NOMS(Index).Caption =
"S3" & " : " & nom
If nom <> "" And Index = 3 Then NOMS(Index).Caption =
"S4" & " : " & nom
If nom <> "" And Index = 4 Then NOMS(Index).Caption =
"S5" & " : " & nom
If nom <> "" And Index = 5 Then NOMS(Index).Caption =
"S6" & " : " & nom
If nom <> "" And Index = 6 Then NOMS(Index).Caption =
"S7" & " : " & nom
If nom <> "" And Index = 7 Then NOMS(Index).Caption =
"S8" & " : " & nom
If nom <> "" And Index = 8 Then NOMS(Index).Caption =
"S9" & " : " & nom
If nom <> "" And Index = 9 Then NOMS(Index).Caption =
"S10" & " : " & nom
If nom <> "" And Index = 10 Then NOMS(Index).Caption =
"S11" & " : " & nom
If nom <> "" And Index = 11 Then NOMS(Index).Caption =
"S12" & " : " & nom
If nom <> "" And Index = 12 Then NOMS(Index).Caption =
"S13" & " : " & nom
If nom <> "" And Index = 13 Then NOMS(Index).Caption =
"S14" & " : " & nom
If nom <> "" And Index = 14 Then NOMS(Index).Caption =
"S15" & " : " & nom
If nom <> "" And Index = 15 Then NOMS(Index).Caption =
"S16" & " : " & nom
End Sub
Private Sub open1_Click()
Call ouvrir_port
ouvrir.Enabled = False
open1.Enabled = False
fermer.Enabled = True
close1.Enabled = True
End Sub
Private Sub ouvrir_Click()
Call ouvrir_port
ouvrir.Enabled = False
open1.Enabled = False
fermer.Enabled = True
close1.Enabled = True
Timer1.Enabled = True
End Sub
PrivateSubouvrir_port()
If num_port = 1 Then
I= OPENCOM("COM1,vitesse,N,8,1")
End If
If num_port = 2 Then
i = OPENCOM("COM2,vitesse,N,8,1")
End If
If num_port = 3 Then
i = OPENCOM("COM3,vitesse,N,8,1")
End If
If num_port = 4 Then
i= OPENCOM("COM4,vitesse,N,8,1")
End If
End Sub
Private Sub ecrire_noms()
Dim compt As Integer
Open App.Path& "\noms_sorties.txt" For Output As #1
While Not EOF(1)
Print #1, ""
Wend
Close #1
Open App.Path& "\noms_entrées.txt" For Output As
#1
While Not EOF(1)
Print #1, ""
Wend
Close #1
Open App.Path& "\noms_sorties.txt" For Output As #1
compt = 0
While compt<= 15
Print #1, NOMS(compt).Caption
compt = compt + 1
Wend
Close #1
Open App.Path& "\noms_entrées.txt" For Output As
#1
compt = 0
While compt<= 7
Print #1, NOME(compt).Caption
compt = compt + 1
Wend
Close #1
End Sub
Private Sub lire_noms()
Dim compt As Integer
Dim nom As String
Open App.Path& "\noms_sorties.txt" For Input As #1
compt = 0
While Not EOF(1) And compt<= 15
Line Input #1, nom
NOMS(compt).Caption = nom
compt = compt + 1
Wend
Close #1
Open App.Path& "\noms_entrées.txt" For Input As
#1
compt = 0
While Not EOF(1) And compt<= 7
Line Input #1, nom
NOME(compt).Caption = nom
compt = compt + 1
Wend
Close #1
End Sub
Private Sub quit_Click()
Call ecrire_noms
End
End Sub
Private Sub quitter_Click()
Call ecrire_noms
End
End Sub
Private Sub Timer1_Timer()
REFLEX_entrees
End Sub
CONCLUSION
Arriver au terme de ce chapitre où nous avons
présenté tour à tour la programmation du
microcontrôleur et de l'ordinateur. Nous pouvons maintenant aborder
la dernière partie de notre travail avec une idée un peu plus
claire sur le fonctionnement logiciel de notre maquette.
Tout au long de cette partie il a été
question de présenter les solutions proposées et de faire une
étude théorique du récepteur IR/PC. Pour cela nous avons
procédés à la production du cahier des charges où
nous avons clairement définis les objectifs à atteindre. Ensuite
nous avons procédés à la conception de l'interface
matérielle en faisant une étude minutieuse des différents
blocs de l'interface. Pour terminer cette partie nous procédé
à l'implémentation du logiciel en présentant les
organigrammes et le code source de nos différents modes de commande. Les
solutions des limites citées plus haut énumérées,
l'étude théorique du récepteur terminée nous
pouvons maintenant passer à la dernière étape de notre
travail qui est intitulé « Réalisation, tests et
présentation des résultats ».
Cette partie constitue une étape importante dans
l'évolution de notre de travail car elle est une confirmation des
résultats obtenues dans la partie précédente. Aussi nous
nous devons de nous appliquer sur la réalisation du récepteur qui
constitue d'ailleurs notre chapitre V. il sera question dans ce chapitre de
présenter les différents étapes qui ont conduit à
la réalisation de la maquette. Le chapitre VI, dernière
étape de notre travail sera spécialement consacrer à la
présentation des résultats, aux tests et au guide d'utilisation
du récepteur.
INTRODUCTION
Après avoir fait l'étude théorique
de l'interface, nous allons dans cette partie, faire une synthèse de
tous les schémas retenus pour l'étude afin de pouvoir
réaliser notre maquette. Nous présenterons tour à tour
les différents typons et circuits imprimés
(réalisés à partir des logiciel ISIS et de ARES), le
boîtier de l'interface et enfin nous donnerons le devis estimatif.
|