From version < 6.3 >
edited by Jean-Yves Dupertuis
on 18-07-2014, 10:23
To version < 14.3 >
edited by Jean-Yves Dupertuis
on 18-07-2014, 14:26
< >
Change comment: indication port i2c

Summary

Details

Page properties
Content
... ... @@ -5,8 +5,11 @@
5 5  Ce travail a été confié à un apprenant de 4ème année (M// Loris Gilliand//) .
6 6  
7 7  
8 -== Interface Homme - Machine ==
8 += [[Fabrication>>doc:fabricationSwitch]] =
9 9  
10 +
11 += Interface Homme - Machine =
12 +
10 10  Pour commuter le TX sur une autre antenne, il suffit de taper la lettre (//canal désiré) au clavier.//
11 11  
12 12  L'image se modifie selon votre choix pour valider sa commutation.
... ... @@ -27,3 +27,367 @@
27 27  
28 28  
29 29  [[image:ClassGpio.jpg]]
33 +
34 +
35 +On a ajouté un LCD fournit par //HB9FOX //qui permet de commuter directement sur le module la bonne Antenne.
36 +
37 +**IMPORTANT !!** Pour ce faire le raspberry - py doit fonctionné et le programme lancé !
38 +
39 +
40 +Voici le détail :
41 +
42 +
43 +[[image:lcdVue.jpg]]
44 +
45 +
46 +[[image:lcdCommande.jpg]]
47 +
48 +
49 +== Câblage du module ==
50 +
51 +Le raspberry - py travaille avec 8 GPIO qui pour des raisons de protection transit via des opto - coupleurs.
52 +
53 +Une carte dédiée à cette protection a été développée.
54 +
55 +Le rasbberry - py est directement relié aux entrée de ces optos et la photo montre comment relié les sorties
56 +
57 +des optos à la carte relais. Une carte relais possède 4 relais de commutation. C'est pourquoi le module
58 +
59 +possède 2 cartes relais.
60 +
61 +
62 +
63 +[[image:OptoRelais.jpg]]
64 +
65 +
66 +
67 +Depuis les sorties relais on installe le câble de la boite de commutation.
68 +
69 +
70 +[[image:RelaiCommutateur.jpg]]
71 +
72 +
73 +Les fils rouge sont l'arrivée du 12 Vdc depuis l'autre côté de la carte relais.
74 +
75 +**Ne pas oublier de les relier au 12Vdc !**
76 +
77 +
78 +== Câble ==
79 +
80 +
81 +[[image:cableCommAnt.jpg]]
82 +
83 +
84 +
85 += Programmation Python =
86 +
87 +Voici le code source, vous pouvez le copier directement dans un IDLE Python 2.7.
88 +
89 +Si vous ne l'avez pas, vous pouvez le télécharger sur le site Python [[https:~~/~~/www.python.org/downloads/>>url:https://www.python.org/downloads/]].
90 +
91 +Pour linux c'est plus simple il suffit d' ouvrir l'IDLE 2.7 déjà présent
92 +
93 +sur votre carte raspberry - py.
94 +
95 +**Important !! **je suis parti du principe que le port **//I2C//** est fonctionnel sur votre raspberry - py.
96 +
97 +**Si ce n'est pas le cas, seul la distribution sans le LCD fonctionnera !**
98 +
99 +
100 +
101 +== Source : ==
102 +
103 +
104 +
105 +{{{# auteur : Gilliand Loris
106 +# date : 02.06.14
107 +# version 0.8
108 +#
109 +# amelioration depuis 0.7 : integre un lcd qui peut commander les changements
110 +
111 +# importation bibilotheques
112 +import pygame, sys, time
113 +from pygame.locals import *
114 +import RPi.GPIO as GPIO
115 +from Adafruit_CharLCDPlate import *
116 +
117 +# initialisation fenetre et gpio
118 +pygame.init()
119 +GPIO.setmode(GPIO.BCM)
120 +
121 +# fonction qui change LA sortie active
122 +def change_sortie(ligne):
123 + BP1.etat = 0
124 + BP2.etat = 0
125 + BP3.etat = 0
126 + BP4.etat = 0
127 + BP1.affiche_etat(inactif)
128 + BP2.affiche_etat(inactif)
129 + BP3.affiche_etat(inactif)
130 + BP4.affiche_etat(inactif)
131 + time.sleep(0.25)
132 + if ligne == 'a':
133 + BP1.etat = 1
134 + BP1.affiche_etat(actif)
135 + elif ligne == 'b':
136 + BP2.etat = 1
137 + BP2.affiche_etat(actif)
138 + elif ligne == 'c':
139 + BP3.etat = 1
140 + BP3.affiche_etat(actif)
141 + elif ligne == 'd':
142 + BP4.etat = 1
143 + BP4.affiche_etat(actif)
144 +
145 +# classe de creation de cases
146 +class Cases:
147 + def init(self,image,pos,port,init):
148 + self.image = pygame.image.load(image).convert()
149 + self.pos = pos
150 + self.port = port
151 + self.etat = init
152 + self.rect = self.image.get_rect().move(self.pos)
153 + GPIO.setup(self.port,GPIO.OUT)
154 + GPIO.output(self.port,GPIO.LOW)
155 +
156 + def affiche_etat(self,indicateur):
157 + indicateur = pygame.image.load(indicateur).convert()
158 + indi_rect = indicateur.get_rect()
159 + indi_rect.centerx = self.rect.centerx - self.pos[0]
160 + indi_rect.centery = self.rect.centery - self.pos[1]
161 + if self.etat == 0:
162 + GPIO.output(self.port,GPIO.LOW)
163 + elif self.etat == 1:
164 + GPIO.output(self.port,GPIO.HIGH)
165 + self.image.blit(indicateur,indi_rect)
166 +
167 +# initialisation de la fenetre
168 +screen = pygame.display.set_mode((600,600))
169 +clock = pygame.time.Clock()
170 +# initialisation des couleurs
171 +rouge = (255,0,0)
172 +noir = (0,0,0)
173 +blanc = (255,255,255)
174 +vert = (0,255,0)
175 +bleu = (0,0,255)
176 +
177 +# initialisation des variables
178 +startline = (183,149)
179 +endline = (293,75)
180 +
181 +flag_canal = 0
182 +
183 +canal = [4,17,18,22,23,24,25,27]
184 +
185 +# definitions des zones
186 +zone1 = pygame.Surface((600,150))
187 +zone1.fill(bleu)
188 +
189 +zone2 = pygame.Surface((400,300))
190 +zone2.fill(bleu)
191 +
192 +zone3 = pygame.Surface((600,150))
193 +zone3.fill(bleu)
194 +
195 +zone4 = pygame.Surface((200,300))
196 +zone4.fill(bleu)
197 +
198 +# definitions des objets a afficher dans les zones
199 +# zone 1
200 +font = pygame.font.Font(None,60)
201 +titre1 = font.render("HB9EM",1,noir)
202 +titre2 = font.render("Commutateur d'antennes",1,noir)
203 +zone1.blit(titre1,(230,30))
204 +zone1.blit(titre2,(50,70))
205 +
206 +# zone 2
207 +commu = pygame.image.load("commu_antenne.bmp").convert()
208 +zone2.blit(commu,(50,50))
209 +
210 +# zone 3
211 +actif = "actif_commu.bmp"
212 +inactif = "inactif_commu.bmp"
213 +
214 +BP1 = Cases("bouton_commu.bmp",(125,50),canal[1],1)
215 +BP2 = Cases("bouton_commu.bmp",(225,50),canal[2],0)
216 +BP3 = Cases("bouton_commu.bmp",(325,50),canal[3],0)
217 +BP4 = Cases("bouton_commu.bmp",(425,50),canal[4],0)
218 +grp_cases = [BP1,BP2,BP3,BP4]
219 +BP1.affiche_etat(actif)
220 +BP2.affiche_etat(inactif)
221 +BP3.affiche_etat(inactif)
222 +BP4.affiche_etat(inactif)
223 +
224 +zone3.blit(BP1.image,BP1.rect)
225 +zone3.blit(BP2.image,BP2.rect)
226 +zone3.blit(BP3.image,BP3.rect)
227 +zone3.blit(BP4.image,BP4.rect)
228 +
229 +font = pygame.font.Font(None,20)
230 +canal_a = font.render("canal A",1,noir)
231 +canal_b = font.render("canal B",1,noir)
232 +canal_c = font.render("canal C",1,noir)
233 +canal_d = font.render("canal D",1,noir)
234 +zone3.blit(canal_a,(125,35))
235 +zone3.blit(canal_b,(225,35))
236 +zone3.blit(canal_c,(325,35))
237 +zone3.blit(canal_d,(425,35))
238 +
239 +# zone 4
240 +commande = font.render("Commandes :",1,noir)
241 +touche_a = font.render("Selection canal A : touche a",1,noir)
242 +touche_b = font.render("Selection canal B : touche b",1,noir)
243 +touche_c = font.render("Selection canal C : touche c",1,noir)
244 +touche_d = font.render("Selection canal D : touche d",1,noir)
245 +quitter = font.render("Quitter : touche q",1,noir)
246 +zone4.blit(commande,(10,20))
247 +zone4.blit(touche_a,(10,60))
248 +zone4.blit(touche_b,(10,80))
249 +zone4.blit(touche_c,(10,100))
250 +zone4.blit(touche_d,(10,120))
251 +zone4.blit(quitter,(10,200))
252 +
253 +# affichage des zones
254 +screen.blit(zone1,(0,0))
255 +screen.blit(zone2,(0,150))
256 +screen.blit(zone3,(0,450))
257 +screen.blit(zone4,(400,150))
258 +
259 +lcd = Adafruit_CharLCDPlate()
260 +lcd.begin(16,2)
261 +btn = ((lcd.SELECT, '', lcd.ON),
262 + (lcd.LEFT , 'Antenne 1' , lcd.ON),
263 + (lcd.UP , 'Antenne 2' , lcd.ON),
264 + (lcd.DOWN , 'Antenne 4' , lcd.ON),
265 + (lcd.RIGHT , 'Antenne 3' , lcd.ON))
266 +prev = -1
267 +temp = ''
268 +active = 'Antenne 1'
269 +act = ' active'
270 +lcd.message((active + act))
271 +while 1:
272 + clock.tick(30)
273 + for b in btn:
274 + if lcd.buttonPressed(lcd.SELECT):
275 + lcd.clear()
276 + lcd.message((active + act))
277 + time.sleep(0.25)
278 + if temp != '':
279 + active = temp
280 + temp = ''
281 + if active == 'Antenne 1':
282 + change_sortie('a')
283 + endline = (293,75)
284 + if active == 'Antenne 2':
285 + change_sortie('b')
286 + endline = (293,125)
287 + if active == 'Antenne 3':
288 + change_sortie('c')
289 + endline = (293,175)
290 + if active == 'Antenne 4':
291 + change_sortie('d')
292 + endline = (293,225)
293 + lcd.setCursor(0,0)
294 + lcd.message((active + act))
295 + lcd.setCursor(0,1)
296 + lcd.message(' ')
297 + if lcd.buttonPressed(lcd.RIGHT):
298 + temp = 'Antenne 3'
299 + lcd.setCursor(0,1)
300 + lcd.message(temp)
301 + if lcd.buttonPressed(lcd.DOWN):
302 + temp = 'Antenne 4'
303 + lcd.setCursor(0,1)
304 + lcd.message(temp)
305 + if lcd.buttonPressed(lcd.UP):
306 + temp = 'Antenne 2'
307 + lcd.setCursor(0,1)
308 + lcd.message(temp)
309 + if lcd.buttonPressed(lcd.LEFT):
310 + temp = 'Antenne 1'
311 + lcd.setCursor(0,1)
312 + lcd.message(temp)
313 +
314 + for event in pygame.event.get():
315 + lcd.setCursor(0,0)
316 + if event.type == pygame.QUIT:
317 + GPIO.cleanup()
318 + sys.exit()
319 + if event.type == pygame.KEYDOWN:
320 + if event.key == pygame.K_q:
321 + GPIO.cleanup()
322 + sys.exit()
323 + if event.key == pygame.K_a:
324 + active = 'Antenne 1'
325 + lcd.message((active + act))
326 + change_sortie('a')
327 + endline = (293,75)
328 + if event.key == pygame.K_b:
329 + active = 'Antenne 2'
330 + lcd.message((active + act))
331 + change_sortie('b')
332 + endline = (293,125)
333 + if event.key == pygame.K_c:
334 + active = 'Antenne 3'
335 + lcd.message((active + act))
336 + change_sortie('c')
337 + endline = (293,175)
338 + if event.key == pygame.K_d:
339 + active = 'Antenne 4'
340 + lcd.message((active + act))
341 + change_sortie('d')
342 + endline = (293,225)
343 +
344 + souris = pygame.mouse.get_pos()
345 + souris_rect = souris[0],souris[1,[5,5]]
346 + souris_rect = pygame.Rect(souris_rect)
347 +
348 + for i in grp_cases:
349 + lcd.setCursor(0,0)
350 + if souris_rect.colliderect(i.rect.move((0,450))):
351 + if pygame.mouse.get_pressed() == (1,0,0):
352 + if i.port == canal[1]:
353 + active = 'Antenne 1'
354 + lcd.message((active + act))
355 + change_sortie('a')
356 + endline = (293,75)
357 + if i.port == canal[2]:
358 + active = 'Antenne 2'
359 + lcd.message((active + act))
360 + change_sortie('b')
361 + endline = (293,125)
362 + if i.port == canal[3]:
363 + active = 'Antenne 3'
364 + lcd.message((active + act))
365 + change_sortie('c')
366 + endline = (293,175)
367 + if i.port == canal[4]:
368 + active = 'Antenne 4'
369 + lcd.message((active + act))
370 + change_sortie('d')
371 + endline = (293,225)
372 +
373 + zone3.blit(BP1.image,BP1.rect)
374 + zone3.blit(BP2.image,BP2.rect)
375 + zone3.blit(BP3.image,BP3.rect)
376 + zone3.blit(BP4.image,BP4.rect)
377 + screen.blit(zone3,(0,450))
378 + zone2.blit(commu,(50,50))
379 + pygame.draw.line(zone2,noir,startline,endline,2)
380 + screen.blit(zone2,(0,150))
381 + pygame.display.update()
382 +}}}
383 +
384 +
385 +[[Fichier Py>>attach:commu08.py]]
386 +
387 +
388 +=== Distributions sans et avec LCD ===
389 +
390 +[[Distribution_sans_LCD.rar>>attach:Distribution.rar]]
391 +
392 +
393 +[[Distribution_lcd.rar>>attach:Distribution_lcd.rar]]
394 +
395 +
396 +
Distribution.rar
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Dupertuis
Size
... ... @@ -1,0 +1,1 @@
1 +707.0 KB
Content
Distribution_lcd.rar
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Dupertuis
Size
... ... @@ -1,0 +1,1 @@
1 +10.8 KB
Content
OptoRelais.jpg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Dupertuis
Size
... ... @@ -1,0 +1,1 @@
1 +47.1 KB
Content
RelaiCommutateur.jpg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Dupertuis
Size
... ... @@ -1,0 +1,1 @@
1 +58.0 KB
Content
cableCommAnt.jpg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Dupertuis
Size
... ... @@ -1,0 +1,1 @@
1 +34.1 KB
Content
commu08.py
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Dupertuis
Size
... ... @@ -1,0 +1,1 @@
1 +8.3 KB
Content
... ... @@ -1,0 +1,278 @@
1 +# auteur : Gilliand Loris
2 +# date : 02.06.14
3 +# version 0.8
4 +#
5 +# amelioration depuis 0.7 : integre un lcd qui peut commander les changements
6 +
7 +# importation bibilotheques
8 +import pygame, sys, time
9 +from pygame.locals import *
10 +import RPi.GPIO as GPIO
11 +from Adafruit_CharLCDPlate import *
12 +
13 +# initialisation fenetre et gpio
14 +pygame.init()
15 +GPIO.setmode(GPIO.BCM)
16 +
17 +# fonction qui change LA sortie active
18 +def change_sortie(ligne):
19 + BP1.etat = 0
20 + BP2.etat = 0
21 + BP3.etat = 0
22 + BP4.etat = 0
23 + BP1.affiche_etat(inactif)
24 + BP2.affiche_etat(inactif)
25 + BP3.affiche_etat(inactif)
26 + BP4.affiche_etat(inactif)
27 + time.sleep(0.25)
28 + if ligne == 'a':
29 + BP1.etat = 1
30 + BP1.affiche_etat(actif)
31 + elif ligne == 'b':
32 + BP2.etat = 1
33 + BP2.affiche_etat(actif)
34 + elif ligne == 'c':
35 + BP3.etat = 1
36 + BP3.affiche_etat(actif)
37 + elif ligne == 'd':
38 + BP4.etat = 1
39 + BP4.affiche_etat(actif)
40 +
41 +# classe de creation de cases
42 +class Cases:
43 + def __init__(self,image,pos,port,init):
44 + self.image = pygame.image.load(image).convert()
45 + self.pos = pos
46 + self.port = port
47 + self.etat = init
48 + self.rect = self.image.get_rect().move(self.pos)
49 + GPIO.setup(self.port,GPIO.OUT)
50 + GPIO.output(self.port,GPIO.LOW)
51 +
52 + def affiche_etat(self,indicateur):
53 + indicateur = pygame.image.load(indicateur).convert()
54 + indi_rect = indicateur.get_rect()
55 + indi_rect.centerx = self.rect.centerx - self.pos[0]
56 + indi_rect.centery = self.rect.centery - self.pos[1]
57 + if self.etat == 0:
58 + GPIO.output(self.port,GPIO.LOW)
59 + elif self.etat == 1:
60 + GPIO.output(self.port,GPIO.HIGH)
61 + self.image.blit(indicateur,indi_rect)
62 +
63 +# initialisation de la fenetre
64 +screen = pygame.display.set_mode((600,600))
65 +clock = pygame.time.Clock()
66 +# initialisation des couleurs
67 +rouge = (255,0,0)
68 +noir = (0,0,0)
69 +blanc = (255,255,255)
70 +vert = (0,255,0)
71 +bleu = (0,0,255)
72 +
73 +# initialisation des variables
74 +startline = (183,149)
75 +endline = (293,75)
76 +
77 +flag_canal = 0
78 +
79 +canal = [4,17,18,22,23,24,25,27]
80 +
81 +# definitions des zones
82 +zone1 = pygame.Surface((600,150))
83 +zone1.fill(bleu)
84 +
85 +zone2 = pygame.Surface((400,300))
86 +zone2.fill(bleu)
87 +
88 +zone3 = pygame.Surface((600,150))
89 +zone3.fill(bleu)
90 +
91 +zone4 = pygame.Surface((200,300))
92 +zone4.fill(bleu)
93 +
94 +# definitions des objets a afficher dans les zones
95 +# zone 1
96 +font = pygame.font.Font(None,60)
97 +titre1 = font.render("HB9EM",1,noir)
98 +titre2 = font.render("Commutateur d'antennes",1,noir)
99 +zone1.blit(titre1,(230,30))
100 +zone1.blit(titre2,(50,70))
101 +
102 +# zone 2
103 +commu = pygame.image.load("commu_antenne.bmp").convert()
104 +zone2.blit(commu,(50,50))
105 +
106 +# zone 3
107 +actif = "actif_commu.bmp"
108 +inactif = "inactif_commu.bmp"
109 +
110 +BP1 = Cases("bouton_commu.bmp",(125,50),canal[1],1)
111 +BP2 = Cases("bouton_commu.bmp",(225,50),canal[2],0)
112 +BP3 = Cases("bouton_commu.bmp",(325,50),canal[3],0)
113 +BP4 = Cases("bouton_commu.bmp",(425,50),canal[4],0)
114 +grp_cases = [BP1,BP2,BP3,BP4]
115 +BP1.affiche_etat(actif)
116 +BP2.affiche_etat(inactif)
117 +BP3.affiche_etat(inactif)
118 +BP4.affiche_etat(inactif)
119 +
120 +zone3.blit(BP1.image,BP1.rect)
121 +zone3.blit(BP2.image,BP2.rect)
122 +zone3.blit(BP3.image,BP3.rect)
123 +zone3.blit(BP4.image,BP4.rect)
124 +
125 +font = pygame.font.Font(None,20)
126 +canal_a = font.render("canal A",1,noir)
127 +canal_b = font.render("canal B",1,noir)
128 +canal_c = font.render("canal C",1,noir)
129 +canal_d = font.render("canal D",1,noir)
130 +zone3.blit(canal_a,(125,35))
131 +zone3.blit(canal_b,(225,35))
132 +zone3.blit(canal_c,(325,35))
133 +zone3.blit(canal_d,(425,35))
134 +
135 +# zone 4
136 +commande = font.render("Commandes :",1,noir)
137 +touche_a = font.render("Selection canal A : touche a",1,noir)
138 +touche_b = font.render("Selection canal B : touche b",1,noir)
139 +touche_c = font.render("Selection canal C : touche c",1,noir)
140 +touche_d = font.render("Selection canal D : touche d",1,noir)
141 +quitter = font.render("Quitter : touche q",1,noir)
142 +zone4.blit(commande,(10,20))
143 +zone4.blit(touche_a,(10,60))
144 +zone4.blit(touche_b,(10,80))
145 +zone4.blit(touche_c,(10,100))
146 +zone4.blit(touche_d,(10,120))
147 +zone4.blit(quitter,(10,200))
148 +
149 +# affichage des zones
150 +screen.blit(zone1,(0,0))
151 +screen.blit(zone2,(0,150))
152 +screen.blit(zone3,(0,450))
153 +screen.blit(zone4,(400,150))
154 +
155 +lcd = Adafruit_CharLCDPlate()
156 +lcd.begin(16,2)
157 +btn = ((lcd.SELECT, '', lcd.ON),
158 + (lcd.LEFT , 'Antenne 1' , lcd.ON),
159 + (lcd.UP , 'Antenne 2' , lcd.ON),
160 + (lcd.DOWN , 'Antenne 4' , lcd.ON),
161 + (lcd.RIGHT , 'Antenne 3' , lcd.ON))
162 +prev = -1
163 +temp = ''
164 +active = 'Antenne 1'
165 +act = ' active'
166 +lcd.message((active + act))
167 +while 1:
168 + clock.tick(30)
169 + for b in btn:
170 + if lcd.buttonPressed(lcd.SELECT):
171 + lcd.clear()
172 + lcd.message((active + act))
173 + time.sleep(0.25)
174 + if temp != '':
175 + active = temp
176 + temp = ''
177 + if active == 'Antenne 1':
178 + change_sortie('a')
179 + endline = (293,75)
180 + if active == 'Antenne 2':
181 + change_sortie('b')
182 + endline = (293,125)
183 + if active == 'Antenne 3':
184 + change_sortie('c')
185 + endline = (293,175)
186 + if active == 'Antenne 4':
187 + change_sortie('d')
188 + endline = (293,225)
189 + lcd.setCursor(0,0)
190 + lcd.message((active + act))
191 + lcd.setCursor(0,1)
192 + lcd.message(' ')
193 + if lcd.buttonPressed(lcd.RIGHT):
194 + temp = 'Antenne 3'
195 + lcd.setCursor(0,1)
196 + lcd.message(temp)
197 + if lcd.buttonPressed(lcd.DOWN):
198 + temp = 'Antenne 4'
199 + lcd.setCursor(0,1)
200 + lcd.message(temp)
201 + if lcd.buttonPressed(lcd.UP):
202 + temp = 'Antenne 2'
203 + lcd.setCursor(0,1)
204 + lcd.message(temp)
205 + if lcd.buttonPressed(lcd.LEFT):
206 + temp = 'Antenne 1'
207 + lcd.setCursor(0,1)
208 + lcd.message(temp)
209 +
210 + for event in pygame.event.get():
211 + lcd.setCursor(0,0)
212 + if event.type == pygame.QUIT:
213 + GPIO.cleanup()
214 + sys.exit()
215 + if event.type == pygame.KEYDOWN:
216 + if event.key == pygame.K_q:
217 + GPIO.cleanup()
218 + sys.exit()
219 + if event.key == pygame.K_a:
220 + active = 'Antenne 1'
221 + lcd.message((active + act))
222 + change_sortie('a')
223 + endline = (293,75)
224 + if event.key == pygame.K_b:
225 + active = 'Antenne 2'
226 + lcd.message((active + act))
227 + change_sortie('b')
228 + endline = (293,125)
229 + if event.key == pygame.K_c:
230 + active = 'Antenne 3'
231 + lcd.message((active + act))
232 + change_sortie('c')
233 + endline = (293,175)
234 + if event.key == pygame.K_d:
235 + active = 'Antenne 4'
236 + lcd.message((active + act))
237 + change_sortie('d')
238 + endline = (293,225)
239 +
240 + souris = pygame.mouse.get_pos()
241 + souris_rect = [[souris[0],souris[1]],[5,5]]
242 + souris_rect = pygame.Rect(souris_rect)
243 +
244 + for i in grp_cases:
245 + lcd.setCursor(0,0)
246 + if souris_rect.colliderect(i.rect.move((0,450))):
247 + if pygame.mouse.get_pressed() == (1,0,0):
248 + if i.port == canal[1]:
249 + active = 'Antenne 1'
250 + lcd.message((active + act))
251 + change_sortie('a')
252 + endline = (293,75)
253 + if i.port == canal[2]:
254 + active = 'Antenne 2'
255 + lcd.message((active + act))
256 + change_sortie('b')
257 + endline = (293,125)
258 + if i.port == canal[3]:
259 + active = 'Antenne 3'
260 + lcd.message((active + act))
261 + change_sortie('c')
262 + endline = (293,175)
263 + if i.port == canal[4]:
264 + active = 'Antenne 4'
265 + lcd.message((active + act))
266 + change_sortie('d')
267 + endline = (293,225)
268 +
269 + zone3.blit(BP1.image,BP1.rect)
270 + zone3.blit(BP2.image,BP2.rect)
271 + zone3.blit(BP3.image,BP3.rect)
272 + zone3.blit(BP4.image,BP4.rect)
273 + screen.blit(zone3,(0,450))
274 + zone2.blit(commu,(50,50))
275 + pygame.draw.line(zone2,noir,startline,endline,2)
276 + screen.blit(zone2,(0,150))
277 + pygame.display.update()
278 +
lcdCommande.jpg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Dupertuis
Size
... ... @@ -1,0 +1,1 @@
1 +50.4 KB
Content
lcdVue.jpg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Dupertuis
Size
... ... @@ -1,0 +1,1 @@
1 +40.0 KB
Content