SCIENCES DE L'INGENIEUR

Niveau : Terminale générale, enseignement de spécialité SI

D
É
C
O
N
N
E
C
T
É

Compteur / trieur de pièces de monnaie

1. Description SysML

Répondre aux questions ci-dessous :

  1. Combien de tubes permettent d'accueillir les pièces de monnaie ?
  2. Lister les pièces de monnaie pris en compte par le système :
  3. Combien de pièces de monnaie peut-il compter par minute ?

2. Objectif

On souhaite moderniser l'interface homme machine et utiliser un Raspberry pi avec un écran tactile

Nouvelle IHM :

Remarque : les boutons capteurs ne seront que présents pour la simulation du programme. Ils seront reliés aux vrais capteurs dans le système réel.

3. Programmation

3.1. Déclaration des variables

Manipulation des listes :
  • Affectation : Ma_liste=[10,5,4,-5,50]
  • Extraction :
    >>>Ma_liste[0]
    10
    >>>Ma_liste[3]
    -5
    >>>Ma_liste[-1]
    50
    >>>Ma_liste[:2]
    [10, 5]
    >>>Ma_liste[2:]
    [4, -5, 50]
    >>>Ma_liste[1:3]
    [5, 4]
  • Ajouter un élément : Ma_liste.append(indice)
    >>>Ma_liste.append(0)
    >>>Ma_liste
    [10, 5, 4, -5, 50, 0]
  • supprimer un élément : Ma_liste.pop(indice)
    >>>Ma_liste.pop(3)
    [5, -5, 50]
  • 3.2. Création des listes :

    La variable pieces est de type list contenant la liste des pièces de monnaies en Euros, ordonnées par ordre décroissant.

    La variable tubes est de type list et contient 8 zéros : le nombre de pièces de chaque tube :

  • tubes[0] contiendra le nombre de pieces[0] dans le tube 0 (2€)
  • tubes[1] contiendra le nombre de pieces[1] dans le tube 1 (1€)
  • ...
  • Ajouter ces variables dans la section "Déclaration des variables"

    
    
    		
    		

    Quelles valeurs retourneront :

    >>>pieces[5]
    
    >>>pieces[2]
    

    On suppose que la liste tubes=[5,2,0,2,0,0,0,0]. Que retournera le code suivant ?

    >>>tubes[0]*pieces[0]+tubes[1]*pieces[1]+tubes[2]*pieces[2]+tubes[3]*pieces[3]
    

    3.3 les boucles

    Boucle while

    
    
    		
    			
    Boucle for

    
    

    3.4. Les fonctions

    Elle permettent d'exécuter un script python lorsqu'on appuie sur un bouton par exemple

    Une fonction peut prendre un paramètre ou plusieurs paramètres en entrée et peut retourner un résultat

    
    
    			  
    			  
    			

    Quel va être le rôle de cette fonction dans le compteur de pièces de monnaie ?

    Adaptez les variables et renommez la fonction Ma_fonction pour qu'elle soit en rapport avec son rôle

    Création de la fonction Affiche_total

    Cette fonction doit permettre d'afficher la somme totale en Euros des pièces détectées. Elle se base sur les listes pièces et tubes. Elle prend en paramètres pieces et tubes, et retourne un flottant : le total de la somme

    
    

    Vérifier que si tubes=[1,5,2,4,2,8,3,5] la fonction retourne 9.51

    La fonction round(nombre,precision) permet d'arrondir la somme, où nombre est une variable et précision un entier correspondant au nombre de chiffres après la virgule.

    Implémentation de la nouvelle interface Homme Machine

    Complétez les lignes 11, 12, 24 du programme ainsi que la fonction Raz qui permet de "vider les tubes"

    Enregistrer les images des pièces de monnaie dans un dossier personnel :

    Ouvrir Edupython et collez le script de l'IHM

    Enregistrer ce fichier dans le même dossier personnel où se trouvent les images

    Tester votre programme et corriger les erreurs si nécessaire, puis coller votre programme fonctionnele ci-dessus

    Fond : Texte : Tables :