Outils pour utilisateurs

Outils du site


sita_capteurs

Ceci est une ancienne révision du document !


Page ressource des SITA Capteurs

SITA Capteurs 1

Objectifs

Acquérir l'intuition nécéssaire pour comprendre et manipuler des capteurs. Nous abordons les themes suivants :

  • Capteurs
  • Signaux
  • Arduino
  • Programmation / Code

Théorie

Une partie théorique pour exposer les concepts

Capteurs / Sensor

  • Grandeurs physiques
  • Mesure
  • Donnée
  • Outils : Instrument de mesure (ex: thermomètre, multimetre)
  • Définition : Un assemblage/dispositif/systeme qui convertit une grandeur physique en une donnée exploitable
  • Caracteristiques: Etendue de mesure, Résolution, Sensibilité, Précision, Rapidité (temps de réponse)

Signaux

  • Exemples : signal lumineux: 1 voyant rouge, signal sonore: 1 bip, 1 signal électrique, 1 image
  • Définition : Un signal est une grandeur variable dans le temps et/ou l'espace.
  • Numérique (Digital) : Réprésente un nombre fini de valeurs. On parle de valeurs discontinus, discrètes. Par exemple les nombre de 0 à 255 soit 1 Octet.
  • Logique : Cas particulier de Numérique avec un alphabet contenant seulement 2 symboles. Vrai/Faux Oui/Non 1/0
  • Analogique : Peut prendre une infinité de valeur. Qui varie de façon continu.
  • Emétteur / Récépteur ⇔ Sortie / Entrée

Arduino

  • Des Entrée / Sortie (Input / Output ou IO) : 2 types d'entrées : Numerique et Analogique. 2 types de sortie : Numerique et Analogique
  • Attention toujours Sortie ⇔ Entrée
  • Port/Patte/Pin : Une seule patte du composant.
  • CAN : un composant qui permet de convertir un signal analogique en signal numérique. résolution 10 bits ⇒ 1024 valeurs possibles (de 0 à 1023); digitalRead();
  • PWM : Sortie Analogique limité. résolution 8 bits ⇒ 256 valeurs possibles (de 0 à 255) ; analogWrite();
  • UI: Console / écran / Led
  • setup() & loop()

Programmation / Code

  • Instruction : Un ordre
  • Mots clés (keywords) : if, then, else ; for ; const ; int ; void ; …
  • Variable : mémoire nommé ; affectation avec le symbole =
  • Fonction : pinMode(), digitalWrite(), delay(), analogWrite(), …
  • Condition : test avec le symbole ==
  • Boucle
  • Commentaires

Ateliers / Exercices

  • Blink croquis (Sketchbook)
  • PWM: Fade croquis
  • Potar 1: croquis AnalogInOutSerial
  • Potar 2: croquis AnalogInput (sortie sur une LED PWM)
  • LDR 1: capteur → sortie logique LED avec seuil
  • LDR 2: capteur → sortie console
  • LDR 3: potar + LDR → sortie console
  • DHT11 ??:

Les code arduino des exercices sont disponibles ici : https://github.com/mxbossard/sita/tree/master/sita_capteurs_1/croquis_arduino

Ce croquis fait clignoter la LED embarqué sur l'Arduino. Il utilise un port de sortie spécial de l'Arduino qui dispose d'une LED interne cablé sur ce port (le port digital 13 aussi appelé D13).

Objectif de l'exercice :

  • Premier code Arduino et maniment des fonctions setup(), loop()
  • Première déclaration de variable (une constante)
  • Première déclaration d'entré/sortie d'un port
  • Première utilisation d'un port de sortie logique (ou numérique ou digital) avec la fonction digitalWrite()
  • Première utilisation d'une temporisation avec la fonction delay()


Si la LED clignote déjà alors vous pouvez :

  1. modifier le code avec pour objectif que la LED ne clignote plus
  2. téleverser ce code
  3. vérifier que la LED ne clignote plus
  4. modifier le code pour que la LED clignote de nouveau
  5. téleverser ce code
  6. vérifier que la LED clignote


Découvrerte :

  1. faites varier la fréquence de clignotement de la LED
  2. imaginer des schéma de clignotement différent (exemple: alterner des clignotements rapides et lents pour signaler du code morse)

02_Fade

Ce croquis fait varier la luminosité d'une LED. Il utilise un port de sortie analogique de type PWM. Il faut utiliser la “breadboard” pour cabler une LED sur un port de sortie compatible PWM.

Objectif de l'exercice :

  • Premier montage des composants sur une “breadboard”
  • Première utilisation de la sortie analogique “PWM” avec la fonction analogWrite()


Découverte :

  1. Changer l'amplitude de la plage des valeurs de sortie possible pour diminuer l'amplitude de changement de luminosité

03_AnalogInOutSerial

Ce croquis lit la valeur du signal choisi par le potentiomètre et affiche cette valeur dans la console série de l'Arduino.

Objectif de l'exercice :

  • Première utilisation de la lecture d'un signal analogique avec analogRead()
  • Première utilisation du port série de l'Arduino
  • Première utilisation de la fonction map() pour adapter une plage d'entrée à une plage de sortie différente


Découverte :

  1. Modifier le montage en ajoutant une LDR en respectant le schéma 03_B. Constater que l'on peut faire le lien entre la luminosité capté par la LDR et la valeur indiqué dans la console. Notez les valeurs extremes que vous constatez dans la console lorsque la luminosité est maximale et minimale
  2. Faire varier le réglage du potentiometre et constater que cela change les valeurs extremes que vous avez noté précédement.

04_AnalogInput

Ce croquis lit la valeur du signal choisi par le potentiomètre et utilise cette valeur pour faire varier la vitesse de clignotement d'une LED.

Objectif de l'exercice :

  • Controler un signal de sortie avec un signal d'entrée


Découverte :

  1. Modifier le code pour ajouter des indications sur la valeur d'entrée dans la console Arduino, comme dans l'exercice 03
  2. Modifier le code pour faire varier la luminosité de la LED en fonction du réglage du potentiometre
  3. Modifier le montage en ajoutant une LDR en respectant le schéma 04_B
  4. Modifier le code pour alumer la LED uniquement lorsque la luminosité est faible
sita_capteurs.1556347914.txt.gz · Dernière modification : 2019/04/27 06:51 de bigMax