LoRa TDS Sensor

From MakerFabsWiki
Jump to: navigation, search

Introduce

Total dissolved solids (TDS) represent the total concentration of dissolved substances in water. Typically, the higher the TDS value, the more substances dissolved in water. So it can be used to indicate the water quality.

LoRa TDS sensor is based on Atmel 328P, providing the LoRa wireless communication. It also provides a waterproof TDS probe and a waterproof DS18B20 sensor, making the testing process much easier to handle. For long communication, it can use the onboard LoRa module to transmit the measuring or receive.

LoRa TDS sensor supports Arduino development, and it can be applied in water quality applications such as TDS meter, aquarium, hydroponics, etc.

Model: LoRa TDS sensor

700px

Features

  • ATMEL Atmega328P: High Performance, Low Power Atmel®AVR® Classic Microcontroller
  • Onboard LoRa module(433Mhz, 868Mhz or 915Mhz)
  • Communication distance: 2km or more
  • Arduino Compatibility
  • Waterproof TDS Probe
  • TDS Measurement Range: 0 ~ 1000ppm
  • Water Temperature Probe
  • Power supply by battery
  • Charger IC onboard

Hardware

LoRa TDS sensor 002.jpg

Firmware

LoRa TDS sensor had been loaded the firmware before shipping, so it can be used directly to measure the TDS value and temperature in liquid after unpacking it. Besides, the firmware uploaded to the sensor could receive the specific instruction and do some operations.

1. The firmware is available on Github.
2. Device ID: every LoRa TDS sensor has an only ID for identification during the production, and the device ID is usually printed on the PCB.

LoRa TDS sensor 003.jpg
The ID had been coded in the firmware, but it can be changed to any if you want. Open the firmware by Arduino IDE, modify the number marked in red to yours, and upload the firmware to your board.
LoRa TDS sensor 004.jpg

3.Instruction: there is an instructions that the LoRa TDS sensor will receive it by the LoRa and reply to measuring data.

LoRa TDS sensor 005.jpg
There is an example to show the instruction for obtaining the sensor measuring.
E: ID040002ACT114PARAM000000#
R: ID040002 REPLY : TDS TEM 276 TDV 362
It means the TDS value in liquid is 362ppm, the temperature is 27.6℃.

Using Demo

1. Prepare a battery or power supply with 2.0mm 2-pins interface to power the LoRa TDS sensor.
2. Put the TDS probe and temperature probe into the measured liquid.

LoRa TDS sensor 006.jpg

3. Prepare another LoRa device with the same frequency to work with the LoRa TDS sensor. You can check here for more LoRa devices. I used the ESP32 TFT screen LoRa controller to transmit the instruction, and the sensor will receive it and back to the measuring.

LoRa TDS sensor 007.jpg

4. The firmware of the ESP32 TFT screen LoRa controller is available on GitHub. Upload the firmware to the controller by Arduino IDE (may you have to install some libraries for this firmware).
5. Type in the sensor ID to the controller for adding the device, then press the created button to enter the control page.

LoRa TDS sensor 008.jpg

6. The controller will transmit the instruction circularly every two seconds and display the measuring on the screen.

LoRa TDS sensor 009.jpg

LoRa Transmitter

We provide a demo that used the LoRa TDS sensor to measure and transmit the measuring through LoRa.
1. The code can be obtained from GitHub.
2. Open the code by Arduino IDE, and it needs to install the LoRa library(RadioLib.h) for the LoRa module to work.

LoRa TDS sensor 010.jpg

3. Install the library (OneWire.h) for the temperature measurement.

LoRa TDS sensor 012.jpg

4. The default frequency setting is 433Mhz in the code, if you want other frequency LoRa modules (such as 868Mhz or 915Mhz) working, it needs to do two changes in the code.

#define FREQUENCY 434.0  //868.0 or 915.0
#define BANDWIDTH 125.0
#define SPREADING_FACTOR 9
#define CODING_RATE 7
#define OUTPUT_POWER 10
#define PREAMBLE_LEN 8
#define GAIN 0
SX1278 radio = new Module(LORA_CS, DIO0, LORA_RST, DIO1, SPI, SPISettings());   //433Mhz
//SX1276 radio = new Module(LORA_CS, DIO0, LORA_RST, DIO1, SPI, SPISettings()); //868Mhz or 915Mhz

5. Verify the code and upload it to the board.
6. The sensor will be a transmitter to transmit the TDS measuring and temperature measuring through LoRa.

LoRa TDS sensor 011.jpg

F&Q

You can list your question here or contact support@makerfabs.com for technology support. Detailed descriptions of your question will be helped to solve your question.

Recources