IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Affichage variable et caractere indesirable


Sujet :

Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut Affichage variable et caractere indesirable
    Bonjour à tous,

    Je rencontre un soucis avec l'affichage de variable sur un ecran LCD, j'ai testé avec plusieurs bibliotheques differentes et le caractere change parfois mais est toujours present.

    Un caractere vient systematiquement se coller apres que j'affiche une valeur recuperee dans une variable

    Un exemple sera pus concret

    Voici mon bout de code, soyez indulgents, ce sont mes debuts :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    #!/usr/bin/python
    # Station Meteo
     
    # on importe le pilote
    import RPi_I2C_driver
    import time
    from time import sleep
    from datetime import datetime
    import os
    import sys
    from subprocess import *
    GPIO.setwarnings(False)
     
    # on initialise le lcd
    lcd = RPi_I2C_driver.lcd()
     
    # Fonction qui permet de passer une commande OS
    def run_cmd(cmd):
        p = Popen(cmd, shell=True, stdout=PIPE)
        output = p.communicate()[0]
        return output
     
    # On definit les GPIO associes au sondes DHT22
    sonde1 = 14
    sonde2 = 23
    sonde3 = 15
     
    # On definit la commande OS dans les variables lire_*
    lire_temp1 = "sudo nice -20 ./Adafruit_DHT 22 %d |grep Temp |awk '{ print $3 }'" % (sonde1)
    lire_hum1 = "sudo nice -20 ./Adafruit_DHT 22 %d |grep Temp |awk '{ print $7 }'" % (sonde1)
    lire_temp2 = "sudo nice -20 ./Adafruit_DHT 22 %d |grep Temp |awk '{ print $3 }'" % (sonde2)
    lire_hum2 = "sudo nice -20 ./Adafruit_DHT 22 %d |grep Temp |awk '{ print $7 }'" % (sonde2)
    lire_temp3 = "sudo nice -20 ./Adafruit_DHT 22 %d |grep Temp |awk '{ print $3 }'" % (sonde3)
    lire_hum3 = "sudo nice -20 ./Adafruit_DHT 22 %d |grep Temp |awk '{ print $7 }'" % (sonde3)
     
    # Boucle qui lit les valeurs de la sonde et verifie que ce sont des float
    while True :
    	temperature1 = run_cmd(lire_temp1)                                     # Lance la commande de lecture de la sonde et met en variable le resultat
    	humidite1 = run_cmd(lire_hum1)                                           # Lance la commande de lecture de la sonde et met en variable le resultat
    	try:                                                                                   # Test des ...
    		float(temperature1) and float(humidite1) 	                # ... valeurs pour voir si ce sont des float
    		print "sonde 1 => Ok"
    		break										# Si oui on casse la boucle
    	except ValueError:								# Sinon
    		print "sonde 1 erreur, nouvel essai..."		                # On affiche un message et on reessaye
    		sleep(1)									# On s endors 1 seconde et on recommence la boucle
     
    while True :										# Idem au bloc du dessus avec temperature2
    	temperature2 = run_cmd(lire_temp2)
    	humidite2 = run_cmd(lire_hum2)
    	try:
    		float(temperature2) and float(humidite2)
    		print "sonde 2 => Ok"
    		break
    	except ValueError:
    		print "sonde 2 erreur, nouvel essai..."
    		sleep(1)
     
    while True :										# Idem au bloc du dessus avec temperature2
    	temperature3 = run_cmd(lire_temp3)
    	humidite3 = run_cmd(lire_hum3)
    	try:
    		float(temperature3) and float(humidite3)
    		print "sonde 3 => Ok"		
    		break
    	except ValueError:
    		print "sonde 3 erreur, nouvel essai..."
    		sleep(1)
     
     
    # Bloc d affichage du LCD ligne par ligne
    lcd.lcd_display_string(datetime.now().strftime('  %d %b       %H:%M'), 1)	                	        # Affichage de la date et heure sur la 1ere ligne
    lcd.lcd_display_string("      Sal. Ch.1 Ext" , 2)								                # Affichage de la ligne 2
    lcd.lcd_display_string("Temp :%s%s%s" %(temperature1, temperature2, temperature3) , 3)		# Affichage de la ligne 3 avec t°
    lcd.lcd_display_string("Hum  :%s%s%s"%(humidite1, humidite2, humidite3) , 4)				# Affichage de la ligne 3 avec hum
    et le resultat sur le LCD :
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Struts] Affichage variable de session
    Par cirdec dans le forum Struts 1
    Réponses: 3
    Dernier message: 17/03/2006, 11h18
  2. Affichage variable dans une fenêtre d'alerte
    Par undercrash dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/03/2006, 21h35
  3. affichage d'un caractere special
    Par vince3320 dans le forum C
    Réponses: 7
    Dernier message: 09/12/2005, 10h10
  4. caracteres indesirables
    Par deubal dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2005, 12h55
  5. Nom de variable avec caracteres []
    Par zevince dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/10/2005, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo