sita_capteurs
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
sita_capteurs [2019/04/09 09:11] – créée bigMax | sita_capteurs [2020/12/01 17:43] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. serge | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Page ressource des SITA capteurs | + | ====== Page ressource des SITA Capteurs |
+ | ===== Introduction ===== | ||
+ | ==== Qu' | ||
+ | C'est un " | ||
- | ===== SITA Capteur | + | Il existe tout un florilège de capteurs, du très simple, par exemple une résistance électrique qui varie en fonction de la lumière, à des capteurs très élaborés comme un compteur de particules pour la pollution liée au diesel qui va utiliser un rayon laser et de l' |
+ | |||
+ | {{ media_12: | ||
+ | |||
+ | //Exemples de capteurs prêts à être greffé à une carte Arduino// | ||
+ | |||
+ | ==== Qu' | ||
+ | Donc si un capteur nous renvoie une valeur électrique et que l'on veut pouvoir traiter cette valeur avec du code informatique, | ||
+ | |||
+ | {{ media_03: | ||
+ | |||
+ | //Ici on voit en gros plan un fichier audio dans Audacity, les points sur la courbe correspondent aux endroits du signal qui sont convertis en 0 1.// | ||
+ | |||
+ | |||
+ | ==== Qu' | ||
+ | Un microcontrôleur est une carte électronique qui va permettre de faire l' | ||
+ | Un des plus utilisés aujourd' | ||
+ | |||
+ | {{ media_02: | ||
+ | |||
+ | Sortie en 2005 comme un modeste outil pour les étudiants de Massimo Banzi, son créateur, à l’Interaction Design Institute Ivrea (IDII) en Italir, Arduino a initié une révolution DIY dans l’électronique à l’échelle mondiale. | ||
+ | |||
+ | Grossièrement, | ||
+ | |||
+ | On peut aussi greffer à la carte arduino des " | ||
+ | |||
+ | {{ media_12: | ||
+ | |||
+ | //Une jolie pile de " | ||
+ | |||
+ | === Histoire de l' | ||
+ | {{ vimeo> | ||
+ | * http:// | ||
+ | |||
+ | ===== SITA Capteurs | ||
==== Objectifs ==== | ==== Objectifs ==== | ||
- | Comprendre | + | Acquérir l' |
+ | * Capteurs | ||
+ | * Signaux | ||
+ | * Arduino | ||
+ | * Programmation / Code | ||
+ | |||
+ | ==== Ateliers / Exercices ==== | ||
+ | |||
+ | === Rappels === | ||
+ | |||
+ | <WRAP center round important 80%> | ||
+ | {{ media_06: | ||
+ | |||
+ | Une LED a un sens : pour qu' | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info 80%> | ||
+ | Pour utiliser les ordinateurs portables de la labomedia, veuillez vous référer à [[ laptop_labomedia | la page dédiée à l' | ||
+ | </ | ||
+ | |||
+ | === 01_Blink === | ||
+ | <WRAP center round info 80%> | ||
+ | [[ https:// | ||
+ | </ | ||
+ | |||
+ | Ce croquis fait clignoter la LED embarqué sur l' | ||
+ | \\ \\ | ||
+ | __Objectif de l' | ||
+ | * Premier code Arduino et maniement des fonctions setup(), loop() | ||
+ | * Première déclaration de variable (une constante) | ||
+ | * Première déclaration d' | ||
+ | * 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 :__ | ||
+ | - Modifier le code avec pour objectif que la LED ne clignote plus | ||
+ | - Téléverser ce code | ||
+ | - Vérifier que la LED ne clignote plus | ||
+ | - Modifier le code pour que la LED clignote de nouveau | ||
+ | - Téléverser ce code | ||
+ | - Vérifier que la LED clignote | ||
+ | \\ | ||
+ | __Instructions découverte pour aller plus loin :__ | ||
+ | - Essayer de modifier le code puis de le téléverser pour faire varier la fréquence (vitesse) de clignotement de la LED | ||
+ | - Imaginez des schéma de clignotement différents (exemple: alterner des clignotements rapides et lents pour signaler du code morse), puis faites varier le code et constatez si le montage réagit comme vous l' | ||
+ | |||
+ | === 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 " | ||
+ | |||
+ | <WRAP center round info 80%> | ||
+ | [[ https:// | ||
+ | </ | ||
+ | |||
+ | \\ \\ | ||
+ | __Objectif de l' | ||
+ | * Premier montage des composants sur une " | ||
+ | * Première utilisation de la sortie | ||
+ | |||
+ | {{ media_06: | ||
+ | |||
+ | \\ | ||
+ | __Instructions découverte pour aller plus loin :__ | ||
+ | - Essayez de modifier le code puis de le téleverser pour changer l' | ||
+ | |||
+ | === 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' | ||
+ | |||
+ | <WRAP center round info 80%> | ||
+ | [[ https:// | ||
+ | </ | ||
+ | |||
+ | \\ \\ | ||
+ | __Objectif de l' | ||
+ | * Première utilisation de la lecture d'un signal analogique avec analogRead() | ||
+ | * Première utilisation du port série de l' | ||
+ | * Première utilisation de la fonction map() pour adapter une plage d' | ||
+ | |||
+ | {{ media_02: | ||
+ | |||
+ | \\ | ||
+ | __Instructions découverte pour aller plus loin :__ | ||
+ | - Modifiez le montage en ajoutant une LDR entre le port A0 et l' | ||
+ | - Faites varier le réglage du potentiomètre et constater que cela change les valeurs extrêmes que vous avez noté précédemment. | ||
+ | - Modifiez le code pour allumer la LED uniquement lorsque la luminosité est faible. | ||
+ | |||
+ | === 04_DHTTester === | ||
+ | Ce croquis permet de tester le capteur | ||
+ | |||
+ | <WRAP center round info 80%> | ||
+ | [[ https:// | ||
+ | </ | ||
+ | |||
+ | \\ \\ | ||
+ | __Objectif de l' | ||
+ | * Manipuler un capteur différent avec un signal numérique | ||
+ | * Manipuler une première librairie Arduino | ||
+ | |||
+ | {{ media_06: | ||
+ | |||
+ | \\ | ||
+ | __Instructions découverte pour aller plus loin :__ | ||
+ | - Essayez d' | ||
+ | |||
+ | ==== Théorie ==== | ||
+ | Une partie théorique pour exposer les concepts (mais pas trop) | ||
+ | === Capteurs / Sensor === | ||
+ | * Grandeurs physiques | ||
+ | * Mesure | ||
+ | * Donnée | ||
+ | * Outils : Instrument de mesure (ex: thermomètre, | ||
+ | * Définition : Un assemblage/ | ||
+ | * Caracteristiques: | ||
+ | |||
+ | === Signaux === | ||
+ | * Exemples : signal lumineux: 1 voyant rouge, signal sonore: 1 bip, 1 signal électrique, | ||
+ | * Définition : Un signal est une grandeur variable dans le temps et/ou l' | ||
+ | * Numérique (Digital) : Réprésente un nombre fini de valeurs. On parle de valeurs discontinus, | ||
+ | * 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' | ||
+ | * Attention toujours Sortie <=> Entrée | ||
+ | * Port/ | ||
+ | * CAN : un composant qui permet de convertir un signal | ||
+ | * 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(), | ||
+ | * Condition : test avec le symbole == | ||
+ | * Boucle | ||
+ | * Commentaires | ||
+ | |||
+ | ==== Ressources complémentaires ==== | ||
+ | * Un manuel en français pour Arduino (un peu daté mais toujours savoureux) https:// | ||
+ | * Le Livret Arduino de Jean-Noël Montagné de Artsens réalisé au Craslab http:// | ||
+ | |||
+ | ==== Retour d'XP ==== | ||
+ | * Parler d' | ||
+ | * Détailler l'algo qui permet d' | ||
+ | * Retirer tous les commentaires anglais y compris l' | ||
+ | * Terminer l'exo DHT | ||
+ | * Passer l' | ||
+ | * Refaire les images des breadboard au plus juste. | ||
+ | * Produire un support papier à distribuer. Quoi mettre dedans ? Un support pour l' | ||
+ | |||
+ | ==== Support Papier ==== | ||
+ | https:// | ||
+ | |||
+ | * // : Le texte qui suit ces 2 caractères sont des commentaires qui ne sont pas exécutés. Il permettent d' | ||
+ | * void setup() : Fonction d' | ||
+ | * void loop() : Fonction principale appelée en boucle après la fonction setup(). | ||
+ | * INPUT : La "direction ENTREE" | ||
+ | * OUTPUT : La " | ||
+ | * LOW: niveau logique BAS (0) | ||
+ | * HIGH : niveau logique HAUT (1) | ||
+ | * pinMode(port, | ||
+ | * digitalWrite(port, | ||
+ | * analogWrite(port, | ||
+ | * analogRead(port) | ||
+ | * delay(temps_en_ms) : | ||
+ | * int variable1 : Déclare une variable nommée " | ||
+ | * float variable2 : Déclare une variable nommée " | ||
+ | * const : Déclare une constante dont le programme ne pourra jamais changer la valeur. | ||
+ | * if (condition) : Test une condition, et exécute le bloc de code en { } si la condition est vraie. | ||
+ | * condition1 || condition2 : Opère un OU logique entre la condition1 et la condition2. | ||
+ | * Serial, Serial.begin, | ||
+ | * map(valeur, entrée_min, | ||
+ | {{tag> |
sita_capteurs.txt · Dernière modification : 2020/12/01 17:43 de serge