Catégories: Circuits microcontrôleurs
Nombre de fois vus: 32016
Commentaires sur l'article: 0

Capteurs les plus populaires pour Arduino

 

Les capteurs sont utilisés dans une grande variété de circuits et de projets. Aucune automatisation ne peut s'en passer. Nous les intéressons car un projet a été créé pour simplifier la conception et la vulgarisation de l'électronique Arduino. Il s'agit d'une carte finie avec un microcontrôleur et tout ce dont vous avez besoin pour travailler avec elle et la programmer. Dans cet article, nous considérerons les capteurs pour Arduino, mais ils peuvent également être utilisés avec d'autres microcontrôleurs.

Capteurs les plus populaires pour Arduino

Quels sont les capteurs?

Les capteurs sont les yeux, les oreilles et les autres sens microcontrôleur ou tout autre dispositif de commande. Ils se distinguent par la nature du signal et par leur destination.

Par la nature du signal est divisé en:

  • Analogique;

  • Numérique

Et à cet effet, les capteurs sont destinés à mesurer:

  • Température;

  • Pression;

  • Humidité

  • Acidité;

  • L'illumination

  • Niveau d'eau ou autres substances;

  • Vibration

  • Et d'autres composants spécialisés.

Si nous parlons d'Arduino, alors, lorsque nous recevons des informations de capteurs, nous traitons un signal numérique ou mesurons la tension de la sortie analogique du module. Comme déjà mentionné, les capteurs sont numériques et analogiques. Certains modules pour Arduino ont une sortie numérique et analogique, ce qui les unifie.

Par appareil, ils sont

  • Résistif

  • Inductif

  • Capacitif;

  • Piézoélectrique;

  • Photocellules et autres types.



Capteur de lumière ou de lumière

La façon la plus simple de déterminer la luminosité de quelque chose - utiliser une photorésistance, une photodiode ou un phototransistor. Vous pouvez connecter l'une des options répertoriées à Arduino ou acheter une carte spéciale - capteur de lumière.

Capteur de lumière

Quels sont les avantages d'une solution clé en main? Tout d'abord, pour détecter les changements dans l'éclairage d'une seule cellule photoélectrique ne suffit pas, vous avez également besoin d'une résistance régulière ou d'accord, peut-être comparateur, pour une opération pas à pas oui / non. Deuxièmement, une carte de circuit imprimé fabriquée en usine sera plus fiable qu'un montage articulé ou une carte de paquet, ou d'autres moyens que les amateurs utilisent.

Capteur de lumière

Sur aliexpress ou dans d'autres magasins en ligne, il peut être trouvé sur demande "CAPTEUR PHOTOSENSIBLE" ou simplement "capteur de lumière".

Ce module a trois sorties:

  • La nutrition;

  • La terre

  • Sortie numérique du comparateur.

Ou une version à quatre broches:

  • La nutrition;

  • La terre

  • Sortie numérique du comparateur;

  • Analogique

Donc, sur la carte, il y a une résistance d'accord pour régler le moment où le comparateur est déclenché, il peut donner un signal numérique.

