0% ont trouvé ce document utile (0 vote)
10 vues2 pages

Devoir Surveillé en Conception IoT 2024

DS - conception des objects connectés

Transféré par

somebooks
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues2 pages

Devoir Surveillé en Conception IoT 2024

DS - conception des objects connectés

Transféré par

somebooks
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

République Tunisienne

Ministère de l’Enseignement Supérieur Devoir surveillé


et de la Recherche Scientifique 4) Soit le montage suivant :

LICENCE EN COMPUTER ENGINEERING – IOT3


DEVOIR SURVEILLÉ

Conception des objets


Module Date 08/11/2024
connectés
Enseignant C.A. ABID Durée 1h00
Nbre de
Documents Non autorisés 4
Pages

Exercice 1.
Comment la broche GPIO21 doit être définie pour pouvoir détecter que le bouton
Pour chacune des questions suivantes, donnez la ou les bonne(s) réponse(s) : poussoir est appuyé sachant que le deuxième pin du bouton est connecté à 3,3V:
a) Une entrée avec une résistance PULL-UP
1) Le démarrage de la carte rasberry Pi 3 est initiée par quel composant ? b) Une entrée avec une résistance PULL-DOWN
a) CPU c) Une sortie avec une résistance PULL-UP
b) GPU d) Une sortie avec une résistance PULL-DOWN
c) BIOS
d) DSP 5) Initialement, un processus possède :
e) UEFI a) 0 thread
b) Un seul fil d’exécution
2) Quel est le SoC équipant une carte Raspberry Pi 3 ? c) Un seul thread
a) SoC Broadcom intégrant un processeur ARM d) Deux threads
b) SoC Broadcom intégrant un GPU VideoCore IV e) Deux fils d’exécution
c) SoC ARM intégrant un microcontrôleur Broadcom f) 0 fil d’exécution
d) SoC ARM intégrant un processeur Broadcom
Exercice 2.
3) On dispose de deux fonctions routine1() et routine2() qui vont être exécutées dans
deux threads distincts et ayant les variables partagées x. Nous souhaitons réaliser un compteur de 0 à 9 a l’aide d’un afficheur 7 segments. Un afficheur 7-
int x=0; segments permet d’afficher un chiffre en allumant ou en éteignant des segments (LEDs), au
void routine1() { nombre de sept. Quand les 7 segments sont allumés, on obtient le chiffre 8.
x=x+1;
}
void routine2() {
x=x-1;
}

Quelles sont les valeurs de x et y pouvant être obtenues après l’exécution simultanée de
deux threads ?

a) x=0
b) x=1
c) x=-1

FST – 2022/2023 Page 1 (4) FST – 2024/2025 Page 2 (4)


Devoir surveillé Devoir surveillé
On suppose aussi qu’on dispose d’un bouton poussoir connecté à la Raspberry Pi. Chaque appuie
sur ce bouton incrémentera la valeur afficher sur l’afficheur 7-segments de 0 à 9. Après 9, ofait le
retour cyclique en affichant la valeur 0.

On donne les variables/constantes globales utilisées pour connecter les sorties de la Raspberry Pi
avec les pins A, B, C et D du décodeur, et le pin pour connecter le bouton poussoir.

#include <iostream>
#include <unistd.h>
#include <pigpio.h>

constexpr uint8_t O_A = 17; // BCM17


constexpr uint8_t O_B = 27; BCM27
constexpr uint8_t O_C = 22; BCM22
constexpr uint8_t O_D = 23; BCM23
constexpr uint8_t I_BUTTON = 16; BCM16

1) Écrire la fonction void initialiser() qui permet d’initialiser la bibliothèque pigpio et


configurer les entrées sorties à utiliser.
Pour simplifier la commande d’un afficheur 7-segments, nous utilisons un décodeur 74HC4511
permettant à l’aide de 4 pins d’en commander 8 à partir de la table de vérité ci-dessous. 2) Écrire la fonction void afficheChiffre(uint8_t chiffre) qui commande le
décodeur pour afficher sur l’afficheur 7-segments le chiffre passé en paramètre. En cas où, la
valeur passée en paramètre ne correspond pas à un chiffre, on doit afficher la valeur 0.

3) Écrire la définition de la fonction int main(int argc, char *argv[])qui utilise


les fonctions déjà définies pour réaliser un compteur modulo 10 : à chaque appuie sur le bouton
poussoir la valeur affichée sur l’afficheur est incrémentée de 1.

BON TRAVAIL

À partir des signaux envoyés sur les pins A,B,C et D du décodeur, il est possible d’activer les
sorties a, b, c, d, e, f, g correspondant aux pins d’entrées de l’afficheur 7 segments. Par exemple, si
D=0, C=0, B=0 et A=1, les sorties b et c du décodeur sont activées. Ainsi, les segments b et c de
l’afficheur 7-segments sont allumés. Le chiffre 1 est ainsi représenté.

FST – 2024/2025 Page 3 (4) FST – 2024/2025 Page 4 (4)

Vous aimerez peut-être aussi