Skip to content
  • 0 Votes
    6 Posts
    951 Views
    B
    I've found that using stainless steel probes really boosts the sensor's reliability over time. Also, reducing power to below 10µA is a game changer for long battery life.
  • 1 Votes
    12 Posts
    1k Views
    don alexD
    @Ron said in 💬 Capacitive Soil Moisture Sensor: @Puneit-Thukral Thanks. I am not quite sure, so correct me please if I am wrong, but I think I am already using the MiniCore bootloader with platformIO. Or do I need to configure to explicitly use the MiniCore bootloaders? Also I have set BOD to disabled as I read somewhere that no BOD can also save battery. hi I'm not sure, but I believe I'm already using the MiniCore bootloader with platformIO. Please tell me if I'm incorrect. Is it necessary to set the MiniCore bootloaders explicitly?
  • 2 Votes
    12 Posts
    1k Views
    YveauxY
    @mfalkvidd the one that stops at 2.7v I once broke my head over it, then it saw I was looking at the automotive datasheet...
  • 0 Votes
    2 Posts
    810 Views
    S
    Hello, Very interesting project ! When I try to put your gerber files in JLCPCB site, there is no view, and no dimensions ? Is it normal ? which dimensions is required ? Thanks
  • 0 Votes
    3 Posts
    2k Views
    S
    Hi there! Reading the Watermark sensor is no easy task indeed. Took us a while to get accurate and reliable data out of these sensors. First of all, take a look at the official documentation provided by Irrometer: https://www.irrometer.com/200ss.html Especially the pseudo-AC excitation is very important and make sure you calibrate the readings using the soil temperature. There's quite some off-the-shelf hardware on the market already. Look for a device that has a low power consumption so you can measure throughout the year, for example: https://www.crodeon.com/blogs/news/connecting-a-watermark-sensor-to-the-cloud Let me know if you have any more questions!
  • Help in data send to Domoticz

    Development domoticz dht22 soil moisture
    2
    0 Votes
    2 Posts
    2k Views
    gohanG
    Do some debug on the node and on gateway and check if data is actually sent from the node and received by gateway. Also use wait instead of sleep if you are using it as a repeater and relay actuator.
  • 0 Votes
    8 Posts
    4k Views
    N
    @Yveaux thank you for your help! yes, that makes a lot of sense actually. My ignorance on the matter kicked-in once again... sorry :( What I'm missing so is how to create a sensor node which can be operated on battery and take measurements every "x" seconds/minutes/hours: shall I leave the Gateway always on and then configure differently another Node-MCU to act as a Sensor Node ? Edit: In fact all of this was meant, for me, to be a "test run" bedore developing the whole system. I got a little off-road with the deepSleep and Battery thing, but I wanted to have a real-word-test of my sensor left for a day in the soil while sending reliable data to controller. As I'm reading even more documents and forum post, it's getting clear to me that the best thing would be "ask to the comunity" their experience with HW nodes, thus I can decide which one is best for my case.
  • Best controller for HVAC control ?

    Controllers controller hvac soil moisture
    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • Soil Moisture analog input question

    Troubleshooting soil moisture
    3
    0 Votes
    3 Posts
    3k Views
    G
    Here is the sketch if anyone can help out. #include <SPI.h> #include <MySensor.h> #define CHILD_ID_LIGHT 0 #define LIGHT_SENSOR_ANALOG_PIN 1 #define NODE_ID 9 int BATTERY_SENSE_PIN = A2; // select the input pin for the battery sense point unsigned long SLEEP_TIME = 30000; // Sleep time between reads (in milliseconds) MySensor gw; MyMessage msg(CHILD_ID_LIGHT, V_LIGHT_LEVEL); int lastLightLevel; int oldBatteryPcnt = 0; void setup() { // use the 1.1 V internal reference //analogReference(INTERNAL); gw.begin(NULL, NODE_ID, false); // Send the sketch version information to the gateway and Controller gw.sendSketchInfo("Soil_Moist_Sensor_grb", "1.15"); // Register all sensors to gateway (they will be created as child devices) gw.present(CHILD_ID_LIGHT, S_LIGHT_LEVEL); } void loop() { int lightLevel = (1023-analogRead(LIGHT_SENSOR_ANALOG_PIN))/10.23; Serial.println(lightLevel); if (lightLevel != lastLightLevel) { gw.send(msg.set(lightLevel)); lastLightLevel = lightLevel; } // get the battery Voltage int sensorValue = analogRead(BATTERY_SENSE_PIN); Serial.println(sensorValue); // 1M, 470K divider across battery and using internal ADC ref of 1.1V // Sense point is bypassed with 0.1 uF cap to reduce noise at that point // ((1e6+470e3)/470e3)*1.1 = Vmax = 3.44 Volts // 3.44/1023 = Volts per bit = 0.003363075 - changed without ref volt float batteryV = sensorValue * 0.00305734; int batteryPcnt = sensorValue / 10; Serial.print("Battery Voltage: "); Serial.print(batteryV); Serial.println(" V"); Serial.print("Battery percent: "); Serial.print(batteryPcnt); Serial.println(" %"); if (oldBatteryPcnt != batteryPcnt) { // Power up radio after sleep gw.sendBatteryLevel(batteryPcnt); oldBatteryPcnt = batteryPcnt; } gw.sleep(SLEEP_TIME); }

16

Online

11.9k

Users

11.2k

Topics

113.3k

Posts