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