Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Project Documentation

Arduino-Controlled Soil Monitoring and Motor Management System

Image of Arduino-Controlled Soil Monitoring and Motor Management System

Circuit Documentation

Summary

This circuit integrates various components including an Arduino UNO, soil sensors, a 9-DOF IMU, RS-485 communication module, DC motor drivers, and DC mini metal gear motors, all powered by a Li-ion 5000mAh battery. The Arduino UNO serves as the central microcontroller, interfacing with sensors and controlling the motor drivers, which in turn manage the motors. Communication is facilitated through the RS-485 module. The circuit is designed for monitoring soil conditions and controlling motors, possibly for an automated gardening system.

Component List

Arduino UNO

  • Microcontroller board based on the ATmega328P
  • Provides digital and analog I/O pins
  • Features USB connection for programming and serial communication

NPK Soil Sensor

  • Measures the nitrogen, phosphorus, and potassium content in the soil
  • Requires a 12V DC power supply

SparkFun Soil Moisture Sensor

  • Detects the volumetric content of water in the soil
  • Outputs an analog signal corresponding to the moisture level

L298N DC Motor Driver (x2)

  • Dual H-bridge motor driver
  • Capable of driving two DC motors or one stepper motor
  • Supports a supply voltage of up to 12V

DC Mini Metal Gear Motor (x3)

  • Compact DC motor with a gearbox for increased torque
  • Suitable for robotics and small automation projects

RS-485 Module

  • Serial communication module based on the RS-485 standard
  • Allows for long-distance communication between devices

Li-ion 5000mAh Battery

  • Rechargeable lithium-ion battery
  • Provides a nominal voltage of 11.1V

Adafruit 9-DOF IMU L3GD20H + LSM303

  • Inertial measurement unit with a 3-axis gyroscope and a 3-axis accelerometer
  • Communicates over I2C

Wiring Details

Arduino UNO

  • 5V connected to various components for power
  • GND connected to the common ground net
  • Vin connected to the 11.1V from the Li-ion battery
  • A0 connected to the SparkFun Soil Moisture Sensor's SIG pin
  • A4 (SDA) connected to the Adafruit 9-DOF IMU's SDA pin
  • A5 (SCL) connected to the Adafruit 9-DOF IMU's SCL pin
  • Digital pins D2 to D13 connected to the RS-485 module and both L298N motor drivers for control signals

NPK Soil Sensor

  • 12V DC connected to the 11.1V from the Li-ion battery
  • GND connected to the common ground net
  • A and B connected to the RS-485 module's A and B pins for communication

SparkFun Soil Moisture Sensor

  • VCC connected to the 5V net
  • GND connected to the common ground net
  • SIG connected to the Arduino UNO's A0 pin

L298N DC Motor Driver (x2)

  • 12V connected to the 11.1V from the Li-ion battery
  • 5V connected to the 5V net
  • GND connected to the common ground net
  • ENA, ENB, IN1, IN2, IN3, IN4 connected to various Arduino UNO digital pins for motor control
  • OUT1, OUT2, OUT3, OUT4 connected to the DC Mini Metal Gear Motors

DC Mini Metal Gear Motor (x3)

  • IN1 and IN2 connected to the corresponding OUT pins on the L298N motor drivers

RS-485 Module

  • VCC connected to the 5V net
  • GND connected to the common ground net
  • A and B connected to the NPK Soil Sensor for communication
  • RO, RE, DE, DI connected to various Arduino UNO digital pins for control and data exchange

Li-ion 5000mAh Battery

  • 11.1V connected to the Vin of the Arduino UNO and 12V of the motor drivers
  • GND connected to the common ground net

Adafruit 9-DOF IMU L3GD20H + LSM303

  • VIN connected to the 5V net
  • GND connected to the common ground net
  • SCL and SDA connected to the corresponding I2C pins on the Arduino UNO

Documented Code

Arduino UNO Sketch (sketch.ino)

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Additional Documentation (documentation.txt)

No additional code documentation provided.