Difference between revisions of "UE PEIP L1"

From air
Jump to navigation Jump to search
 
(16 intermediate revisions by 2 users not shown)
Line 32: Line 32:
 
'''1) PWM:'''
 
'''1) PWM:'''
   
Reprendre '''Fichiers/exemples/fade''' et remplacer l'utilisation du PWM matériel par un PWM logiciel (comme vu en TD)
+
Reprendre '''Fichiers/Exemples/fade''' et remplacer l'utilisation du PWM matériel par un PWM logiciel (comme vu en TD)
 
# 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
 
# 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
   
Line 43: Line 43:
 
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'''.
 
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''': Pour les fils du bouton poussoir à utiliser sont le rouge et le jaune.
+
'''Note''': Les fils du bouton poussoir à utiliser sont le rouge et le jaune.
  +
 
'''Indication: la 1er étape est de trouver un schéma'''
 
'''Indication: la 1er étape est de trouver un schéma'''
   
Line 52: Line 53:
 
'''4) Communication série:'''
 
'''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 Projects/SensorGrapher/graph). Visualisez les en utilisant le moniteur série de l'environnement Arduino. ''
+
'''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. ''
 
# '''Indications''' regarder les exemples dans '''Fichiers/exemples/Basic/''' ainsi que la documentation de référence relative aux fonctions de la bibliothèque '''Serial'''
 
# '''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'''
 
'''5) Servomoteur'''
   
 
Dans [[Travaux Pratiques Arduino]] réaliser le '''1.4.6 Servomoteur'''
 
Dans [[Travaux Pratiques Arduino]] réaliser le '''1.4.6 Servomoteur'''
  +
# '''Modification à effectuer:''' Utiliser la ligne serie via le moniteur série pour controler la position du servomoteur.
   
  +
'''Indication'''
   
  +
# Maitriser la fonction Serial.read (lire la documentation de référence et le programme exemple associé)
'''6) Utilisation du buzer'''
 
  +
# 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:'''
 
'''7) Ecran LCD:'''
   
 
- Utilisation de l'afficheur LCD '''4.7 Écran LCD Philips PCD8544 (Nokia 3310 & 5110)''' [[Travaux Pratiques Arduino]]
 
- Utilisation de l'afficheur LCD '''4.7 Écran LCD Philips PCD8544 (Nokia 3310 & 5110)''' [[Travaux Pratiques Arduino]]
  +
[http://playground.arduino.cc/Code/PCD8544 exemple de programme arduino]
   
 
'''8) Test et analyse de l'exemple Debounce (Anti-rebond)'''
 
'''8) Test et analyse de l'exemple Debounce (Anti-rebond)'''
Line 72: Line 83:
   
 
'''9) Utilisation de attachInterrupt'''
 
'''9) Utilisation de attachInterrupt'''
Voir la document de reference
+
Voir la [http://arduino.cc/en/Reference/AttachInterrupt document de reference].
   
  +
'''Note: <span style="color:red"> attention l'entrée d'interruption 0 correspond à la patte 3 (Leonardo) et non la 2 (Uno).</span>'''
'''10) Mesure de temps entre 2 fronts montants'''
 
  +
# generation de signal
 
 
'''10) Mesure de temps entre 2 fronts montants d'un signal générés'''
# prise de mesure de temps (millis()) sur interruption
 
  +
# generation d'un signal période (comme dans l'exemple du clignotement de LED - blink)
  +
# 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==
 
==Projet==
Line 83: Line 96:
   
 
Le but du projet est de concevoir un système permettant l'affichage de la fréquence cardiaque.
 
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

Latest revision as of 16:41, 29 April 2016

  • 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

Travaux Pratiques

- Pour le compte rendu - chaque groupe doit montrer le bon fonctionnemet de leur montage.

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