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

Embarqué Discussion :

Algorithme de calcul d'un débit de personnes


Sujet :

Embarqué

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Algorithme de calcul d'un débit de personnes
    Bonjour à tous, tout d'abord je me présente, je suis Axel et je suis actuellement étudiant en Terminale S. J'ai un oral de spé ISN (Informatique et Sciences du Numérique) demain, et je suis allé aujourd'hui au labo pour tester mon programme qui a pour but de mesurer un débit.
    Je m'explique, le programme va durer pendant 2h30 soit 9000s. La première partie du programme va lire la tension sur l'entrée analogique de mon pc Duino codée en 12bits. Nous avons établi un seuil à la valeur 2700(environ 2.5V). Lorsque la tension dépasse ce seuil, un compteur qui a pour valeur de départ 0, s'incrémente de 1, et ainsi de suite tant que le seuil est dépassé.
    La deuxième condition est que, lorsque 60sec se sont écoulées, le programme inscrit notre compteur qui se sera incrémenté au fil des passages des personnes au réfectoire de mon lycée (passage repéré par ce dépassement de seuil) dans un fichier .txt.

    Le programme en lui même ne comporte pas de défaut (en tout cas je n'en trouve plus ^^) excepté le fait qu'au lieu d'incrémenter le compteur de 1 à chaque dépassement de seuil, il l'incrémente toutes les secondes, soit à chaque fois que le programme lit la tension en 12bits (qu'elle soit ou non supérieure à 2700). J'ai beau me creuser la tête mais je n'arrive pas à trouver comment je pourrais faire pour qu'il incrémente le compteur seulement lorsque le seuil est dépassé

    Ci-joint la photo de mon programme, je vous remercie par avance de vos réponses et de votre rapidité, à bientôt !

    Nom : algodébit.jpg
Affichages : 837
Taille : 962,6 Ko

    PS: C'est une ancienne capture d'écran j'ai remplacé le ".open" par "=open" aux lignes 46 et 52 et j'ai fait "file.write(str(cpteur))" car j'ai remplacé la variable "compteur" par "cpteur" pour pas que python ne se mélange avec le fichier texte !

  2. #2
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Bonjour,

    je n'ai pas lu ton message, je me suis arrêté à cette horrible "capture" d'écran. Suggestion : copie-colle ton code entre les balises [*code=python]<ton code ici>[/code] (sans le *) afin de fournir le rendu suivant :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    x = 1
    if x == 1:
        # indented four spaces
        print "x is 1."
    -- Yankel Scialom

  3. #3
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    En plus d'approuver la suggestion sur le code source à la place de screen-shot.

    Il serai peut-être intéressant que tu ajoute des traces dans ton traitement pour que tu ai un retour d'où il passe et avec quels valeurs.

    D'après ce que je sais, python est assez sensible avec l’indentation. Il ne prendra pas en considération les espaces à la place des tabulations. Ce qui peux jouer dans ton cas.
    Si dans la version que tu as, il y a des espaces en lieu et place des tabulations. Cela expliquerait que l'incrémentation ne soit pas considéré dans le if et donc réalisé de manière systématique.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  4. #4
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 187
    Points : 11 568
    Points
    11 568
    Par défaut
    Je ne connais pas (encore) le langage python mais une chose m'interpelle quand tu fais "out > 2700"

    N'es tu pas entrain de comparer du texte, dans la variable out, avec une valeur entière décimale ?

    Dans beaucoup de langage ça ne fonctionne pas.
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    char valeur [] = "30";
       if (valeur < 31)
          // toujours faux !!!!

    A moins que python fasse tout seul les transformations (cast) chaîne de caractères vers valeur entière ????

    Moi je pensais à :
    Code PYTHON : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if int (out) > 2700
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

Discussions similaires

  1. Algorithme de calcul probas poker
    Par Madfrix dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 11/05/2008, 18h27
  2. Y-a t-il plusieurs algorithmes de calcul de l'amortissement d'un prêt?
    Par kouka dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 12/09/2007, 13h33
  3. Recherche d'un algorithme pour calculer un Checksum
    Par noune40 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/11/2006, 10h46
  4. algorithme pour calcul de probabilité
    Par filsdugrand dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 14/12/2005, 14h11
  5. Calculer l'age d'une personne
    Par Oberown dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 27/09/2005, 14h19

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