Sistema de control de microclima de invernadero

Inicio del viaje


Un día soleado, cuando llegué a la universidad, descubrí que este semestre tenía un curso de circuitos. El profesor se ofreció a hacer solo una nota explicativa "cómo implementar el proyecto" o aprender el lado oscuro de la ingeniería y crear un dispositivo real. Y como ya estaba en el cuarto año, y recordando que la única vez que puse en práctica mis habilidades de ingeniero fue en el primer año (atornillé una estantería a la pared), decidí "trabajar con bolígrafos". Después de algunas deliberaciones, elegí el tema "El sistema de control del microclima del invernadero". Lo más probable es que la elección haya sido influenciada por mi amor por la automatización de procesos, o por el hecho de que yo mismo estaba involucrado en el cultivo de pepinos en invernaderos. Pero no tiraremos por mucho tiempo, comenzamos.

Búsquedas de material


De amigos y un maestro escuché sobre la plataforma Arduino. Después de leer un poco sobre Arduinka y ver un par de proyectos completados, el deseo de crear algo propio se hizo aún mayor. Para implementar el proyecto, decidí usar Arduino Nano v3. El original costó un poco más de $ 20, por una copia que di 10. Por supuesto, sería más barato ordenar en Aliexpress, pero no tenía ni el tiempo ni el deseo de esperar un mes completo; quería comenzar de inmediato.

Me decidí por la placa del microcontrolador y es hora de decidir qué sensores necesito. Después de pensar un poco, decidí por primera vez no hacer algo a gran escala (como me gusta decir "la brevedad es la hermana del talento") y limitarme a los tres componentes principales del microclima del invernadero: temperatura, luz y humedad del suelo. Echemos un vistazo a todo en orden:

  1. Sensor de temperatura
    , DHT11. ( « — »).

    imagen

    :

    1. 5V

    :

    • — 0 — 50°C ± 2°C
    • — 20 — 95% ± 5%

    :

    imagen

    //  
    #include <dht.h>
     
    //  -
    DHT sensor = DHT();
     
    void setup()
    {
        Serial.begin(9600);
     
        //  attach     
        // .       
        sensor.attach(A1);
        //
        //          
        delay(1000);
    }
     
    void loop()
    {
        //  update     
        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);
    }
    


  2. imagen

    , 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);   // 
       
      //     
      //Serial.print(sensorValue, DEC);     //     (0-1024)
      //Serial.println("");                 //    
      //delay(500);  
    }
    


  3. imagen

    (0 1), . . :

     Value = analogRead(A2);  //      
    


Me decidí por los sensores. Es hora de pensar en un hermoso caso. Después de hurgar en las olas de Internet, encontré a este hombre guapo y decidí: mi kursach estará allí.

imagen

Pero desde tiene un agujero para la pantalla, no tuve más remedio que "agregar" a la pantalla del curso utilizando la pantalla. Decidí usar el lcd 1602 fácil de usar: al

imagen

comprender cómo funciona, me encontré con un muy buen artículo donde todo se describe en detalle. Conecté todos los pines de acuerdo con el ejemplo en el artículo. El código también está adjunto.

Como fuente de energía, uso una corona de 9V. Los materiales han terminado. Comenzando a desarrollar.

Desarrollo


Sabiendo cómo funciona cada elemento por separado, no es difícil reunir todo en un todo, lo cual hice. Después de varias horas de la primera soldadura, resultó algo como esto:

imagen

imagen

sensores fabricados por separado del cuerpo principal:

imagen

imagen



Estaré encantado de cualquier crítica.

Source: https://habr.com/ru/post/es388837/


All Articles