EnviroDIY / Arduino-SDI-12

An Arduino library for SDI-12 communication with a wide variety of environmental sensors. This library provides a general software solution, without requiring any additional hardware.
https://github.com/EnviroDIY/Arduino-SDI-12/wiki
BSD 3-Clause "New" or "Revised" License
159 stars 100 forks source link

Help with Using library #17

Closed lilcano closed 7 years ago

lilcano commented 7 years ago

Hello I am new to Arduino and the SDI12 based sensors, I am currently working on a project to transfer data from SDI12 based sensors (Decagon 5TM sensors) wirelessly with help of the Arduino and Xbee. Can you please help me with a basic code to collect data from this sensor and display them on the Arduino serial monitor.

Kevin-M-Smith commented 7 years ago

Hi @lilcano,

I'd recommend working through the examples if you have not already done so: https://github.com/EnviroDIY/Arduino-SDI-12/tree/master/examples

Please get back in touch after you've tried those and we'll try to answer any questions you have.

I'm assuming your probe is wired up like this:

Diagrams https://github.com/Kevin-M-Smith/SDI-12-Circuit-Diagrams/blob/master/basic_setup_usb.png

Kevin-M-Smith commented 7 years ago

@lilcano, did this solve your issue?

lilcano commented 7 years ago

hello @Kevin-M-Smith i got the decagon sensors communicate with the arduino with the help of the SDI12 library. Planning on moving to logging the data to an SD card with the help of the data logging shield from adafruit. having some issues with getting the data from the sensor and storing it on the SD card. Have you done similar task or do you have any resources that can be of help? Thanks

SRGDamia1 commented 7 years ago

We've logged data from decagon loggers to an SD card via SDI-12 without trouble, though I don't have a simple example to give you. Can you explain where you're getting fouled up?

lilcano commented 7 years ago

@SRGDamia1

Can actually see results from the sensor being stored on the SD card when i run my sketch on the arduino. Did you guys use Arduino and a datalogging shield, if yes which shield?. In my case i am using the data logging shield from adafruit. Thanks

SRGDamia1 commented 7 years ago

@lilcano The SD card and shield shouldn't make any difference at all to the functionality SDI-12 library. If you can get data from the SDI-12 device, the library is working.

You need to send your device a M! command to get it to take a reading, wait the required amount of time, then send the D0! command and parse the results into a variable or buffer. Then print that variable or buffer to the SD card.

The SD card library and the SDI-12 libraries are fairly RAM heavy, in Arduino terms. It's possible that you are maxing out your board's RAM and causing it to crash. I think if that's happening, though, you'd see more obvious problems, like the board restarting itself.

Maybe later this week I can write up a simpler example for you, but it might be faster if you share your setup and explain in more detail the problem your having.

SRGDamia1 commented 7 years ago

The differences between the sensors does not appear to have anything to do with your program. It is not a significant difference. If you look more closely at the results, while not identical, they are all within the accuracy specifications of the manufacturer. (See: http://www.decagon.com/en/soils/volumetric-water-content-sensors/5tm-vwc-temp/) All sensors show Ea within 15% of the mean value, VWC within 3% of the mean value, and temperature within 1° if the mean value.

5TM.xlsx