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: