Advertisement
Villalba2006

POST_79_Final

Sep 19th, 2018
15,325
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*  TITULO: Medida del porcentaje de humedad relativa del terreno mediante un sensor de humedad capacitivo
  2.  
  3.     AUTOR:
  4.    
  5.     MARIANO DEL CAMPO GARCÍA (@2018) --> INGENIERO TÉCNICO INDUSTRIAL ESPECIALIDAD ELECTRÓNICA
  6.     - FACEBOOK: https://www.facebook.com/mariano.delcampogarcia
  7.     - TWITTER: https://twitter.com/MarianoCampoGa
  8.     - CORREO: marianodc83@gmail.com
  9.    
  10.    
  11.     DESCRIPCIÓN DEL PROGRAMA
  12.    
  13.     Con este programa vamos a obtener los porcentajes de humedad relativa del terreno mediante un
  14.     sensor de humedad capacitivo. Para que el sistema trabaje correctamente debemos de modificar el
  15.     valor de las variables "Valor_Sensor_Aire" y "Valor_Sensor_Agua" por las obtenidas anteriormente
  16.     mediante el programa "Calibracion_sensor_humedad_capacitivo.ino".
  17.     A través del monitor serie del IDE de Arduino podemos ver dicho porcentaje de humedad relativa
  18.     a tiempo real, y dependiendo de su cuantía, nos avisará del estado del terreno a través del monitor.
  19.    
  20.     - Si el porcentaje <= 33% --> "Suelo seco".
  21.     - Si el porcentaje > 33% y a su vez porcentaje <= 66% --> "Suelo húmedo".
  22.     - Si el porcentaje > 66% --> "Suelo con exceso de humedad".
  23.    
  24.    
  25.    
  26.     ESQUEMA DE CONEXION
  27.    
  28.                                                                 +-----+
  29.                                    +----[PWR]-------------------| USB |--+
  30.                                    |                            +-----+  |
  31.                                    |         GND/RST2  [ ][ ]            |
  32.                                    |       MOSI2/SCK2  [ ][ ]  A5/SCL[ ] |  
  33.                                    |          5V/MISO2 [ ][ ]  A4/SDA[ ] |  
  34.                                    |                             AREF[ ] |
  35.                                    |                              GND[ ] |
  36.                                    | [ ]N/C                    SCK/13[ ] |  
  37.                                    | [ ]IOREF                 MISO/12[ ] |  
  38.                                    | [ ]RST                   MOSI/11[ ]~|  
  39.                                    | [ ]3V3    +---+               10[ ]~|  
  40.                                    | [ ]5v    -| A |-               9[ ]~|  
  41.                                    | [ ]GND   -| R |-               8[ ] |  
  42.                                    | [ ]GND   -| D |-                    |
  43.                                    | [ ]Vin   -| U |-               7[ ] |  
  44.                                    |          -| I |-               6[ ]~|    
  45.  Pin "AOUT" del sensor de humedad  | [ ]A0    -| N |-               5[ ]~|  
  46.                                    | [ ]A1    -| O |-               4[ ] |    
  47.                                    | [ ]A2     +---+           INT1/3[ ]~|  
  48.                                    | [ ]A3                     INT0/2[ ] |  
  49.                                    | [ ]A4/SDA  RST SCK MISO     TX>1[ ] |  
  50.                                    | [ ]A5/SCL  [ ] [ ] [ ]      RX<0[ ] |  
  51.                                    |            [ ] [ ] [ ]              |
  52.                                    |  UNO_R3    GND MOSI 5V  ____________/
  53.                                     \_______________________/
  54.  
  55.  
  56.   NOTAS:
  57.  
  58.    - Alimentación del sensor de humedad capacitivo:
  59.      - Pin "VCC" del sensor de humedad capacitivo -->  Pin "+5V" de Arduino.
  60.      - Pin "GND" del sensor de humedad capacitivo -->  Pin "GND" de Arduino.          
  61. */
  62.  
  63.  
  64. #define AOUT 0 // Pin analógico "A0" para conectar la salida del sensor de humedad capacitivo
  65.  
  66. const int Valor_Sensor_Aire = 630; // Valor calculado con el programa de calibración con el sensor al aire
  67. const int Valor_Sensor_Agua = 345; // Valor calculado con el programa de calibración con el sensor sumergido en agua
  68.  
  69. int valor_sensor = 0; // Variable que almacena el valor de salida del sensor de humedad capacitivo
  70. int porcentaje = 0; // Variable que almacena el porcentaje de humedad relativa del terreno
  71.  
  72.  
  73. void setup()
  74. {
  75.   Serial.begin(9600); // Comienzo de la comunicación con el monitor serie del IDE de Arduino
  76. }
  77.  
  78.  
  79. void loop()
  80. {
  81.   // Leemos el valor de la salida analógica del sensor capacitivo, conectada al pin analógico "A0"
  82.   valor_sensor = analogRead(AOUT);
  83.  
  84.   // Se calcula el porcentaje de humedad relativa teniendo en cuenta los dos límites
  85.   porcentaje = map(valor_sensor, Valor_Sensor_Agua, Valor_Sensor_Aire, 100, 0);
  86.  
  87.   if(porcentaje < 0) porcentaje = 0; // Evita porcentajes negativos en la medida del sensor
  88.  
  89.   if(porcentaje > 100) porcentaje = 100; // Evita porcentajes negativos en la medida del sensor
  90.  
  91.   // Se presenta el porcentaje a través del monitor serie
  92.   Serial.print("HUMEDAD: ");
  93.   Serial.print(porcentaje);
  94.   Serial.println("% HR");
  95.  
  96.   // Se presentan los mensajes, a través del monitor serie, dependiendo del porcentaje de humedad relativa
  97.   if(porcentaje <= 33)
  98.   {
  99.     Serial.println("Suelo seco !!!");    
  100.   }
  101.  
  102.   if(porcentaje > 33 && porcentaje <= 66)
  103.   {
  104.     Serial.println("Suelo humedo !!!");
  105.   }
  106.  
  107.   if(porcentaje > 66)
  108.   {
  109.     Serial.println("Suelo con exceso de humedad !!!");
  110.   }
  111.  
  112.   Serial.println(" ");
  113.  
  114.   delay(1000); // Retardo de un segundo entre lecturas del sensor de humedad capacitivo
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement