Système de contrôle du microclimat des serres
Début du voyage
Un jour ensoleillé, quand je suis arrivée à l'université, j'ai appris que ce semestre, j'ai un article sur les circuits. L'enseignant a proposé de ne faire qu'une note explicative «comment mettre en œuvre le projet» ou d'apprendre le côté obscur de l'ingénierie et de créer un véritable appareil. Et comme j'étais déjà en 4e année, et en me souvenant que la seule fois où j'ai mis mes compétences d'ingénieur en pratique c'était la première année (j'ai vissé une étagère au mur), j'ai décidé de "travailler avec des stylos". Après quelques délibérations, j'ai choisi le thème «Le système de contrôle du microclimat des serres». Le choix a probablement été influencé par mon amour pour l'automatisation des processus ou par le fait que j'étais moi-même engagé dans la culture de concombres en serre. Mais nous ne tirerons pas longtemps - nous commençons.Recherches de matériaux
Des amis et un enseignant ont entendu parler de la plate-forme Arduino. Après avoir lu un peu sur Arduinka et vu quelques projets terminés, le désir de créer quelque chose de moi-même est devenu encore plus grand. Pour implémenter le projet, j'ai décidé d'utiliser Arduino Nano v3. L'original a coûté un peu plus de 20 $, pour une copie que j'en ai donnée 10. Bien sûr, il serait moins cher de commander sur Aliexpress, mais je n'avais ni le temps ni l'envie d'attendre un mois entier - je voulais commencer immédiatement.J'ai décidé de la carte microcontrôleur et il est temps de décider de quels capteurs j'ai besoin. Après un peu de réflexion, j'ai décidé pour la première fois de ne pas faire quelque chose à grande échelle (comme j'aime dire «la brièveté est la sœur du talent») et de me limiter aux trois principales composantes du microclimat de la serre - la température, la lumière et l'humidité du sol. Jetons un œil à tout dans l'ordre:Capteur de température
, DHT11. ( « — »).

:
- 5V
:
- — 0 — 50°C ± 2°C
- — 20 — 95% ± 5%
:

#include <dht.h>
DHT sensor = DHT();
void setup()
{
Serial.begin(9600);
sensor.attach(A1);
delay(1000);
}
void loop()
{
sensor.update();
switch (sensor.getLastError())
{
case DHT_ERROR_OK:
char msg[128];
sprintf(msg, "Temperature = %dC, Humidity = %d%%",
sensor.getTemperatureInt(), sensor.getHumidityInt());
Serial.println(msg);
break;
case DHT_ERROR_START_FAILED_1:
Serial.println("Error: start failed (stage 1)");
break;
case DHT_ERROR_START_FAILED_2:
Serial.println("Error: start failed (stage 2)");
break;
case DHT_ERROR_READ_TIMEOUT:
Serial.println("Error: read timeout");
break;
case DHT_ERROR_CHECKSUM_FAILURE:
Serial.println("Error: checksum error");
break;
}
delay(2000);
}

, LM393 . , .
int sensorPin = A0;
unsigned int sensorValue = 0;
void setup()
{
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop()
{
sensorValue = analogRead(sensorPin);
if(sensorValue<500) digitalWrite(13, HIGH);
else digitalWrite(13, LOW);
}

(0 1), . . :
Value = analogRead(A2);
J'ai décidé des capteurs. Il est temps de penser à un beau boîtier. Après avoir fouillé dans les vagues d'Internet, j'ai trouvé ce bel homme et j'ai décidé: mon kursach y sera.
Mais depuis il a un trou pour l'affichage, je n'avais pas d'autre choix que "d'ajouter" à l'affichage du cours en utilisant l'affichage. J'ai décidé d'utiliser le lcd 1602 facile à utiliser:
Comprenant comment cela fonctionne, je suis tombé sur un très bon article , où tout est décrit en détail. J'ai connecté toutes les broches selon l'exemple de l'article. Le code est également joint.Comme source d'alimentation, j'utilise une couronne 9V. Les matériaux sont finis. Commencer à développer.Développement
Sachant comment chaque élément fonctionne séparément, il n'est pas difficile de tout assembler en un tout, ce que j'ai fait. Après plusieurs heures de la première soudure, il s'est avéré quelque chose comme ceci:
Capteurs fabriqués séparément du corps principal:
Je serai heureux de toute critique.Source: https://habr.com/ru/post/fr388837/
All Articles