personas:johnny:proyectos:indoor_diy_autosostenible
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previa | Próxima revisiónAmbos lados, revisión siguiente | ||
personas:johnny:proyectos:indoor_diy_autosostenible [2020/08/09 05:37] – kz | personas:johnny:proyectos:indoor_diy_autosostenible [2020/08/09 05:48] – [Actualización 13 de julio 2020] kz | ||
---|---|---|---|
Línea 659: | Línea 659: | ||
Pero ahora lo mas importante seria el riego y poder medir con el capacitivo cuando seria un punto ideal para el riego. Asi como el dht definio puntos vitales para la configuracion de nuevas alarmas | Pero ahora lo mas importante seria el riego y poder medir con el capacitivo cuando seria un punto ideal para el riego. Asi como el dht definio puntos vitales para la configuracion de nuevas alarmas | ||
+ | ====== Actualización 9 de agosto 2020 ====== | ||
+ | He arreglado las lecturas del dht haciendo 4 lecturas en un minuto y promediando ese dato. Luego es enviado al influx para arreglar las interpolaciones generadas en la grafica del influx. | ||
+ | Ademas de eso. He añadido las lecturas de un sensor de humedad capacitivo **(Soil moisture sensor v1.2)** promediando el dato tambien y enviandolo al influx. | ||
+ | Codigo inicial para empezar a usar el sensor. | ||
+ | |||
+ | <code c++> | ||
+ | const int numReadings = 30; | ||
+ | const int sendingInterval = 1000; | ||
+ | |||
+ | int capacitive_sensor = A0; | ||
+ | |||
+ | int readings_capacitive_sensor[numReadings]; | ||
+ | int readIndex = 0; | ||
+ | int total = 0; | ||
+ | int average = 0; | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(115200); | ||
+ | |||
+ | // asigned all index to 0 | ||
+ | for(int thisReading=0; | ||
+ | readings_capacitive_sensor[thisReading] = 0; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | int currentReading = analogRead(capacitive_sensor); | ||
+ | if( currentReading > 25 && currentReading < 1000) { | ||
+ | calculateAverage(currentReading); | ||
+ | } else { | ||
+ | delay(10); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void calculateAverage(int currentReading) { | ||
+ | total = total - readings_capacitive_sensor[readIndex]; | ||
+ | readings_capacitive_sensor[readIndex] = currentReading; | ||
+ | total = total + readings_capacitive_sensor[readIndex]; | ||
+ | readIndex++; | ||
+ | average = total / numReadings; | ||
+ | if (readIndex >= numReadings) { | ||
+ | Serial.println(average); | ||
+ | // envio dato | ||
+ | readIndex = 0; | ||
+ | delay(sendingInterval); | ||
+ | } | ||
+ | delay(sendingInterval / numReadings); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | **Calibración amateur** | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | El resumen seria que cuando se **superen valores de 600 se deberia de regar**. Pero importante tambien **no regar que se baje hasta llegar a valores cercanos a 490-500** | ||
personas/johnny/proyectos/indoor_diy_autosostenible.txt · Última modificación: 2020/08/13 06:00 por kz