Conceptos básicos de la humedad del suelo
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:
Describir los pasos
Agregar los videos de demostración
opciones comerciales - http://vegetronix.com/
Código que no funciona. La implementación del manejo de las interrupciones esta mal. Adaptado de acá http://openenergymonitor.org/emon/node/123
//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() }
https://en.wikipedia.org/wiki/Interrupt_handler
https://www.arduino.cc/en/Reference/AttachInterrupt
https://www.sparkfun.com/tutorials/326
https://www.youtube.com/watch?v=DGPEB2Q83E8&nohtml5=False https://www.youtube.com/watch?v=D_7ciW_TCac https://www.youtube.com/watch?v=RiYmLy8yUAY
- 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/#!/
Uso de los timers de ESP → https://github.com/DINGGLABS/ESP8266/blob/master/WiFi-Button/WiFi-Button.ino
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
Sensor comercial de DFrobot: