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

Calcul scientifique Python Discussion :

Enregistrement données dans une loop


Sujet :

Calcul scientifique Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Enregistrement données dans une loop
    Bonjour,
    Je suis électronicien et j'utilise un microcontrolleur avec lequel je souhaite calculer les caractéristiques (tension, courant, bode,fft...) d'un circuit.
    Mais j'ai des problèmes dans l'écriture python du programme qui controle le microcontrolleur.
    Ici par exemple, en pièce jointe, j'ai mis le programme de calcul de tension aux bornes d'un potentiomètre.
    Le programme calcule au moyen de la fonction Analog_in() une moyenne sur les 10 derniers échantillons des 20 échantillons enregistrés sur le canal A :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ADsignal1 = CHA.get_samples(20) # get 20 readings
    # get_samples returns a list of values for voltage [0] and current [1]
    for index in range(10): # calculate average
                    SPA = ADsignal1[index+10][0] # skip over first 10 readings
                    VAdata = float(SPA)
                    DCVA += VAdata # Sum for average voltage
                    DCVA = DCVA / 10.0
    Mon problème est que j'aimerais enregistrer dans un fichier ces données calculées pendant toute l'exécution du programme ie RUNstatus.get()==1 ou au moins d'une seule loop afin de leur appliquer la fft après par exemple. Mais Adsignal1 ne contient aucune valeur quand je stoppe l'exécution.

    Merci d'avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Tu peux ouvrir le fichier avant le lancement de la boucle.

    En simplifiant le code:
    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
     
    def Analog_in():
        with open('stats.log', 'w') as outf:
            while 1:
                if (RUNstatus.get() == 1):
                    DCVA = 0.0 # initalize measurment variable
                    ADsignal1 = CHA.get_samples(20)
                    # get_samples returns a list of values for voltage [0] and current [1]
                    DCVA = sum([i[0] for i in ADsignal1[10:]]) / 10.0
                    VAString = ' {0:.4f} '.format(DCVA)
                    label.config(text = VAString)
                    outf.write(DCVA)
     
                root.update_idletasks()
                root.update()

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/10/2007, 12h24
  2. enregistrer des données dans une base avec jboss jbpm
    Par paolo2002 dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 19/09/2007, 11h56
  3. Enregistrement d'une donnée dans une Zone de Text
    Par faressam dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 01/05/2007, 18h58
  4. Enregistrer des données dans une base de donnée
    Par fabienlege dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 18/04/2007, 16h34
  5. Enregistrer des données dans une table à partir du code
    Par Ragnarok85 dans le forum Access
    Réponses: 4
    Dernier message: 24/01/2007, 13h03

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