BO-BACH-1A T_INFO1-Thema Informatique
Topic outline
-
-
Ce THEMA informatique propose un apprentissage de l'informatique par problèmes sur environ 58h réparties tout au long de l'année en séances de 3 heures.
Deux objectifs sont visés :
- L'apprentissage de l'utilisation et la programmation des cartes ARDUINO en utilisant le langage C++
- l'apprentissage du langage Python en utilisant des IDE conventionnelles ou le mode Jupyter notebbok qui permet de manipuler des cahiers IPython.
Notions de base algorithmiques et compréhension de l'arborescence disque d'un ordinateur.
Apprentissage par problèmes et projets, en classe entière.
QCM, tests 'questions courtes / réponses courtes' et exam sur PC.
-
-
Documents vus en TD ou à voir chez vous ...
-
À l'époque, considéré comme une merveille technologique... que seront donc nos merveilles d'aujourd'hui dans 30 ans ?
-
-
Le monde des humains et le monde des ordinateurs : de la nécessité des interfaces de conversion analogique<->numérique...
-
Ce document donnen des notions fondamentales sur l'architecture matérielle des ordinateurs.
-
-
Vous allez utiliser votre ordinateur portable pour les séances THEMA-Info et les autres activités du Bachelor...
-
Présentation du kit ARDUINO
Le kit ARDUINO comprend tous les composants permettant de réaliser des expériences de base avec un micro-contrôleur de la famille ARDUINO :
- allumage/extinction de LEDs avec les entrée/sorties numériques,
- acquisition de tensions analogiques (capteur de température, photo-résistances, potentiomètre...),
- sortie PMW (Pulse Width Modulation) pour piloter la luminosité d'une LED, un servomoteur....
Le site officiel d'ARDUINO est ici
Objectifs de l'atelier ARDUINO - 01
- Savoir utiliser l'ARDUINO et sa plaque d'expérimentation (breadboard) pour réaliser des montages utilisant des capteurs et des actionneurs.
- Vous familiariser avec :
- le concept des micro-contrôleur (ARDUINO UNO dans notre cas),
- la programmation C/C++
- Réaliser le travail de câblage et de programmation demandé dans l'Atelier ARDUINO-01 / 2e partie qui constituera votre premier jalon.
Ressources à utiliser impérativement
Pour réaliser les objectifs, vous disposez des ressources suivantes :- Télécharger l'IDE ARDUINO (IDE : Integrated Development Environement, environnement de développement intégré en français) sur la page https://www.arduino.cc/en/Main/Software
-
Lire le tutoriel L'univers Arduino disponible sur le site developpez.com (en ligne HTML ou à télécharger PDF).
Ce document d'initiation au micro-contrôleur ARDUINO et à la programmation est à lire en en premier pour une introduction sur les aspects matériel ou logiciels.
-
Le "livre de projets ARDUINO" du starter-kit :
-
- montre comment monter le micro-contrôleur avec sa plaque d'expérimentation,
- explique le téléchargement, l'installation et l'utilisation de l'environnement de développement,
- donne des informations sur l'utilisation des composants électroniques (LED, bouton poussoir, résistances...),
- décrit différentes expériences à réaliser (schéma électrique, câblage, programmation...).
Autres ressources
-
Description
Ce jalon doit vous permettre de vérifier que vous êtes capables :
- de comprendre le schéma électronique du pilotage d'un servomoteur par ARDUINO,
- de comprendre l'algorithme (vu en séance) décrivant le pilotage d'un servomoteur avec de 2 boutons poussoir,
- de réaliser le programme C/C++ correspondant en utilisant l'environnement de développement ARDUINO.
Fonctionnement attendu
- On démarre avec le servomoteur à la position 90°.
- Un appui sur le bouton poussoir "+" permet de faire tourner le servomoteur en augmentant l'angle et d'allumer la LED "+" .
Tant qu'on laisse le bouton appuyé sur le bouton poussoir "+", la LED "+" reste allumée, et l'angle augmente, jusq'à 180 degrés au maximum. Lorsqu'on relâche le bouton poussoir "+", la LED "+" s'éteint et le servomoteur arrête de tourner. - Un appui sur le bouton poussoir "-" permet de faire tourner le servomoteur en diminuant l'angle et d'allumer la LED "-" .
Tant qu'on laisse le bouton appuyé sur le bouton poussoir "-", la LED "-" reste allumée et l'angle diminue, jusqu'à 0 degrés au minimum. Lorsqu'on relâche le bouton poussoir "-", la LED "-" s'éteint et le servomoteur arrête de tourner. - Si on appuie sur les 2 boutons en même temps, le servomoteur prend la position 90 degrés et les 2 LEDs s'allument tant que les 2 boutons poussires sont appuyés.
Schéma électrique et maquettage ARDUINO
(vus en séance THEMA-Info)
L'algorithme et le programme C++ sont vus en séance THEMA-Info. -
Objectifs :
Comprendre comment concevoir et proghrammer un automatte à états finis.
Cahier des charges :
On dispose d'un automate comportant un bouton poussoir et deux LEDs (rouge et verte) pilotées par l'automate.
Le fonctionnement attendu est le suivant:
- à l'état initial, l'automate est à l'état WAIT : la LED rouge est éteinte et la LED verte est allumée.
- l'appui sur le bouton poussoir fait passer l'automate dans l'état START : la LED rouge s'éteint, la LED verte se met à clignoter,
- un nouvel appui sur le bouton poussoir fait passer l'automate de l'état START à l'état STOP : la LED rouge s'allume, la LED verte s'éteint,
- les appuis successifs font passer successivement de l'état START et l'état STOP, et de l'état STOP et l'état START.
Diagramme des états
Le diagramme ci-dessous montre les changements d'états vis à vis de l'événement BPA (bouton poussoir a été appuyé puis relâché) :
Tableau des états de l'automate
Le tableau ci-dessous montre l'état des LEDs en fonction des états de de l'automate :
état LED R LED V WAIT OFF ON START OFF BLINK STOP ON OFF Montage électrique
Le bouton poussoir branché sur l'entrée 3 de l'ARDUINO est câblé de façon à donner un niveau LOW au repos, et un niveau HIGH quand on appui dessus :
Algorithme
Écrire l'algorithme textuel faisant apparaître :
0/ Les variables globales, les constantes globales et la configuration des E/S,.
1/ La gestion des périphériques qui fournissent une entrée susceptible de déclencher un événement de l'automate.
2/ Le traitement des événements entrainnant une transition d'état.
3/ Le traitement des états.Programmation
En déduire le programme ARDUINO correspondant.
Mettre au point le programme.-
Le document ci-dessous est un exemple de spécification d'un automate dans le cas simple vu en séance ensemble avec 1 bouton-poussoir, 2 LEDs et les événements "appui court" et "appui long".
C'est le type de document que vous devrez produire pour les automates de votre TP de THEMA - Méca.
-
-