Herramientas de usuario

Herramientas del sitio


documentacion-proceso:tecnologicos:sensores:humedad_tierra

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
documentacion-proceso:tecnologicos:sensores:humedad_tierra [2016/02/24 22:22] – [Manejo de Interrupciones] brolindocumentacion-proceso:tecnologicos:sensores:humedad_tierra [Fecha desconocida] (actual) – borrado - editor externo (Fecha desconocida) 127.0.0.1
Línea 1: Línea 1:
-====== Sensor de humedad en la tierra ====== 
- 
-**Conceptos básicos de la humedad del suelo** 
-{{youtube>jZbYbPzj6Ws}} 
- 
-===== Sensor de humedad resistivo ===== 
- 
-  * Basados en este sitio http://www.gardenbot.org/howTo/soilMoisture/ 
-  * ¿Tres pines o un pin del MCU? Con dos pines digitales que actuan de inversores del sentido de la corriente más el pin análogo se evita la rápida galvanización de las puntas de prueba en la tierra. Para que la galvanización no altera las lecturas y tenemos cantidad de pines limitados en el ESP-12 
- 
-===== Sensor de humedad capacitivo ===== 
- 
-Basado en los diseños encontrados en el siguiente enlace http://zerocharactersleft.blogspot.com.co/2011/11/pcb-as-capacitive-soil-moisture-sensor.html y adaptándolo a materiales locales se ha construído un sensor para el jardín de las delicias versión unloquer. A continuación se muestra el proceso: 
- 
-FIXME Describir los pasos 
- 
-{{:documentacion-proceso:tecnologicos:sensores:20160127_153907.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160127_153917.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160127_154039.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160127_154125.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160127_155232.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160127_162516.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160127_162521.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160127_171451.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160127_174407.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160127_174422.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160127_175950.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160127_195324.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160127_222756.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160127_222813.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160130_155546.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160130_172515.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160130_185951.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160130_195454.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160130_195606.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160130_222347.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160130_224538.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160130_224611.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160130_224617.jpg?200 |}} 
-{{:documentacion-proceso:tecnologicos:sensores:20160130_224630.jpg?200 |}} 
- 
-FIXME  Agregar los videos de demostración 
- 
-{{https://archive.org/download/20160130230025/20160127_175959.ogv}}  
-{{https://archive.org/download/20160130230025/20160130_225152.ogv}} 
-{{https://archive.org/download/20160130230025/20160130_230025.ogv}} 
- 
-opciones comerciales - http://vegetronix.com/ 
- 
-==== Software ==== 
- 
-  * No funciona en arduino para el ESP8266 la librería FreqCounter por como son manejadas las interrupciones :S 
-  * Ya se por lo menos qué es lo que hay que hacer para implementar una alternativa a la librería FreqMeasure que no funciona para el ESP. 
-    - Necesito tomar una muestra de la señal por un determinado periodo de tiempo. 
-    - Contar las interrupciones en el flanco de caída de la señal cuadrada que arroja el sensor 
-    - Medir el tiempo entre cada interrupción (para detectar el período) 
-    - Sacar el promedio de los periodos e invertirlo para obtener la frecuencia de la señal 
- 
-Código que no funciona. La implementación del manejo de las interrupciones esta mal. Adaptado de acá http://openenergymonitor.org/emon/node/123 
-<code> 
-//Number of pulses, used to measure energy. 
-long pulseCount = 0;    
- 
-//Used to measure power. 
-unsigned long pulseTime,lastTime; 
- 
-//power and energy 
-double freq,muestraPromedio,muestraTemporal; 
- 
-void setup() 
-{ 
-Serial.begin(115200); 
- 
-// interrupt attached to = pin5 
-pinMode(5, INPUT_PULLUP); 
-attachInterrupt(5, onPulse, FALLING); 
-} 
- 
-void loop() 
-{ 
- 
-} 
- 
-// The interrupt routine 
-void onPulse() 
-{ 
- 
- 
-//disable_interrupt() 
-//pulseCounter 
-if(pulseCount++ < 4) {// Número de pulso de la muestra 
-  //Calculate power 
-  //used to measure time between pulses. 
-  lastTime = pulseTime; 
-  pulseTime = micros(); 
-   
-  muestraTemporal = freq; 
-  freq = pulseTime - lastTime; 
- 
-  muestraPromedio = (muestraTemporal + freq)/2; 
-   
-} else { 
-  pulseCount = 0; 
-  //Print the values. 
-  Serial.println(muestraPromedio); 
- 
-} 
-//enableInterrup() 
- 
-} 
-</code> 
- 
-==== Manejo de Interrupciones ==== 
-https://en.wikipedia.org/wiki/Interrupt_handler\\ 
-https://www.arduino.cc/en/Reference/AttachInterrupt\\ 
-https://www.sparkfun.com/tutorials/326\\ 
- 
- 
- 
-==== TODO ==== 
- 
-- Probar sming https://github.com/SmingHub/Sming\\ 
-- Hay varios ejemplos que están en c++ plano. Sming es para poderlos probar\\ 
-- Probar platforma.io http://platformio.org/#!/\\ 
- 
-==== Referentes ==== 
- 
-arduino-frequency-counterduty-cycle-meter -> https://www.electronicsblog.net/arduino-frequency-counterduty-cycle-meter/\\ 
-FreqCounter -> http://www.pjrc.com/teensy/td_libs_FreqMeasure.html\\ 
-Timer en el ESP8266 -> http://www.switchdoc.com/2015/10/iot-esp8266-timer-tutorial-arduino-ide/\\ 
-Contador de frecuencia con arduino (usa interrupciones - ISR) -> http://www.chemcool.co.za/p/603366/arduino-frequency-counter-6-mhz\\ 
-Ver como implementan los timers -> https://github.com/NEBULAIR/esponics/blob/master/esponics-01/esponics-01.ino\\ 
-Tachometer - ESP8266 implementation -> https://github.com/eadf/esp8266_tachometer 
-Contador de pulsos - http://openenergymonitor.org/emon/buildingblocks/introduction-to-pulse-counting -> código: http://openenergymonitor.org/emon/node/123 (Por este lado va, ¿cómo se deshabilitan las interrupciones?) 
-https://github.com/esp8266/source-code-examples/blob/master/interrupt_example/Makefile 
-https://github.com/esp8266/Arduino/blob/ea302aab05480ad36c076b618abb642b1eb1893b/hardware/esp8266com/esp8266/libraries/Servo/src/esp8266/ServoTimers.h 
- 
  
documentacion-proceso/tecnologicos/sensores/humedad_tierra.1456352524.txt.gz · Última modificación: 2016/02/24 22:22 por brolin