Table des matières:

Utiliser Arduino pour la science citoyenne ! : 14 étapes (avec photos)
Utiliser Arduino pour la science citoyenne ! : 14 étapes (avec photos)

Vidéo: Utiliser Arduino pour la science citoyenne ! : 14 étapes (avec photos)

Vidéo: Utiliser Arduino pour la science citoyenne ! : 14 étapes (avec photos)
Vidéo: Débuter avec Arduino : Chien de garde - Fonctionnement et utilisation dans un programme simple 2024, Juin
Anonim
Image
Image
Pssst, quelle est la différence entre la science citoyenne et
Pssst, quelle est la différence entre la science citoyenne et

La science nous permet de poser nos questions les plus urgentes et d'explorer toutes sortes de curiosités. Avec un peu de réflexion, de travail acharné et de patience, nous pouvons utiliser nos explorations pour mieux comprendre et apprécier le monde complexe et magnifique qui nous entoure.

Ce didacticiel vous apprendra à utiliser un microcontrôleur Arduino (uno), à utiliser différents types de capteurs et à collecter et visualiser des données. En cours de route, nous construirons trois projets: un interrupteur à bascule, un capteur de température et d'humidité et un capteur de lumière !

Niveau de difficulté: Débutant

Temps de lecture: 20 minutes

Temps de construction: Dépend de votre projet ! (Les projets de ce didacticiel durent environ 15 à 20 minutes)

Étape 1: Pssst, quelle est la différence entre la science citoyenne et la « science officielle » ?

La plus grande différence est que la science citoyenne est, comme j'aime à le dire, "à la main ondulée", ce qui signifie qu'il y a beaucoup d'erreurs et d'incertitudes et aucun processus rigoureux pour les identifier. Pour cette raison, les conclusions tirées par la science citoyenne sont beaucoup moins précises que la science-science et ne devraient pas être invoquées pour faire des réclamations ou des décisions graves/altérant la vie ou mettant la vie en danger.*

Cela étant dit, la science citoyenne est un excellent moyen de développer une compréhension fondamentale de toutes sortes de phénomènes scientifiques fascinants et est assez bonne pour la plupart des applications quotidiennes.

*Si vous faites de la science citoyenne et que vous découvrez quelque chose de potentiellement dangereux (par exemple, des niveaux élevés de plomb dans l'eau), informez votre éducateur (le cas échéant) et contactez les autorités et les professionnels concernés pour obtenir de l'aide.

Étape 2: Qu'est-ce qu'Arduino ??

Qu'est-ce qu'Arduino ??
Qu'est-ce qu'Arduino ??
Qu'est-ce qu'Arduino ??
Qu'est-ce qu'Arduino ??
Qu'est-ce qu'Arduino ??
Qu'est-ce qu'Arduino ??
Qu'est-ce qu'Arduino ??
Qu'est-ce qu'Arduino ??

Arduino est une carte de microcontrôleur et un environnement de développement intégré ("IDE"), ce qui est une façon élégante de dire "programme de codage". Pour les débutants, je recommande fortement les cartes Arduino Uno car elles sont super robustes, fiables et puissantes.

Les cartes Arduino sont un bon choix pour les projets de science citoyenne car elles ont beaucoup de broches d'entrée à lire dans les capteurs analogiques et numériques (nous y reviendrons plus tard).

Bien sûr, vous pouvez utiliser d'autres microcontrôleurs pour la science citoyenne en fonction de vos besoins (ou de ceux de vos élèves), de vos capacités et de votre niveau de confort. Voici un aperçu des microcontrôleurs pour vous aider à décider ce qui vous convient le mieux !

Pour flasher, ou programmer, une carte Arduino, branchez-la via USB, puis:

1. Sélectionnez le type d'Arduino que vous utilisez sous Outils -> Cartes. (Photo 2)

2. Sélectionnez le port (c'est-à-dire où il est connecté à votre ordinateur). (Photo 3)

3. Cliquez sur le bouton Télécharger et vérifiez que le téléchargement est terminé. (Photo 4)

Étape 3: Outils et matériaux

Outils et matériaux
Outils et matériaux

Si vous venez de commencer, obtenir un kit est un moyen rapide et facile d'obtenir un tas de pièces à la fois. Le kit que j'utilise dans ce tutoriel est le kit de démarrage Elegoo Arduino.*

Outils

  • Arduino Uno
  • Câble USB A vers B (alias câble d'imprimante)
  • Fils de cavalier

    • 3 mâle à mâle
    • 3 hommes-femmes
  • Planche à pain

    Facultatif mais recommandé pour vous rendre la vie plus facile et plus amusante:)

Matériaux

Pour les projets traités dans ce didacticiel, vous aurez besoin de ces pièces du kit de démarrage Elegoo Arduino:

  • Commutateur d'inclinaison
  • Capteur de température et d'humidité DTH11
  • LED
  • Résistance 100 Ohms

*Divulgation complète: j'achète ces mêmes kits pour les ateliers, mais le kit utilisé dans ce didacticiel a été offert par les charmantes personnes d'Elegoo.

Étape 4: Quels types de capteurs pouvons-nous utiliser ?

Quels types de capteurs pouvons-nous utiliser ?
Quels types de capteurs pouvons-nous utiliser ?

Lors de la conception d'une expérience scientifique, nous commençons généralement par une question: quelle quantité de CO2 les plantes absorbent-elles par jour ? Quelle est la force d'impact d'un saut ? Qu'est-ce que la conscience ??

Sur la base de notre question, nous pouvons ensuite identifier ce que nous voulons mesurer et faire des recherches pour déterminer quel capteur nous pouvons utiliser pour collecter des données (bien qu'il soit peut-être un peu difficile de collecter des données pour cette dernière question !).

Lorsque vous travaillez avec de l'électronique, il existe deux principaux types de signaux de données de capteur: numérique et analogique. Sur la photo, les deux premières rangées de pièces sont toutes des capteurs numériques, tandis que les deux premières rangées sont analogiques.

Il existe de nombreux types différents de capteurs numériques, et certains sont plus difficiles à utiliser que d'autres. Lorsque vous effectuez des recherches pour votre projet de science citoyenne, vérifiez toujours comment le capteur émet des données (bien sûr) et assurez-vous que vous pouvez trouver une bibliothèque (Arduino) pour ce capteur spécifique.

Dans les trois projets couverts dans ce didacticiel, nous utiliserons deux types de capteurs numériques et un capteur analogique. Apprenons-nous !

Étape 5: Capteurs numériques ! Partie 1: les faciles

Capteurs numériques ! Partie 1: les faciles !
Capteurs numériques ! Partie 1: les faciles !
Capteurs numériques ! Partie 1: les faciles !
Capteurs numériques ! Partie 1: les faciles !

La plupart des capteurs que vous utiliserez produisent un signal numérique, qui est un signal activé ou désactivé.* Nous utilisons des nombres binaires pour représenter ces deux états: un signal activé est donné par un 1, ou True, tandis que Off est égal à 0, ou fausse. Si nous devions dessiner une image de ce à quoi ressemble un signal binaire, ce serait une onde carrée comme celle de la photo 2.

Il existe des capteurs numériques, comme les interrupteurs, qui sont très faciles et simples à mesurer car soit le bouton est enfoncé et nous obtenons un signal (1), soit il n'est pas enfoncé et nous n'avons aucun signal (0). Les capteurs illustrés dans la rangée du bas de la première photo sont tous de types marche/arrêt simples. Les capteurs de la rangée du haut sont un peu plus complexes et sont couverts après notre premier projet.

Les deux premiers projets de ce tutoriel vous apprendront à utiliser les deux types ! En avant pour construire notre premier projet !!

*On désigne un signal électrique sous forme de courant et de tension électriques. Off signifie pas de signal électrique !

Étape 6: Projet 1: Capteur numérique à interrupteur à bascule

Projet 1: Capteur numérique à interrupteur à bascule
Projet 1: Capteur numérique à interrupteur à bascule
Projet 1: Capteur numérique à interrupteur à bascule
Projet 1: Capteur numérique à interrupteur à bascule
Projet 1: Capteur numérique à interrupteur à bascule
Projet 1: Capteur numérique à interrupteur à bascule

Pour ce premier projet, utilisons un commutateur d'inclinaison, ce capteur cylindrique noir avec deux pattes ! Étape 1: Insérez une patte du commutateur d'inclinaison dans la broche numérique Arduino 13 et l'autre patte dans la broche GND juste à côté de la broche 13. Orientation n'a pas d'importance.

Étape 2: Rédigez un croquis qui lit et imprime l'état de la broche numérique 13

Ou vous pouvez simplement utiliser le mien!

Si vous débutez dans le codage, lisez les commentaires pour mieux comprendre le fonctionnement du croquis et essayez de changer certaines choses pour voir ce qui se passe ! C'est bien de casser des choses, c'est une excellente façon d'apprendre ! Vous pouvez toujours retélécharger le fichier et recommencer:)

Étape 3: Pour voir vos données en direct, cliquez sur le bouton Serial Monitor (photo 2)

.. aaa et c'est tout ! Vous pouvez maintenant utiliser le commutateur d'inclinaison pour mesurer l'orientation ! Configurez-le pour appeler votre chaton lorsqu'il renverse quelque chose, ou utilisez-le pour suivre le mouvement des branches des arbres pendant les tempêtes !.. & il y a probablement d'autres applications entre ces deux extrêmes.

Étape 7: Capteurs numériques ! Partie 2: PWM et communication série

Capteurs numériques ! Partie 2: PWM et communication série
Capteurs numériques ! Partie 2: PWM et communication série
Capteurs numériques ! Partie 2: PWM et communication série
Capteurs numériques ! Partie 2: PWM et communication série
Capteurs numériques ! Partie 2: PWM et communication série
Capteurs numériques ! Partie 2: PWM et communication série

Il existe de nombreuses façons de créer des signaux numériques plus complexes ! Une méthode est appelée modulation de largeur d'impulsion ("PWM"), qui est une façon élégante de dire un signal qui est allumé pendant un certain temps et éteint pendant un certain temps. Les servomoteurs (qui peuvent être utilisés pour mesurer la position) et les capteurs à ultrasons sont des exemples de capteurs qui utilisent des signaux PWM.

Il existe également des capteurs qui utilisent la communication série pour envoyer des données un bit, ou un chiffre binaire, à la fois. Ces capteurs nécessitent une certaine familiarité avec la lecture des fiches techniques et peuvent être assez délicats si vous débutez. Heureusement, les capteurs série courants auront des bibliothèques de codes* et des exemples de programmes à partir desquels vous pourrez toujours bricoler quelque chose de fonctionnel. Plus de détails sur les protocoles de communication série dépassent le cadre de ce didacticiel, mais voici une excellente ressource sur la communication série de SparkFun pour en savoir plus !

Pour cet exemple de projet, utilisons le capteur de température et d'humidité (DHT11) ! C'est un petit carré bleu avec des trous et 3 broches.

Nous aurons d'abord besoin de quelques bibliothèques spéciales pour le capteur DHT11: la bibliothèque DHT11 et la bibliothèque Adafruit Unified Sensor. Pour installer ces bibliothèques (et la plupart des autres bibliothèques Arduino):

Étape 1: Ouvrez le gestionnaire de bibliothèque Arduino en allant dans Sketch -> Bibliothèques -> gérer la bibliothèque (Photo 2)

Étape 2: Installez et activez la bibliothèque DHT en recherchant "DHT", puis en cliquant sur Installer pour la "Bibliothèque DHT Arduino" (Photo 3)

Étape 3: Installez et activez la bibliothèque Adafruit Unified Sensor en recherchant « Adafruit Unified Sensor » et en cliquant sur Installer.

Étape 4: Insérez la bibliothèque DHT dans votre esquisse ouverte en allant dans Esquisse -> Bibliothèques, et en cliquant sur la "Bibliothèque DHT Arduino. (Photo 4) Cela insérera quelques nouvelles lignes en haut de votre esquisse, ce qui signifie notre la bibliothèque est maintenant active et prête à l'emploi !(Photo 5)

* Tout comme votre bibliothèque locale préférée, les bibliothèques de code sont une mine de connaissances et le travail acharné d'autres personnes que nous pouvons utiliser pour nous faciliter la vie, oui !

Étape 8: Projet 2: Capteur série numérique de température et d'humidité

Projet 2: Capteur série numérique de température et d'humidité
Projet 2: Capteur série numérique de température et d'humidité
Projet 2: Capteur série numérique de température et d'humidité
Projet 2: Capteur série numérique de température et d'humidité
Projet 2: Capteur série numérique de température et d'humidité
Projet 2: Capteur série numérique de température et d'humidité
Projet 2: Capteur série numérique de température et d'humidité
Projet 2: Capteur série numérique de température et d'humidité

Prenez 3 câbles de connexion mâle-femelle du kit de démarrage Elegoo Arduino et nous sommes prêts à partir !

Étape 1: Avec les broches d'en-tête face à vous, connectez la broche d'en-tête la plus à droite sur le DHT11 à une broche de masse Arduino ("GND").

Étape 2: Connectez la broche d'en-tête du milieu à la broche de sortie Arduino 5V.

Étape 3: Connectez la broche d'en-tête la plus à gauche à la broche numérique Arduino 2

Étape 4: Enfin, lisez la bibliothèque DHT et essayez-vous à écrire un croquis ! Oooor, vous pouvez utiliser le mien ou le croquis d'exemple de test DHT dans Arduino -> Exemples!

Lorsque vous l'avez mis en route, allez-y et mesurez la température et l'humidité de toutes les choses !.. Comme le souffle d'un animal, une serre ou votre site d'escalade préféré à différents moments de l'année pour trouver la température d'envoi *parfaite*.

Étape 9: Capteurs analogiques

Capteurs analogiques !
Capteurs analogiques !
Capteurs analogiques !
Capteurs analogiques !

Après la difficile plongée dans les capteurs numériques, les capteurs analogiques peuvent sembler un jeu d'enfant ! Les signaux analogiques sont un signal continu, comme le montre la 2ème photo. La plupart du monde physique existe en analogique (par exemple, la température, l'âge, la pression, etc.), mais comme les ordinateurs sont numériques*, la plupart des capteurs émettent un signal numérique. Certains microcontrôleurs, comme les cartes Arduino, peuvent également lire des signaux analogiques**.

Pour la plupart des capteurs analogiques, nous alimentons le capteur, puis lisons le signal analogique à l'aide des broches d'entrée analogique. Pour ce test, nous utiliserons une configuration encore plus simple pour mesurer la tension aux bornes d'une LED lorsque nous l'éclairons.

*Les ordinateurs utilisent des signaux numériques pour stocker et transmettre des informations. En effet, les signaux numériques sont plus faciles à détecter et plus fiables, car tout ce dont nous avons à nous soucier est d'obtenir un signal ou non plutôt que de devoir nous soucier de la qualité/précision du signal.

** Pour lire un signal analogique sur un appareil numérique, nous devons utiliser un convertisseur analogique-numérique, ou ADC, qui se rapproche du signal analogique en comparant l'entrée à une tension connue sur l'appareil, puis en comptant combien de temps il prend pour atteindre la tension d'entrée. Pour plus d'informations, c'est un site utile.

Étape 10: Projet 3: LED comme capteur de lumière

Projet 3: LED comme capteur de lumière !
Projet 3: LED comme capteur de lumière !
Projet 3: LED comme capteur de lumière !
Projet 3: LED comme capteur de lumière !

Prenez une LED (n'importe quelle couleur sauf le blanc), une résistance de 100 Ohm et 2 câbles de démarrage. Oh, et une planche à pain !

Étape 1: Insérez la LED dans la planche à pain avec la jambe la plus longue sur le côté droit.

Étape 2: connectez un fil de liaison de la broche analogique Arduino A0 et de la branche LED la plus longue

Étape 3: connectez la résistance entre la jambe de LED la plus courte et le rail d'alimentation négatif de la planche à pain (à côté de la ligne bleue).

Étape 4: Connectez la broche Arduino GND au rail d'alimentation négatif de la planche à pain.

Étape 5: écrivez un croquis qui se lit dans la broche analogique A0 et s'imprime sur le moniteur série

Voici un exemple de code pour vous aider à démarrer.

Étape 11: Visualisation des données: Arduino IDE

Visualisation des données: IDE Arduino !
Visualisation des données: IDE Arduino !
Visualisation des données: IDE Arduino !
Visualisation des données: IDE Arduino !

L'IDE Arduino est livré avec des outils intégrés pour visualiser les données. Nous avons déjà exploré les bases du Serial Monitor qui nous permet d'imprimer les valeurs des capteurs. Si vous souhaitez enregistrer et analyser vos données, copiez la sortie directement à partir du moniteur série et collez-la dans un éditeur de texte, une feuille de calcul ou un autre outil d'analyse de données.

Le deuxième outil que nous pouvons utiliser pour voir nos données dans le programme Arduino est le Serial Plotter, une version visuelle (alias graphique) du Serial Monitor. Pour utiliser le traceur série, accédez à Outils Traceur série. Le graphique de la photo 2 est la sortie de la LED en tant que capteur de lumière du projet 3 !*

Le tracé sera mis à l'échelle automatiquement et tant que vous utiliserez Serial.println() pour vos capteurs, il imprimera également tous vos capteurs dans différentes couleurs. Hourra ! C'est ça!

* Si vous regardez à la fin, il y a un motif d'onde super intéressant qui est probablement dû au courant alternatif ("AC") dans nos plafonniers !

Étape 12: Visualisation des données: Excel ! Partie 1

Visualiser les données: Excel ! Partie 1
Visualiser les données: Excel ! Partie 1
Visualiser les données: Excel ! Partie 1
Visualiser les données: Excel ! Partie 1
Visualiser les données: Excel ! Partie 1
Visualiser les données: Excel ! Partie 1
Visualiser les données: Excel ! Partie 1
Visualiser les données: Excel ! Partie 1

Pour une analyse plus sérieuse des données, il existe un complément super sympa (et gratuit !) pour Excel appelé Data Streamer*, que vous pouvez télécharger ici.

Ce complément lit à partir du port série, nous pouvons donc utiliser exactement la même technique de codage d'impression de données en série pour obtenir des données directement dans Excel.. diable oui !!

Comment utiliser le complément Data Streamer:

1. Une fois que vous l'avez installé (ou si vous avez O365), cliquez sur l'onglet Data Streamer (à l'extrême droite) dans Excel.

2. Branchez votre Arduino et cliquez sur "Connect Device", puis sélectionnez l'Arduino dans le menu déroulant. (Photo 1)

3. Cliquez sur "Démarrer les données" pour démarrer la collecte de données ! (Photo 2) Vous verrez trois nouvelles feuilles s'ouvrir: "Data In", "Data Out" et "Settings".

Les données en direct sont imprimées dans la feuille Données d'entrée. (Photo 3) Chaque ligne correspond à une lecture du capteur, avec la valeur la plus récente imprimée dans la dernière ligne.

Par défaut, nous n'obtenons que 15 lignes de données, mais vous pouvez modifier cela en allant dans "Paramètres". Nous pouvons rassembler jusqu'à 500 lignes (la limite est due à la bande passante d'Excel - il se passe beaucoup de choses en arrière-plan !).

*Divulgation complète: bien que ce didacticiel ne soit pas affilié, je travaille avec l'équipe Microsoft Hacking STEM qui a développé ce complément.

Étape 13: Visualisation des données: Excel ! Partie 2

Visualiser les données: Excel ! Partie 2
Visualiser les données: Excel ! Partie 2
Visualiser les données: Excel ! Partie 2
Visualiser les données: Excel ! Partie 2
Visualiser les données: Excel ! Partie 2
Visualiser les données: Excel ! Partie 2

4. Ajoutez un tracé de vos données ! Faites de l'analyse de données ! Les diagrammes de dispersion vous montrent comment les lectures du capteur changent au fil du temps, ce qui est la même chose que nous avons vue dans le traceur série Arduino.

Pour ajouter un nuage de points:

Allez dans Insertion -> Graphiques -> Scatter. Lorsque le graphique apparaît, faites un clic droit dessus et choisissez "Sélectionner des données", puis Ajouter. Nous voulons que nos données soient affichées sur l'axe des y, avec « temps »* sur l'axe des x. Pour ce faire, cliquez sur la flèche à côté de l'axe des y, accédez à la feuille Données d'entrée et sélectionnez toutes les données de capteur entrantes (Photo 2).

Nous pouvons également faire des calculs et des comparaisons dans Excel ! Pour écrire une formule, cliquez sur une cellule vide et tapez un signe égal ("="), puis le calcul que vous souhaitez effectuer. Il existe de nombreuses commandes intégrées telles que moyenne, maximale et minimale.

Pour utiliser une commande, tapez le signe égal, le nom de la commande et une parenthèse ouverte, puis sélectionnez les données que vous analysez et fermez les parenthèses (Photo 3)

5. Pour envoyer plus d'une colonne de données (AKA plus d'un capteur), imprimez les valeurs sur la même ligne séparées par une virgule, avec une nouvelle ligne vierge finale, comme ceci:

Serial.print(sensorReading1);

Serial.print(", "); Serial.print(sensorReading2); Serial.print(", "); Serial.println();

* Si vous souhaitez que l'heure réelle soit sur l'axe des x, sélectionnez l'horodatage dans la colonne A de la feuille Entrée de données pour les valeurs de l'axe des x dans votre nuage de points. Dans tous les cas, nous verrons nos données évoluer au fil du temps.

Étape 14: Allez de l'avant et mesurez toutes les choses

Allez de l'avant et mesurez toutes les choses !!
Allez de l'avant et mesurez toutes les choses !!
Allez de l'avant et mesurez toutes les choses !!
Allez de l'avant et mesurez toutes les choses !!
Allez de l'avant et mesurez toutes les choses !!
Allez de l'avant et mesurez toutes les choses !!

Bon les gars, c'est tout ! Il est temps d'aller vers l'extérieur et vers le haut ! Utilisez-le comme base pour commencer à explorer les capteurs, le codage Arduino et l'analyse de données pour répondre à vos questions, curiosités et mystères préférés dans ce grand et beau monde.

N'oubliez pas: il y a beaucoup de gens pour vous aider tout au long du processus, alors n'hésitez pas à laisser un commentaire si vous avez une question !

Besoin de plus d'idées ? Voici comment fabriquer un commutateur de changement d'état portable, un capteur de température à distance à énergie solaire et une balance industrielle connectée à Internet !

Vous aimez ce tutoriel et vous voulez en voir plus ? Soutenez nos projets sur Patreon !:RÉ

Conseillé: