Arduino B.Tech/Diploma Beginner

Make an Automatic Grass Cutting Robot using Arduino

Make an Automatic Grass Cutting Robot or Lawn mower robot using Arduino & BLDC Motor Blade that moves and cuts grass & also detects obstacles

  • Suitable forB.Tech/Diploma Arduino students
  • Build time1-2 weeks
  • LevelBeginner
  • Available atAjvika Labs, Kakinada

About this project

Overview
In this Robotic project, we will build an Automatic Grass Cutter Robot or a Lawn mower robot using Arduino. The Robot can cut the excess grass in the garden automatically. If there is an obstacle in the garden then it will automatically change its direction. It helps to reduce human efforts.
The article provides a basic overview of the project with the components required for making an Arduino Grass Cutter Robot. The circuit schematic along with Arduino Source code is provided so that the assembly process and programming process can be made easier.
WARNING:
This project is not a toy, it contains sharp blades which can cause serious injuries if it is not used carefully. Do not leave it unattended. The blades should be correctly fixed. Check before operating the Robot.
Bill of Materials
We need the following components to build an Arduino Automatic Grass Cutting Robot. You can purchase all the components from the given links.
S.N.
Components
Quantity
Purchase Links

Arduino UNO Board

Amazon
AliExpress

L293D Motor Driver Shield

Amazon
AliExpress

Ultrasonic Sensor HC-SR04

Amazon
AliExpress

Ultrasonic Sensor Case/Holder

Amazon
AliExpress

DC Gear Motors

Amazon
AliExpress

BLDC Motor 100KV

Amazon
AliExpress

Servo Motor SG-90

Amazon
AliExpress

ESC Module

Amazon
AliExpress

Servo Motor Tester

Amazon
AliExpress

3-Pin Slide Switch

X Type Cross Holder

Robot Chasis

Amazon
AliExpress

11.1V Lipo Battery

Amazon
AliExpress
What is a Grass Cutting Robot (Lawn Mower)?
A grass-cutting robot, also known as a lawn mower robot, is a robotic device designed to automatically cut and maintain a lawn. These robots use sensors and algorithms to navigate and mow the lawn and can be programmed to cut the grass on a specific schedule or in response to the growth rate of the grass. Some grass-cutting robots are also equipped with features such as obstacle detection, anti-theft protection, and remote control via a smartphone app. They are becoming more popular in recent years as a way to save time and effort on lawn maintenance.
Grass-cutting robots use a variety of technologies to navigate and cut the lawn. Some use a random pattern to cover the entire lawn, while others use more advanced algorithms such as spiral patterns to ensure that the entire lawn is evenly cut. The robots typically have sensors that help them detect obstacles such as trees, rocks, and gardens, and they will adjust their path accordingly to avoid damaging these areas.
The robots are usually equipped with a cutting mechanism, which can be a reel of cutting blades or a rotary blade. The cutting height can be adjusted to suit the length of the grass and the robot can be programmed to cut the lawn at a specific height. Some robots also have a mulching function, which finely cuts the grass clippings and returns them to the lawn as a natural fertilizer.
Overall, grass-cutting robots are a convenient and efficient way to maintain a lawn. They can save time, effort, and energy compared to manual lawn mowing and can help ensure that the lawn is kept in good condition all year round.
Block Diagram: Automatic Grass Cutting Robot using Arduino
The block diagram of Arduino Automatic Grass Cutting Robot shows how the different components are connected and how they interact with one another to perform the task of cutting grass automatically.
The Arduino board acts as the brain of the robot, controlling all the other components and executing the programmed instructions. The ultrasonic sensor is used to detect the location of grass and obstacles in the robot’s path.
The L293D motor driver Shield is used to control the movement of the robot and is connected to the microcontroller. The 4 DC Gear motors are used to power the movement of the robot. And Servo Motor SG90 is attached at the head so pan motion to look for an obstacle on the left, right, and front.
For the cutting mechanism, a 100KV BLDC motor is used which rotates at a very high speed. This motor is connected to a cutting blade, which is used to cut the grass. The on/off mechanism and speed of the motor is controlled using the Servo Motor tester. You can use
BLDC Motor Controller
for this application.
The robot requires a power source to operate, which can be a rechargeable battery or a power cord. In our case, we are using an 11.1V Lipo Battery.
Circuit Diagram & Connections
A circuit diagram of an automatic grass cutting robot using Arduino would show the connections between the different components of the robot. Here’s an example of what the circuit diagram used for this project.
The L293D Motor Driver Shield is connected to the top of the Arduino UNO Board. The 4 DC motors are connected to the Motor Driver shield which is controlled via digital pins D1, D2, D3, and D4 of the Arduino UNO Board. The Servo Motor is controlled via PWM Pin D10 of Arduino. The Ultrasonic Sensor HC-SR04 has TRIGN & ECHO Pins which are connected to A0 & A1 of the Arduino Board.
To control the BLDC Motor an ESC Module
Servo Tester
is used. The entire circuit is powered by an 11.1V Lithium-Ion Battery. The Arduino has a 5V regulator which converts the 11.1V to 5V Supply. The BLDC Motor directly operates at 11.1V.
Source Code/Program
The program for Grass Cutting Lawn Mower Robot is written on Arduino IDE. We need to add few libraries to the Arduino IDE.
AFMotor Library:
https://github.com/adafruit/Adafruit-Motor-Shield-library
NewPing Library:
https://github.com/microflo/NewPing
Copy the following code and upload it to the Arduino UNO Board.

#include <AFMotor.h>
#include <NewPing.h>
#include <Servo.h>
#define TRIG_PIN A0
#define ECHO_PIN A1
#define MAX_DISTANCE 200
#define MAX_SPEED 190
#define MAX_SPEED_OFFSET 20
NewPing
sonar
(
TRIG_PIN
ECHO_PIN
MAX_DISTANCE
)
;
AF_DCMotor
motor1
(

MOTOR12_1KHZ
)
;
AF_DCMotor
motor2
(

MOTOR12_1KHZ
)
;
AF_DCMotor
motor3
(

MOTOR34_1KHZ
)
;
AF_DCMotor
motor4
(

MOTOR34_1KHZ
)
;
Servo
myservo
;
boolean
goesForward
=
false
;
int
distance
=

;
int
speedSet
=

;
void
setup
(
)
{
myservo
attach
(

)
;
myservo
write
(

)
;
delay
(
2000
)
;
distance
=
readPing
(
)
;
delay
(

)
;
distance
=
readPing
(
)
;
delay
(

)
;
distance
=
readPing
(
)
;
delay
(

)
;
distance
=
readPing
(
)
;
delay
(

)
;
}
void
loop
(
)
{
int
distanceR
=

;
int
distanceL
=

;
delay
(

)
;
if
(
distance
<=

)
{
moveStop
(
)
;
delay
(

)
;
moveBackward
(
)
;
delay
(

)
;
moveStop
(
)
;
delay
(

)
;
distanceR
=
lookRight
(
)
;
delay
(

)
;
distanceL
=
lookLeft
(
)
;
delay
(

)
;
if
(
distanceR
>=
distanceL
)
{
turnRight
(
)
;
moveStop
(
)
;
}
else
{
turnLeft
(
)
;
moveStop
(
)
;
}
}
else
{
moveForward
(
)
;
}
distance
=
readPing
(
)
;
}
int
lookRight
(
)
{
myservo
write
(

)
;
delay
(

)
;
int
distance
=
readPing
(
)
;
delay
(

)
;
myservo
write
(

)
;
return
distance
;
}
int
lookLeft
(
)
{
myservo
write
(

)
;
delay
(

)
;
int
distance
=
readPing
(
)
;
delay
(

)
;
myservo
write
(

)
;
return
distance
;
delay
(

)
;
}
int
readPing
(
)
{
delay
(

)
;
int
cm
=
sonar
ping_cm
(
)
;
if
(
cm
==

)
{
cm
=

;
}
return
cm
;
}
void
moveStop
(
)
{
motor1
run
(
RELEASE
)
;
motor2
run
(
RELEASE
)
;
motor3
run
(
RELEASE
)
;
motor4
run
(
RELEASE
)
;
}
void
moveForward
(
)
{
if
(
!

Technologies used

ArduinoBLEHC-SR04PIRServoSPIPWMArduino IDE

Hardware components

  • Arduino
  • HC-SR04
  • PIR
  • Servo
  • Motor Driver
  • Servo Motor

Software & tools

  • Arduino IDE

What you get

  • Working project / hardware kit, tested before delivery
  • Complete source code with explanation
  • Project demo and guidance for your viva
  • Project report, PPT and IEEE paper support (on request)
Delivery & Payment
Delivery takes a minimum of two weeks from the date your inquiry is confirmed. Payment is in two parts: • 50% advance to start the project • Remaining 50% before delivery Note: • Documentation and PPT are not included by default • If you need documentation/PPT, it can be arranged for extra time and cost We'll confirm the exact timeline and cost with you after reviewing your requirements.