Exemples d'utilisation:

  • Capteur de lumière pour relais photo;

  • Alarme (jumelée à l'émetteur);

  • Compteur d'objets traversant le faisceau lumineux, etc.

Il est difficile d'obtenir des valeurs exactes, car un posemètre correct sera nécessaire pour le réglage correct par l'éclairage. Les photorésistances conviennent mieux à la détermination de valeurs abstraites telles que "sombre ou clair".

En plus d'une telle planche en vente, vous pouvez trouver assez intéressant Module GY-302. Il s'agit d'un capteur de lumière basé sur le circuit intégré BH-1750. Sa particularité est qu'il s'agit d'un module numérique, il a une capacité de 16 bits, communique avec les microcontrôleurs via le bus i2c. 16 bits vous permettent de mesurer l'éclairage de 1 à 65356 Lux (Lx).

Capteur de lumière basé sur le circuit intégré BH-1750

Voici un schéma de sa connexion. Vous remarquerez peut-être que SDA et SCL connecté aux broches analogiques du microcontrôleur.

Schéma de connexion du capteur de lumière

Cela est dû au fait que le bus I2C est implémenté sur ces broches Arduino, ce qui peut être vu en regardant l'image suivante. Par conséquent, ne vous laissez pas berner par ce fait, le capteur est numérique.

Schéma du module GY-302

L'avantage des capteurs numériques est que vous n'avez pas besoin de vérifier les valeurs de chaque instance, de compiler des tableaux pour traduire les valeurs mesurées en échelles réelles, etc.Dans la plupart des cas, pour les capteurs numériques, il suffit de connecter simplement une bibliothèque prête à l'emploi et de lire les valeurs converties en unités réelles.

Exemple d'esquisse pour GY-302 (BH-1750):

Exemple d'esquisse pour GY-302

Comment fonctionne un croquis?

Au début, nous indiquons au programme que nous devons connecter la bibliothèque Wire.h, qui est responsable de la communication via la ligne I2C, et le BH1750. Les autres actions sont bien décrites dans les commentaires, et par conséquent, toutes les 100 ms, nous lisons la valeur du capteur en Lux.

Caractéristiques du GY-302 BH1750:

  • Communication du microcontrôleur I2C

  • Réponse spectrale similaire à la sensibilité oculaire

  • Les erreurs dues au rayonnement infrarouge sont minimisées

  • Plage de mesure 0-65535 Lux

  • Tension d'alimentation: 3-5 V

  • Faible consommation de courant et fonction sommeil

  • Filtrage du bruit lumineux 50/60 Hz

  • Le nombre maximum de capteurs sur 1 bus I2C est de 2 pièces.

  • Aucun étalonnage requis

  • Consommation actuelle - 120 μA

  • En mode veille - 0,01 μA

  • Longueur d'onde mesurée - 560 nm

  • En mode haute résolution - 1 Lux

  • En mode basse résolution - 4 Lux

  • ADC - 16 bits

Temps pris pour les mesures:

  • En mode haute résolution - 120 ms

  • En mode basse résolution - 16 ms


Capteur d'obstacles

J'ai choisi ce capteur comme le prochain à considérer, car l'une de ses options fonctionne sur la base d'une photodiode ou d'un phototransistor, qui sont similaires en principe à la photorésistance discutée dans la section précédente.

Capteur d'obstacles

Son nom est «capteur d'obstacle optique». L'élément fonctionnel principal est la photodiode et la LED émettant et recevant dans le spectre IR (donc non visibles à l'œil humain, ainsi qu'un ensemble de seuil assemblé, par exemple, sur un comparateur avec un régulateur de sensibilité. En l'utilisant, la distance à laquelle le capteur est déclenché est ajustée, par son mode numérique).

Exemple de schéma de connexion:

Exemple de connexion

Un exemple de programme de traitement du signal d'un capteur.

Un exemple de programme de traitement du signal d'un capteur

Ici, si la sortie du capteur est "1", ce qui signifie "il y a un obstacle", la LED sur la carte Arduino ou connectée à la 13ème broche (la même chose) s'allumera. Le plus souvent utilisé en robotique et en alarme.

Utiliser des capteurs

Capteur de distance

La copie précédente se compose d'un récepteur, - d'une photodiode et d'un émetteur, - d'une LED. Le capteur de distance à ultrasons se compose également d'un récepteur et d'un émetteur d'ondes ultrasonores. Son nom est HC SR04.

Capteur de distance

Caractéristiques HC SR04:

  • Tension d'alimentation 5V

  • Le paramètre de fonctionnement de la force t oka - 15 mA

  • Courant passif <2 mA

  • Angle de vision - 15 °

  • Résolution tactile - 0,3 cm

  • Angle de mesure - 30 °

  • Largeur d'impulsion - 10-6 s

  • Plage de mesure: 2-400 cm.

L'erreur apparaît en raison de:

  • température et humidité - peuvent être réduites en mesurant la température avec DHT-11 ou DHT-22, par exemple, et en entrant des coefficients pour corriger les mesures.

  • distance à l'objet;

  • l'emplacement de l'objet par rapport au capteur (selon le diagramme de rayonnement) peut être compensé en installant HC SR04 sur le servo variateur pour changer de direction et effectuer des réglages précis.

  • qualité de performance des éléments du module capteur.

Diagramme de rayonnement:

Diagramme de rayonnement

La carte a quatre sorties:

  • VCC - puissance;

  • Trig - signal d'entrée;

  • Echo - signal de sortie;

  • GND est un fil commun.

Fils de capteur HC SR04

Comment traiter les lectures?

1. Nous envoyons une impulsion d'une durée de 10 μs à l'entrée TRIG;

2. À l'intérieur du module, l'impulsion est convertie en un paquet de 8 impulsions qui se succèdent à une fréquence de 40 kHz et sont envoyées à travers l'émetteur;

3. Les impulsions réfléchies par l'obstacle arrivent au récepteur et sont transmises à ECHO;

4. La durée de l'impulsion reçue de la sortie ECHO doit être divisée par 58,2 pour obtenir la distance en centimètres et par 148 si vous devez convertir en pouces.

Exemple de code:

Exemple de code

Mesurer la température

La façon la plus simple de mesurer la température à l'aide d'un microcontrôleur est utiliser un thermocouple ou une thermistance. Les thermocouples sont utilisés pour mesurer des températures élevées, pour mesurer l'intérieur et l'extérieur - celui dont je parlerai un peu plus bas fera l'affaire, mais pour l'instant, regardons un thermocouple.

Capteur de température

Chaque type de thermocouple a sa propre approche pour travailler avec un microcontrôleur. Par exemple, il existe un thermocouple de type K, ou comme on l'appelle également - chromel-alumel, avec une plage de températures mesurées de -200 à +1400 degrés Celsius avec une sensibilité de 41 mV / degré Celsius. Et pour elle, il y a un convertisseur spécial basé sur l'IC max6675, il a une fonction pour compenser la température de la jonction froide et ainsi de suite.

Module de mesure de température

Vous pouvez travailler avec ce module en utilisant la bibliothèque du même nom pour Arduino. Dans la figure ci-dessous, vous voyez un exemple de code de programme pour ce cas.

Exemple de code

Ensuite, ce qui suit s'affiche sur le moniteur du port série.

Moniteur de port série

Mais il y a aussi un capteur de température numérique DS12B20, il peut être appelé classique, car il a été utilisé pendant de nombreuses années dans des projets amateurs, et bien avant l'apparition d'Arduino.

Capteur de température numérique DS12B20

Ce circuit intégré numérique son dispositif interne est illustré dans la figure ci-dessous:

Microcircuit de l'appareil interne

Schéma de connexion de la carte:

Schéma de connexion de la carte

Caractéristiques et informations clés DS18b20:

  • L'erreur est inférieure à 0,5 ° C (dans la plage de température de -10 ° C à + 85 ° C).

  • Aucun étalonnage requis

  • Plage de mesure - de -55 С à + 125С

  • VCC, tension d'alimentation 3,3-5V.

  • résolution jusqu'à 0,0625С, réglée par logiciel;

  • Résolution - 12 bits

  • Chaque instance se voit attribuer un code de série unique. Cela est nécessaire pour utiliser facilement plusieurs pièces dans un même projet

  • Interface de communication - 1 fil

  • Aucun cerclage requis

  • Le nombre maximum de capteurs sur une ligne est de 127 pièces.

  • Mode d'alimentation parasite - dans ce cas, le capteur est alimenté directement à partir de la ligne de communication. Dans le même temps, une mesure de température supérieure à 100C n'est pas garantie

Ci-dessous, vous voyez le tableau de conversion du code binaire de DS18b20 en température en degrés Celsius.

Tableau de conversion pour le code binaire de DS18b20 en température en degrés Celsius

Exemple de programme de lecture des valeurs de température.

Exemple de programme de lecture des valeurs de température

Capteurs de pression atmosphérique

Les baromètres électroniques sont assemblés sur la base de capteurs de pression atmosphérique. Les options suivantes ont été largement utilisées:

  • BMP180;

  • BMP280;

  • BME280.

Capteurs de pression atmosphérique

Si les deux instances précédentes étaient similaires, alors Capteur BME280 - Ceci est une station météo miniature. 3 capteurs y sont intégrés:

  • Température;

  • Pression;

  • Humidité.

Ses caractéristiques techniques:

  • Dimensions 2,5 x 2,5 x 0,93 mm;

  • Boîtier LGA en métal, équipé de 8 sorties;

  • Tension d'alimentation 1,7 - 3,6 V;

  • Disponibilité des interfaces I2C et SPI;

  • Consommation de courant en veille 0,1 µA.

Ces exemples sont des baromètres MEMS. MEMS signifie microélectromécanique. Il s'agit d'une microstructure mécanique qui utilise des phénomènes capacitifs et d'autres principes pour son travail. Ci-dessous, vous voyez un exemple d'un tel capteur dans le contexte.

Exemple de coupe d'un capteur

Exemple de schéma de connexion:

Exemple de connexion

Et un exemple de code de programme:

Exemple de code

La logique du programme est simple:

1. Appelez la lecture du sous-programme (fonction) du capteur.

2. Demande de lecture du capteur de température intégré au baromètre.

3. Nous attendons le temps d'évaluer le capteur de température;

4. Lisez le résultat des mesures de température;

5. Demander des valeurs de pression;

6. Nous attendons le temps de mesure de la pression;

7. Lisez la valeur de pression;

8. Renvoyez la valeur de pression de la fonction.

Un fait intéressant est qu'il existe quatre options pour lire les valeurs, elles sont spécifiées comme argument dans la fonction startPressure, le deuxième signe va de 0 à 3, où 0 est une estimation approximative et 3 est une estimation exacte.


Détecteur de mouvement

Le capteur de mouvement le plus courant pour Arduino est Module de capteur infrarouge HC SR501. Une caractéristique de ce module est qu'il a un ajustement de la distance de réponse et du temps de retard du signal de sortie après fonctionnement.

Détecteur de mouvement

Caractéristiques du module:

1. Tension d'alimentation 4,5 - 20 V.

2. Courant de repos ≈ 50 μA;

3. Tension du signal de sortie (niveau logique): 3,3 V;

4. Plage de températures de fonctionnement - de -15 ° C à 70 ° C;

5. Dimensions: 32 * 24 mm;

6. Champ de vision - 110 °;

7. Distance de fonctionnement maximale - de 3 à 7 m (réglable); Au-dessus de 30 ° C, cette distance peut diminuer.

Schéma de câblage:

Schéma de connexion du capteur de mouvement

Comment travailler avec lui, nous avons considéré dans un article publié précédemment: Schémas des capteurs de mouvement, principe de leur travail et schémas de câblage


Capteur de niveau d'eau

Conçu pour indiquer le niveau de liquide.

Capteur de niveau d'eau

CARACTÉRISTIQUES

1. Tension d'alimentation 3-5V

2. Courant de consommation> 20 mA

3. Analogique

4. Dimensions de la zone de mesure 40x16 mm

5. Humidité admissible 10% - 90%

Exemple de code:

Exemple de code

Les valeurs de sortie sont de 0 (à l'état sec) à 685 (il peut différer en fait dépend de la conductivité de l'eau). N'oubliez pas l'électrolyse, lors de la mesure du niveau de sel ou d'eau dure, elle se corrodera.


Capteur de fuite

Le module se compose de deux parties - le capteur lui-même et le comparateur, peuvent être construits sur le LM393, LM293 ou LM193.

Capteur de fuite

Grâce au comparateur, le signal analogique est converti en numérique.

Schéma de câblage:

Schéma de câblage du capteur de fuite

Brochage de la carte:

  • VCC - puissance, doit correspondre à la puissance de la carte Apduino, dans la plupart des cas, elle est de 5 V;

  • GND - fil commun;

  • AO - signal analogique;

  • DO est un signal numérique.

Il y a une résistance d'accord sur la carte de comparaison, elle définit la sensibilité du capteur. Il peut agir comme un signal de pluie ou de fuite de quelque chose, et lorsqu'il est associé à une telle grue, il peut fonctionner comme protection contre les fuites de pipelines dans l'appartement:

Robinet de protection contre les fuites

La vidéo montre comment cela fonctionne:


Capteur d'humidité

Couramment utilisé dans les projets d'arrosage automatique, pour déterminer l'humidité du sol, ainsi que la précédente se compose d'électrodes et d'une carte avec un comparateur.

Capteur d'humidité

Il peut fonctionner à la fois en modes analogique et numérique. Un exemple de schéma de connexion pour un système d'irrigation automatique avec une grue basée sur un moteur:

Le schéma de connexion du capteur d'humidité à Arduino

Et un exemple de code de programme pour traiter un signal numérique provenant d'un capteur d'humidité:

Exemple de code pour le traitement d'un signal numérique provenant d'un capteur d'humidité
Capteur numérique de température et d'humidité AM2302

Conclusion

Nous avons examiné des capteurs populaires, mais il y en a aussi beaucoup d'autres. Il s'agit d'une variété de capteurs de vibrations, de gyroscopes, d'accéléromètres, de capteurs de rayonnement et plus encore.

Le but de l'article était de rassembler en un seul endroit une variété d'éléments pouvant être utiles à un ingénieur débutant en électronique pour la mise en œuvre de leurs projets. Si vous êtes intéressé par un capteur particulier - écrivez dans les commentaires et nous l'examinerons plus en détail.

Pour votre commodité, nous avons compilé pour vous un tableau avec un coût estimé et une liste de capteurs populaires pour Arduino, dans l'ordre dans lequel ils ont été considérés dans l'article:Capteurs pour Arduino

Les prix sont tirés des magasins en ligne en Russie ou en Ukraine. En Chine, ils coûtent 2 fois ou moins moins cher.

Voir aussi sur e.imadeself.com:

  • Mesurer la température et l'humidité sur Arduino - une sélection de façons
  • Connexion de capteurs analogiques à Arduino, lecture de capteurs
  • Quelle est la différence entre les capteurs analogiques et numériques
  • Comment le capteur de ligne est organisé et fonctionne
  • Schémas des détecteurs de mouvement et principe de leur fonctionnement, schémas de câblage

  •