doc - Hatier

publicité
THÉMATIQUE
18
L’informatique
et la programmation
Mettre en œuvre
un programme
Support 1 MIT App Inventor
La création d’une application pour smartphone
Une application mobile est un
logiciel développé spécifiquement
pour un appareil électronique
mobile : un téléphone portable,
un smartphone, un baladeur
numérique, une tablette tactile.
Les applications sont pour la
plupart distribuées par des
plateformes de téléchargement
comme le Play Store (Google)
ou l’App Store (Apple). Mais il
est possible de développer soimême une application, grâce à
l’outil graphique appelé « MIT App
Inventor ».
Applications sous Androïd
?
© Éditions Foucher
Comment créer simplement
une application pour smartphone Androïd
152
9782216132294.indb 152
17/03/16 15:25
Connaître et être capable de…
u Analyser le comportement attendu d’un système réel et
décomposer le problème posé en sous-problèmes afin de
structurer un programme de commande S 1 S 2
u Écrire, mettre au point (tester, corriger) et exécuter un programme
S2 S3
u Écrire un programme dans lequel des actions sont déclenchées par
des événements extérieurs S 3
Domaines 1 et 4 du socle commun
Support 2 Langage Python
La programmation avec Python
Le langage Python est un langage de
programmation objet. Il est placé sous une
licence libre et utilise une syntaxe simple. Il a
en effet été conçu pour être un langage lisible,
visuellement épuré, contrairement au langage C
ou Pascal. Ce qui le rend facile à apprendre,
à lire, à comprendre et à écrire. De plus, il est
compatible avec de multiples plateformes,
de Windows à Linux, sans modification.
Comment s’initier au langage Python
?
Support 3 Raspberry Pi 2 type B
Projet
Un projet sous Raspberry Pi 2 B
© Éditions Foucher
Le Raspberry Pi 2 B est un
ordinateur monocarte de la taille
d’une carte de crédit, qui peut
se connecter à un téléviseur
et à un clavier. Il démarre
directement depuis la carte
micro-SD et fonctionne sous OS
Linux, mais il est aussi compatible
avec Windows 10. Il peut
aisément piloter des actionneurs
grâce au langage Python.
Comment piloter
des actionneurs avec un Raspberry Pi 2 B
?
153
9782216132294.indb 153
17/03/16 15:25
THÉMATIQUE
L’informatique et la programmation
Support 1 MIT App Inventor
doc 1
L’App Inventor
App Inventor pour Androïd est un site interactif développé à l’origine par Google. Il simplifie la création d’applications sous Androïd et les rend accessibles, même pour les novices et ceux qui ne sont
pas familiers avec les langages de programmation. Il est possible de créer de multiples applications
pouvant même piloter des objets réels. Ainsi, des blocs préprogrammés pour les lego Mindstorms
existent et il est possible de piloter une carte type Arduino.
doc 2
L’interface « Designer » de l’App Inventor 2
L’interface « Designer » est découpée en quatre volets.
Le premier, appelé « Palette », permet de sélectionner les
composants de l’interface utilisateur. Le concepteur dispose de
boutons, de cases à cocher, de zone image, de zone de texte, etc.
Le deuxième volet, appelé « Interface », présente l’écran du
smartphone tel qu’il sera une fois l’application lancée. Il est possible de
masquer des composants pour ne les faire apparaître que plus tard.
Le troisième volet est appelé « Composants ». C’est une colonne
dans laquelle s’affichent tous les éléments que le concepteur a insérés sur l’interface. Ce volet
permet de sélectionner plus facilement les composants pour les paramétrer.
Enfin, le quatrième volet est appelé « Propriétés ». Ce volet change en fonction du composant
sélectionné et permet de régler les dimensions de celui-ci, sa couleur et ses caractéristiques propres.
L’interface « Blocs de programmation »
L’interface « Blocs » est
découpée en deux volets.
Pour y accéder, il suffit de
créer des éléments dans
l’interface « Designer »
puis de cliquer sur le lien
« Blocs » situé en haut à
droite de l’écran.
La partie gauche de
l’écran, appelée « Blocs »
également, permet de
sélectionner le type d’action à réaliser comme les blocs
« Contrôle » (si… alors…), des blocs « Logiques » (vrai, faux),
des blocs « Maths » (… + … , …=… , etc.), des blocs « Texte »
(comparer textes, majuscules, contient texte), etc.
Dans la partie droite, c’est la programmation qui se fait par
assemblage des blocs disponibles. Il suffit de glisser les blocs
et de les assembler en fonction des actions attendues.
Ainsi, réaliser une application Androïd devient aussi facile
que de construire une structure en lego. Très simple
d’apprentissage, ce système de blocs préprogrammés est
de plus en plus utilisé dans l’initiation à la programmation.
1 Quel avantage présente
le logiciel du MIT
pour des développeurs
débutants (doc 1) ?
2 Comment rajouter
un bouton « Indice » sur
l’écran du smartphone
(doc 2) ?
3 Reformulez en quelques
phrases les actions qui
seront réalisées lors du clic
sur le composant « Bouton_
Vérifier » (doc 3).
4 Comment programmer le
bouton « Indice » que vous
venez de rajouter (doc 3) ?
5 Testez votre solution sur le
site du MIT App Inventor 2.
© Éditions Foucher
doc 3
154
9782216132294.indb 154
17/03/16 15:25
18
Mettre en œuvre un programme
Support 2 Langage Python
doc 1
La programmation avec Python
Python est un langage de programmation inventé par Guido van Rossum. La première version de
Python est sortie en 1991. Python est un langage de programmation interprété, c’est-à-dire qu’il
n’est pas nécessaire de le compiler avant de l’exécuter. En effet, avec les langages précédents, il
fallait écrire le programme puis le compiler afin de générer un nouveau fichier exécutable mais non
modifiable. Au contraire, le langage Python est directement modifiable et plus facile à partager.
doc 2
Des exemples d’applications réalisées sous Python
doc 3
Les bibliothèques
De nombreuses fonctions existent
dans le langage de base mais il est
très facile d’étendre les fonctionnalités existantes. Il existe ce que
l’on appelle des « bibliothèques »
qui aident le développeur à travailler sur des projets particuliers, par
exemple la création d’une boîte
de dialogue à partir d’un modèle
existant. Plusieurs bibliothèques
peuvent être installées pour développer des interfaces graphiques
en Python ou encore pour piloter
des cartes comme le Rapsberry Pi.
© Éditions Foucher
doc 5
Le résultat après l’exécution du programme
doc 4
Un programme permettant
de créer une machine à calculer
1 Expliquez avec vos propres termes « un langage
de programmation interprété » (doc 1).
2 Cherchez d’autres applications réalisées avec
Python.
3 À quoi servent les bibliothèques ? Quel est
leur intérêt (doc 3) ?
4 Quelle bibliothèque est utilisée pour afficher
une fenêtre (doc 4) ?
5 Listez les variables utilisées dans le programme
et précisez leur fonction et leur type (doc 4).
155
9782216132294.indb 155
17/03/16 15:25
THÉMATIQUE
L’informatique et la programmation
Projet
Support 3 Raspberry Pi 2
Étude préalable
doc 1
doc 2
Le Raspberry Pi 2
La nomenclature du Raspberry Pi 2
7
6
Le Raspberry Pi 2 est une petite carte de
type mini PC, à moins de 40 €. Le but initial
du projet était de permettre aux étudiants
de s’équiper du même matériel qu’en
classe. Après plusieurs années de développement et plusieurs versions, le projet
a bien évolué. Ces cartes disposent désormais de multiples entrées-sorties pour
piloter des objets réels.
doc 3
La carte Raspberry et
ses connexions possibles
1
5
4
2
3
doc 4
La carte et ses ports d’entrées-sorties
Les numéros renvoient au doc 2.
1 Connecteur USB pour brancher un clavier, une
souris, un disque dur externe, etc.
2 Connecteur Ethernet pour relier la carte au
réseau et à Internet.
3 Connecteur audio pour brancher un casque ou
une enceinte.
4 Connecteur HDMI pour brancher un moniteur
ou un écran tactile.
5 Prise d’alimentation type micro USB.
6 Connecteur carte mémoire SD contenant l’OS.
7 Connecteur GPIO pour piloter des actionneurs ou recevoir l’information de capteurs.
Les entrées et sorties numériques
La carte Raspberry Pi donne accès à des entrées et
sorties numériques appelées GPIO (General Purpose
Input & Output) et contrôlées par le processeur ARM.
Elles sont à usage multiple :
– en entrée numérique tout ou rien (détection d’un
interrupteur) ;
– en sortie numérique tout ou rien (activation d’un
relais) ;
– en sortie numérique PWM (contrôle puissance
moyenne) ;
– en protocole I2C ou SPI (échange entre une ou plusieurs puces) ;
– en protocole UART (échange avec une seule puce
ou un PC).
1 Quelles différences relevezvous entre le Raspberry
Pi 2 et un ordinateur
« classique » (docs 1, 2 et 3)?
2 De combien d’entrées et sorties
dispose un Raspberry (doc 4) ?
3 Que signifie GPIO (doc 5) ?
4 Quel est l’intérêt des broches à
usage multiple (doc 5) ?
5 Cherchez des applications,
via Internet, mettant en œuvre
ce type de carte.
© Éditions Foucher
doc 5
156
9782216132294.indb 156
17/03/16 15:25
18
Mettre en œuvre un programme
Application
doc 6
doc 7
La programmation GPIO de la led
connectée sur le port 2 avec Python
Un montage
Le montage
d’une led sur
le port 2 et
d’un boutonpoussoir sur
le port 3 d’un
Raspberry Pi
doc 8
L’utilisation du langage Python
Le programme écrit en Python permet d’affecter le port 2 en sortie et de faire clignoter la led à
la fréquence d’une seconde. Les commentaires donnés par le développeur permettent de comprendre les différentes étapes exécutées par la carte. Le passage par le langage Python offre
davantage d’options dans l’utilisation et le paramétrage de la carte. Il est également possible de
créer des scripts différents et un script principal qui les appelle, simplifiant ainsi les modifications.
doc 9
Une programmation
GPIO avec Scratch
doc 10
L’utilisation du logiciel Scratch
Ici, le programme, développé avec le logiciel Scratch,
permet de lire l’état du bouton-poussoir connecté sur
le port 3. S’il est actif, le programme allume la led sur le
port 2 durant une seconde, puis le programme recommence indéfiniment.
6 Comparez les deux programmes (docs 7
et 9). Quelles différences observeriez-vous
si les deux programmes étaient exécutés ?
7 Quel langage vous paraît le plus simple à
utiliser pour démarrer ?
© Éditions Foucher
8 Selon vous, quel avantage présente
l’utilisation du langage Python dans
un projet (docs 7 et 8) ?
9 Programmez un robot avec un
Raspberry Pi en utilisant le langage
de programmation avec lequel vous
êtes le plus à l’aise : soit Scratch, soit
directement en langage Python.
10 Travail en équipe : vous souhaitez
automatiser votre boîte aux lettres afin
qu’elle vous adresse un signal lorsqu’une
lettre ou un colis y a été déposé.
L’information sera affichée par une led
qui s’allumera si la boîte aux lettres a été
ouverte.
Proposez un projet complet illustrant
vos solutions à l’aide d’un Raspberry et
de capteurs. Le choix des capteurs est libre
mais devra être justifié. Votre dossier doit
contenir une présentation des solutions
choisies, ainsi que la programmation
prévue de la boîte aux lettres domotisée.
157
9782216132294.indb 157
17/03/16 15:25
Téléchargement