Automatic irigation system as first project

Hello everyone,

I'm studying CompSci but electronics and microcontrollers are completely new to me.
I want to make a project to automatically water a plant if a soil moisture sensor detects low levels of moisture.

The components I am thinking of incorporating in this project are as follows:

  • Arduino Uno
  • Datalogging shield
  • Capacitive soil moisture sensor
  • light sensor
  • temperature sensor
  • peristaltic pump (12V)

As I understand it I will also need a relay as well as a seperate power supply for the pump.

I would like to power the whole system using some sort of batteries so I can use it outside.

Now, my question is mostly about how to power it if I'd like it to run without recharging any batteries everyday.
I know the Arduino requires 5V although thanks to the regulator it can be a little higher.

I was thinking about perhaps using a combination of AA and 9V batteries. Is the voltage of the battery circuit you hook up to the system the only thing you need to be careful about or is it possible to damage the Arduino if the mah value is too high?

Are there any other/better ways to power everything? Perhaps a USB powerbank?

good to know you already define your component.
the next step you need to

  • define your power-needed for component,
    eg: moisture sensor 5v, temperature sensor 3.3v, you name it..

  • defining data connection/ interface type,
    eg: datalogger SPI, temperature ADC, moisture I2C, you name it..

UNO have 2 power input

  1. usb 5v only
  2. Vin / DC jack : can handle 7-12v

since your project has 12v pump i think would be great to have 12 v power source
here a list that that worked well with uno based on my experience:

  1. 4-cell LIPO battery
  2. 12v Motorcycle battery
  3. 4 18650 battery in series

all of those had big capacity and recharge-able
you can share for both uno and pump

" is it possible to damage the Arduino if the mah value is too high?"

No. You can never have too much battery capacity. The Arduino will only draw the current it needs.

very aggressive for a first project.

my suggestion is to get the lowest power pump you can.
a elevated bucket, a soft hose and a servo can be a cheap way to water the plants.

all the other bits are possibly low power except the UNO. that will be your power hog.

on another similar thread the OP wanted 90 days on batteries. the LED on the board alone needed about 6 of the 18650 batteries.

if the goal is to learn, then you will definitely learn lots with this scope.

if the goal is to get the plants watered, look for a ESP32 on a capacitance soil sensor with battery.

Your „pump“ will be your main power drain, i.e. turning on and off water. FIgure out how often you need the sensors to sense (i.e. moisture every 3 hours is plenty) and let the Arduino sleep the rest of the time. I use Blynk to send the data to tablet/smartphone and cover data logging that way.

rzk:
define your power-needed for component,

  • eg: moisture sensor 5v, temperature sensor 3.3v, you name it..

  • defining data connection/ interface type,
    eg: datalogger SPI, temperature ADC, moisture I2C, you name it..

Component Voltage (IN) Voltage (OUT) Usage Interface
Capacitive Soil Moisture Sensor V1.2 DC 3.3-5.5V DC 0-3.0V PH2.0-3P
DHT11 Temperature + Humidity Sensor DC 3.1~5.5V 2.5mA I2C and single-bus output
XD-05 Logging Recorder Data Logger Module Shield V1.0 DC 3.3V I2C
Arduino Uno R3 5V
Peristaltic Pump 3x5 12V 400mA

td {border: 1px solid #ccc;}br {mso-data-placement:same-cell;}

Aggertroll:
Your „pump“ will be your main power drain, i.e. turning on and off water. FIgure out how often you need the sensors to sense (i.e. moisture every 3 hours is plenty) and let the Arduino sleep the rest of the time. I use Blynk to send the data to tablet/smartphone and cover data logging that way.

Do you use WIFI for that?

dave-in-nj:
very aggressive for a first project.

my suggestion is to get the lowest power pump you can.
a elevated bucket, a soft hose and a servo can be a cheap way to water the plants.

How exactly could a servo be used for this?
By the way, looking at how expensive appropriate cells are, I'll probably just use it as a test project indoors and use a regular wall plug. I happen to have a transformer where you can select the desired output voltage.

„Do you use wifi for that?“

Good point. The lipo driven sensor nodes transfer the data via nrf24l01 to a base station (Wemos, wifi) with solid power supply. Sorry I overlooked that part.

servo as a valve. here are some ideas.....

if you use soft tubing you can pinch it.
a servo can have a cam push into the tubing and pinch it.

not sure of the name of the mechanism.... have to describe how it works.
if you have a hinge. the joint up, the leafs down. then push on the joint, the leafs spread apart. if one were fixed the other would act like a slide. that slide could pinch the tubing. the servo would lift or press the hinge joint.
it would have mechanical advantage so it would deliver more force than it takes to move the hinge.

you can use cone on a wire. let the cone drop into the outlet hole and plug is. think toilet flapper.
lift the cone and let water drain.

the force needed to pinch tubing is not high, but a servo will consume power when it is idle so you need to kill the power to the servo unless you need it to move.

so, you can arise/hang a 5 gal bucket and allow water to flow out. servo motor is between 10mA idle and 200mA stalled, but you would not need to stall it.

====

the BME280 is very low power compared to the DHT11

The soil moisture sensor can be powered down when the system is in sleep mode.
inventor page : chirp! - the plant watering alarm

the knock-off soil sensor output is analog. you can get a version that has I2C from the inventor.

they also offer LoRa option. personally, I think dfrobot should have respected the creator with acknowledgement.

the UNO is not battery friendly and you need to hack it to remove all the bits to make it work low power.
there are a few options that are very inexpensive and will be easy to work with. a mini for example.

radomusername:

Component Voltage (IN) Voltage (OUT) Usage Interface
Capacitive Soil Moisture Sensor V1.2 DC 3.3-5.5V DC 0-3.0V PH2.0-3P
DHT11 Temperature + Humidity Sensor DC 3.1~5.5V 2.5mA I2C and single-bus output
XD-05 Logging Recorder Data Logger Module Shield V1.0 DC 3.3V I2C
Arduino Uno R3 5V
Peristaltic Pump 3x5 12V 400mA

wow cool, you already had the list, now you can do the wiring connection (schematic)
by the way before combining all component into a system.. test the component one by one,
well the power source is flexible, you can improve your project along the way