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.

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.

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.

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).

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

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.

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):

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.

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:

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.

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.

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:

La carte a quatre sorties:
-
VCC - puissance;
-
Trig - signal d'entrée;
-
Echo - signal de sortie;
-
GND est un fil commun.

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:

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.

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.

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.

Ensuite, ce qui suit s'affiche sur le moniteur du 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.

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

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.

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.

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 schéma de connexion:

Et un exemple de code de programme:

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.

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:

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.

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:

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.

Grâce au comparateur, le signal analogique est converti en numérique.
Schéma de câblage:

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:

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.

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:

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


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 electro-fr.tomathouse.com
: