UE PEIP L1


 * UE/Module: PEIP Polytech'Grenoble


 * Enseignants 3I : David Eon, Maxime Besacier, Florian Thonnat, Alain Sylvestre, Patricia Ladret
 * Enseignants RICM : Olivier Richard, Jean-Francois Monin, Nicolas Palix
 * Enseignants TIS : Julie Fontecave
 * Responsable PEIP P: Christophe Durand
 * Secrétariat: Christine Lepretre (PEIP-P), Peggy Forgeron (PEIP-A1)

Thème 2013-2014 : Le Physical Computing

Introduction
L'UE Physical computing PEIP se déroule au semestre 2. Elle présente quelques aspects des compétences et des connaissances qui seront acquises par les élèves ingénieurs des filières en RICM et également en 3I.

Il consiste dans la programmation d'applications informatiques qui préfigurent le futur Internet des Objets.

La plateforme utilisée pour le développement est la carte Arduino.

Cours

 * [[File:Phy-comp.pdf]]

Travaux Pratiques
- Pour le compte rendu - chaque groupe doit montrer le bon fonctionnemet de leur montage.
 * Travaux Pratiques Arduino exploration des 1.4 Premières Manipulations

 0) Clignotement de LED 

Exécuter le programme /Fichiers/Exemples/Basics/Blink. Modifier une valeur les valeurs de délai et constater les changements.

1) PWM:

Reprendre Fichiers/Exemples/fade et remplacer l'utilisation du PWM matériel par un PWM logiciel (comme vu en TD)
 * 1) une première étape est de tester seule une des solutions de PWM locigiel vue en TD et aussi de l'intégrer dans fade

 Attention aux divisions entieres: (10/100)* 10 = 0 et (10*10)/100 = 1 Il est aussi possible de remplacer les int par float dans les calculs de temps

 2) Bouton poussoir

Réaliser le schéma d'un bouton poussoir pilotant l'allumage d'un LED. Voir le programme et son commentaire suivant Fichiers/Exemple/Digital/Button.

Note: Les fils du bouton poussoir à utiliser sont le rouge et le jaune.

Indication: la 1er étape est de trouver un schéma

3) Potentiomètre:

Modification 1.4.4 Potentiomètre: Modifiez ce sketch pour changer la fréquence de clignotement de la LED branchée sur le port 13

4) Communication série:

1.4.5 Communication série: ''Complétez le sketch pour écrire sur la sortie série les valeurs lues sur l'entrée analogique (voir le programme Arduino Fichier/Exemples/Communication/Graph). Visualisez les en utilisant le moniteur série de l'environnement Arduino. ''
 * 1) Indications regarder les exemples dans Fichiers/exemples/Basic/ ainsi que la documentation de référence relative aux fonctions de la bibliothèque Serial

Note: Le moniteur série est accessible depuis le menu Outils

5) Servomoteur

Dans Travaux Pratiques Arduino réaliser le 1.4.6 Servomoteur
 * 1) Modification à effectuer: Utiliser la ligne serie via le moniteur série pour controler la position du servomoteur.

Indication


 * 1) Maitriser la fonction Serial.read (lire la documentation de référence et le programme exemple associé)
 * 2) La difficulé réside dans la conversion

6) Utilisation du buzzer

Voir 1.4.7 Musique Maestro ! dans Travaux Pratiques Arduino ou les exemples dans Fichier/Digital/ et par exemple toneMelody.

7) Ecran LCD:

- Utilisation de l'afficheur LCD 4.7 Écran LCD Philips PCD8544 (Nokia 3310 & 5110) Travaux Pratiques Arduino exemple de programme arduino

8) Test et analyse de l'exemple Debounce (Anti-rebond)

/Fichiers/Exemples/02 Digital/Debouce

9) Utilisation de attachInterrupt Voir la document de reference.

'''Note: attention l'entrée d'interruption 0 correspond à la patte 3 (Leonardo) et non la 2 (Uno). '''

10) Mesure de temps entre 2 fronts montants d'un signal générés
 * 1) generation d'un signal période (comme dans l'exemple du clignotement de LED - blink)
 * 2) modifier le programme précédent pour effectuer la prise de mesure de temps (millis) sur interruption (on reliera la sortie du signal précédent sur l'entrée de déclenchement pour interruption extérieure sélectionnée)

Projet
Mesure optique de grandeurs physiologiques notamment par oxymétrie colorimétrique.

Le but du projet est de concevoir un système permettant l'affichage de la fréquence cardiaque.

https://www.arduino.cc/en/Tutorial/Genuino101CurieBLEHeartRateMonitor