Changes for page Commutateur d' antenne
Last modified by Jean-Yves Dupertuis on 27-08-2014, 11:07
edited by Jean-Yves Dupertuis
on 18-07-2014, 10:23
on 18-07-2014, 10:23
edited by Jean-Yves Dupertuis
on 18-07-2014, 14:26
on 18-07-2014, 14:26
Change comment:
indication port i2c
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 8 added, 0 removed)
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