sita_capteurs
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
sita_capteurs [2019/04/27 07:00] – 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 " | ||
+ | |||
+ | 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 1 ===== | ===== SITA Capteurs 1 ===== | ||
==== Objectifs ==== | ==== Objectifs ==== | ||
- | Acquérir l' | + | Acquérir l' |
* Capteurs | * Capteurs | ||
* Signaux | * Signaux | ||
* Arduino | * Arduino | ||
* Programmation / Code | * 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, | ||
- | * 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 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(), | ||
- | * Condition : test avec le symbole == | ||
- | * Boucle | ||
- | * Commentaires | ||
- | |||
==== Ateliers / Exercices ==== | ==== 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:// | ||
=== Rappels === | === Rappels === | ||
- | {{:: | + | <WRAP center round important 80%> |
- | <WRAP center round important 60%> | + | {{ media_06:led.png?nolink|}} |
- | Une LED a un sens : pour qu' | + | |
+ | 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 === | === 01_Blink === | ||
+ | <WRAP center round info 80%> | ||
+ | [[ https:// | ||
+ | </ | ||
+ | |||
Ce croquis fait clignoter la LED embarqué sur l' | Ce croquis fait clignoter la LED embarqué sur l' | ||
\\ \\ | \\ \\ | ||
__Objectif de l' | __Objectif de l' | ||
- | * Premier code Arduino et maniment | + | * Premier code Arduino et maniement |
* Première déclaration de variable (une constante) | * Première déclaration de variable (une constante) | ||
* Première déclaration d' | * Première déclaration d' | ||
Ligne 79: | Ligne 77: | ||
\\ | \\ | ||
__Si la LED clignote déjà alors vous pouvez :__ | __Si la LED clignote déjà alors vous pouvez :__ | ||
- | - modifier | + | - Modifier |
- | - téleverser | + | - Téléverser |
- | - vérifier | + | - Vérifier |
- | - modifier | + | - Modifier |
- | - téleverser | + | - Téléverser |
- | - vérifier | + | - Vérifier |
\\ | \\ | ||
- | __Découvrerte | + | __Instructions découverte pour aller plus loin :__ |
- | - faites | + | - Essayer de modifier le code puis de le téléverser pour faire varier la fréquence |
- | - imaginer | + | - Imaginez |
=== 02_Fade === | === 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 " | + | 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' | __Objectif de l' | ||
Ligne 97: | Ligne 100: | ||
* Première utilisation de la sortie analogique " | * Première utilisation de la sortie analogique " | ||
- | {{ :max: | + | {{ media_06: |
\\ | \\ | ||
- | __Découverte | + | __Instructions découverte pour aller plus loin :__ |
- | - Changer | + | - Essayez de modifier le code puis de le téleverser pour changer |
=== 03_AnalogInOutSerial === | === 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' | 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' | __Objectif de l' | ||
Ligne 111: | Ligne 119: | ||
* Première utilisation de la fonction map() pour adapter une plage d' | * Première utilisation de la fonction map() pour adapter une plage d' | ||
- | {{ : | + | {{ media_02: |
\\ | \\ | ||
- | __Découverte | + | __Instructions découverte pour aller plus loin :__ |
- | - Modifier | + | - Modifiez |
- | - Faire varier le réglage du potentiometre | + | - Faites |
+ | - Modifiez le code pour allumer la LED uniquement lorsque la luminosité est faible. | ||
+ | |||
+ | === 04_DHTTester === | ||
+ | Ce croquis permet de tester le capteur de température DHT11 ou DHT22. Ce capteur est plus sophistiqué : il retourne 2 informations : la température et l' | ||
+ | |||
+ | <WRAP center round info 80%> | ||
+ | [[ https:// | ||
+ | </ | ||
- | === 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' | __Objectif de l' | ||
- | * Controler | + | * Manipuler |
+ | * Manipuler une première librairie Arduino | ||
- | {{ :04_analoginput_layout.png?direct&400 |}} | + | {{ media_06:04_dhttester.png?nolink&800 |}} |
\\ | \\ | ||
- | __Découverte | + | __Instructions découverte pour aller plus loin :__ |
- | - Modifier le code pour ajouter des indications sur la valeur | + | - Essayez |
- | | + | |
- | | + | ==== Théorie ==== |
- | - Modifier | + | 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, multimetre) | ||
+ | * 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 | ||
+ | | ||
+ | * 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 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(), | ||
+ | * Condition : test avec le symbole == | ||
+ | * Boucle | ||
+ | * Commentaires | ||
+ | |||
+ | ==== Ressources complémentaires ==== | ||
+ | * Un manuel en français | ||
+ | * Le Livret Arduino | ||
+ | |||
+ | ==== 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' | ||
+ | | ||
+ | * 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 | ||
+ | * INPUT : La " | ||
+ | * 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 | ||
+ | * condition1 || condition2 : Opère un OU logique entre la condition1 et la condition2. | ||
+ | * Serial, Serial.begin, | ||
+ | * map(valeur, entrée_min, | ||
+ | |||
+ | |||
+ | |||
+ | {{tag> |
sita_capteurs.1556348433.txt.gz · Dernière modification : 2019/04/27 07:00 de bigMax