La plate-forme Arduino est l'une des meilleures pour la construction de divers systèmes automatisés. De plus, de nombreuses universités et collèges utilisent Arduino pour initier les étudiants au domaine de la robotique. En effet, Arduino est une plate-forme très légère, mais en même temps puissante, pour la construction de divers robots et systèmes intelligents. Et bien sûr, pour que tout cela prenne moins de temps, des capteurs prêts à l'emploi sont vendus. Il y en a un grand nombre dans les magasins, il est donc assez difficile de se perdre dans le choix du bon. Dans cet article, nous examinerons certains des principaux capteurs Arduino et leur fonctionnement.
Où acheter
Le fait est que les capteurs dans nos magasins coûtent très cher. Et si vous allez commencer à explorer la plate-forme Arduino, il vous suffit de savoir où vous pouvez les acheter à bas prix. La réponse est simple - les magasins chinois. Il pourrait êtreAliexpress, Joom, Pandao et autres. Presque tous les magasins y achètent des capteurs et les vendent avec une énorme marge, qui atteint jusqu'à 300 %. Bien sûr, vous devrez attendre un certain temps et vous ne pouvez pas être sûr de la qualité de la marchandise, mais payer trois fois plus pour le même capteur n'en vaut pas non plus la peine. Exemple: Aliexpress dispose d'un ensemble de 36 capteurs qui coûte 800 roubles. Le même ensemble est vendu dans un magasin russe pour 3,5 mille roubles. Alors c'est à vous de décider.
Servodrive
Le servomoteur est utilisé dans la conception de robots et de divers systèmes intelligents. À l'aide d'un servo, vous pouvez ouvrir les portes, connaître le degré de rotation et bien plus encore. Mais il est surtout utilisé dans la création de robots. L'angle de rotation maximal du servo: 180 degrés. Mais parfois, dans les espaces ouverts d'Aliexpress, vous pouvez également voir des options avec un angle de rotation de 360 degrés. C'est un élément assez basique, presque toutes les leçons sur Arduino avec des capteurs commencent par lui. Le servo est facile à connecter, le code de contrôle est très simple.
Pour connecter le servo, seuls trois fils sont utilisés: masse, alimentation, logique. Le fil de signal (généralement jaune ou marron) est connecté à n'importe quelle broche activée PWM (modulation à impulsions larges) sur l'Arduino.
Exemple de code:
include // inclut la bibliothèque pour travailler avec Servo servo1; // déclare une variable servo de type "servo1" void setup() // configuration de la procédure { servo1.attach(11); //lier le servo à la sortie analogique 11 } void loop() // boucle de procédure { servo1.write(0); // définit l'angle de rotation sur 0 delay(2000); // attend 2 secondes servo1.write(90); // définit l'angle de rotation sur 90 delay(2000); // attend 2 secondes servo1.write(180); // définit l'angle de rotation sur 180 delay(2000); // attend 2 secondes }
Premièrement, nous ajoutons la bibliothèque qui est déjà dans l'Arduino au code, puis nous indiquons à quelle broche le servo est connecté. Comme vous pouvez le voir, travailler avec un servo est vraiment très simple, le contrôle est un seul opérateur.
Prix sur Aliexpress: 80–100 roubles.
DHT-11
DHT-11 est utilisé pour mesurer la température et l'humidité. Ce capteur de température pour Arduino est le plus populaire en raison de son prix et de ses fonctionnalités. Mesure la température dans la plage de 0 à 50 degrés et l'humidité de 20 à 80 %. Une autre version de ce capteur, DHT-22, est également en vente, elle a une plage de mesure plus large, mais elle coûte également plusieurs fois plus cher. Pour des projets simples, son utilisation est déconseillée, donc tout le monde préfère le DHT-11, qui fait un excellent travail de mesure. L'alimentation peut être fournie de 3,3 à 5V. En général, le capteur lui-même a 4 broches de connexion, mais il existe des modules DHT-11 en vente, il est beaucoup plus pratique de travailler avec eux, car la connexion se fait via 3 broches et vous n'avez pas besoin de souffrir avec des résistances.
Connexion. Ce capteur de température est connecté à l'Arduino à l'aide de trois contacts: masse, alimentation et logique.
Exemple de code:
inclure"DHT.h" define DHTPIN 2 // Même numéro de broche mentionné ci-dessus DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.begin(); } void loop() { retard(2000); // 2 secondes de retard float h=dht.readHumidity(); // Mesurer l'humidité float t=dht.readTemperature(); // Mesurer la température if (isnan(h) || isnan(t)) { // Vérifier. Si la lecture échoue, "Read Failed" est affiché et le programme quitte Serial.println("Read Failed"); revenir; } Serial.print("Humidité: "); Impression en série(h); Serial.print("%\t"); Serial.print("Température: "); Impression en série(t); Serial.println("C"); //Affichage des indicateurs à l'écran }
Au tout début, comme lorsque vous travaillez avec un servo, la bibliothèque est connectée. Au fait, à propos de la bibliothèque. Initialement, elle n'est pas dans le package Arduino, cette bibliothèque doit être téléchargée. Il existe plusieurs versions de cette bibliothèque, dans notre exemple la plus standard est utilisée. Soyez prudent lors du téléchargement, car la syntaxe peut être différente et le code ne fonctionnera pas. De plus, il est également écrit à quel contact le capteur est connecté et sa version (DHT11 ou DHT22). Comme avec un servo, travailler avec ce capteur pour Arduino est très facile, en utilisant seulement quelques opérateurs. Soit dit en passant, le servo et le dht11 fonctionnent souvent ensemble, par exemple lors de la création de fenêtres automatiques qui s'ouvriront si la pièce ou la serre est trop chaude.
Prix sur Aliexpress: 80–100 roubles.
Capteur d'humidité du sol
Ce capteur est utilisé lorsqueconception d'arrosage automatique. Avec lui, vous pouvez mesurer l'humidité du sol, puis traiter ces données et, si nécessaire, arroser la plante. Il existe de nombreuses variantes de ce capteur pour Arduino en vente, mais le modèle FC-28 est populaire. Une option assez économique, donc tout le monde l'aime et l'utilise dans ses projets. Le capteur a deux sondes qui conduisent l'électricité à travers le sol. Avec un sol sec, la résistance est plus grande, et avec un sol humide, moins. Fondamentalement, ce capteur n'est utilisé que dans de petits projets, cela est dû au fait que les sondes sont faites d'un matériau médiocre et tôt ou tard, pendant le travail actif, elles se corrodent, après quoi le capteur cesse de fonctionner. La durée de vie du capteur peut être augmentée en l'activant uniquement lors de la prise de données au sol, par exemple une fois toutes les 6 heures. Certains artisans changent même les sondes pour de meilleures, fabriquées par eux-mêmes, ou assemblent même un capteur d'humidité pour Arduino à partir de rien.
La connexion du capteur d'humidité du sol est assez simple. Habituellement, il est livré avec un potentiomètre et un comparateur pour contrôler la sensibilité du capteur. Au total, il dispose de trois contacts: logique, alimentation et masse. Il peut être connecté à des contacts numériques et analogiques. D'ailleurs, il est plus pratique de travailler en mode analogique.
Exemple de code:
int sensor_pin=A0; int output_value; void setup() { Serial.begin(9600); Serial.println("Lecture des données du capteur"); retard (2000); } void loop() { output_value=analogRead(sensor_pin);valeur_sortie=map(valeur_sortie, 550, 0, 0, 100); Serial.print("Humidité: "); Serial.print(output_value); Serial.println("%"); retard(1000); }
Tout d'abord, nous déterminons les contacts auxquels le capteur est connecté à l'Arduino. Ensuite, nous lisons les données et les affichons. Comme avec d'autres capteurs, le FC-28 est facile à utiliser. Et tout cela grâce à des bibliothèques et des capteurs prêts à l'emploi.
Prix sur Aliexpress: 30–50 roubles.
Capteur PIR
Ce capteur de mouvement pour Arduino est utilisé dans la construction de divers systèmes de sécurité. Détecte les éléments en mouvement de 0 à 7 mètres. Nous ne considérerons pas le principe de fonctionnement, passons à la connexion de ce capteur à Arduino.
À en juger par les critiques, il est également connecté à l'aide de trois contacts: logique, alimentation et masse. Il fonctionne via des sorties numériques.
Exemple de code:
define PIN_PIR 2 define PIN_LED 13 void setup() { Serial.begin(9600); pinMode(PIN_PIR, ENTRÉE); pinMode(PIN_LED, SORTIE); } void loop() { int pirVal=digitalRead(PIN_PIR); Serial.println(digitalRead(PIN_PIR)); //Si un mouvement est détecté if (pirVal) { digitalWrite(PIN_LED, HIGH); Serial.println("Mouvement détecté"); retard (2000); } else { //Serial.print("Pas de mouvement"); digitalWrite(PIN_LED, BAS); } }
Nous déterminons les contacts auxquels le capteur est connecté, après quoi nous vérifions le mouvement. Travailler avec est très pratique et facile, mais il y a des cas de faux positifs.
Prix pourAliexpress: 30-50 roubles.
tirer des conclusions
Ci-dessus, les principaux capteurs pour Arduino ont été considérés, qui sont les tout premiers à être étudiés par les radioamateurs novices. Comme vous pouvez le voir, ils sont assez peu coûteux, ils se connectent facilement et la lecture des données ne prend que quelques lignes. En plus d'eux, il existe encore un grand nombre d'autres capteurs, même pour mesurer le pouls ! Il est plus rentable de les acheter sur Aliexpress par lots, ils coûteront donc encore moins cher. C'est facile à créer, l'essentiel est de retenir les trois règles de base de la robotique !