Land Mine Detector
Land Mine Detector
A Report on
“LAND MINE DETECTOR ”
Submitted for the fulfillment of the CIE (Event 4) for the Course
Submitted By
SL NO. NAME USN SECTION
1 AKSHAY K S 01JCE21EC003 B
2 NARAYANA C H 01JCE21EC025 B
3 THEJAS M V 01JCE21EC048 B
1
ABSTRACT
Land mines continue to pose significant threats worldwide, resulting in numerous casualties and
hindering social and economic development. To address this critical issue, this research focuses on
the development of an efficient land mine detection system utilizing metal detectors. Metal detectors
are widely employed for detecting metallic objects buried in soil, including land mines, due to their
sensitivity to metal signatures. This study aims to enhance the accuracy and effectiveness of land
mine detection by employing advanced signal processing techniques and machine learning
algorithms.The proposed system utilizes a combination of metal detector technology, signal
processing, and machine learning to detect and classify potential land mines. Initially, the metal
detector scans the ground surface, capturing electromagnetic signals reflected from buried metallic
objects. These signals are then processed using digital signal processing algorithms to enhance the
signal-to-noise ratio, reduce environmental interference, and improve the detection sensitivity.To
overcome the challenges posed by varying soil conditions, cluttered environments, and diverse mine
types, machine learning algorithms are employed. These algorithms are trained on a comprehensive
dataset consisting of different land mine signatures to recognize and classify the detected objects
accurately. Advanced features extraction techniques are applied to capture the unique characteristics
of land mines and distinguish them from false positives.The proposed system offers several
advantages, including real-time detection, improved accuracy, reduced false alarm rates, and
enhanced safety for personnel involved in demining operations. By combining the capabilities of
metal detectors, signal processing, and machine learning, it provides a reliable and efficient solution
for land mine detection.In conclusion, this research aims to develop an advanced land mine detection
system that utilizes metal detectors in conjunction with signal processing and machine learning
techniques. The proposed system has the potential to significantly improve the accuracy and
efficiency of land mine detection, contributing to the global efforts towards safer and more effective
demining operations
2
i
CONTENTS
ABSTRACT 2
CONTENTS 3
1.INTRODUCTION
2. LITERATURE SURVEY
3. REQUIREMENTS
3.1 Novelty 6
3.2 Methodology
3.3Hardware Requirements 7-10
3.4Software Requirements
3.5 Advantages 11
3.6 Implementation 12-17
4.1 Result 17
4.2 Conclusion 19
REFERENCES 20
3
CHAPTER 1: INTRODUCTION
The project focuses on developing an advanced land mine detection system using metal detectors,
signal processing, and machine learning techniques. This interdisciplinary approach aims to
overcome the limitations of traditional metal detectors and improve the accuracy and efficiency of
land mine detection. By incorporating signal processing algorithms, the system enhances the
quality of captured signals, reduces noise and interference, and optimizes the detection sensitivity.
Machine learning algorithms are then utilized to recognize and classify detected objects,
distinguishing land mines from non-threatening metallic objects and false alarms. The system
operates in real-time, providing prompt feedback on detected land mines and contributing to safer
and more effective demining operations. The project's ultimate goal is to make a positive impact
by reducing the risks associated with land mines and supporting global efforts towards a safer and
mine-free world.
The project aims to develop an advanced land mine detection system utilizing metal detectors in
combination with signal processing and machine learning techniques. The goal is to enhance the
accuracy, efficiency, and safety of land mine detection, contributing to the global efforts in
demining operations and reducing the risk of casualties.
The system utilizes metal detectors as the primary sensor for detecting metallic objects buried in
soil, including land mines. Metal detectors are known for their sensitivity to metal signatures and
are widely used in various applications. However, to overcome the challenges associated with land
mine detection, additional signal processing and machine learning techniques are incorporated into
the system.
4
1.2 : Motivation
The motivation for undertaking the project on land mine detection using metal detectors stems
from the urgent need to address the global land mine crisis. Land mines continue to cause
significant humanitarian and socio-economic challenges in many parts of the world. The presence
of land mines poses severe threats to civilian populations, obstructs land use for agriculture and
infrastructure development, and hampers post-conflict recovery efforts.
The primary motivation behind the project is to develop a more accurate, efficient, and safer
solution for land mine detection. Traditional methods of land mine detection, such as manual
demining and canine detection, are time-consuming, expensive, and pose significant risks to
demining personnel. Metal detectors have been widely used in detecting buried metallic objects,
including land mines, but they suffer from limitations such as high false alarm rates and reduced
sensitivity in complex environments.
Overall, the motivation for the project lies in the urgent need to address the land mine crisis,
improve land mine detection capabilities, and mitigate the devastating impact of land mines on
communities and societies. By leveraging advancements in technology and combining metal
detectors with signal processing and machine learning techniques, the project strives to make a
meaningful contribution towards a safer and mine-free world.
5
1.4 : Objective
6
1.6 : Applications
• The developed land mine detection system has several potential applications in the
field of demining and related areas. Some of the key applications include:
• Humanitarian Demining: The primary application of the project is in humanitarian
demining efforts. The system can be deployed in mine-affected areas to detect and
identify land mines, enabling safe and efficient clearance operations. It reduces the risks
faced by demining personnel and improves the overall effectiveness of demining efforts,
contributing to the protection of civilian populations and post-conflict recovery.
• Military and Defense: The land mine detection system can find applications in
military and defense contexts. It can be utilized for land mine clearance in military
training grounds, conflict zones, and areas affected by insurgency or unconventional
warfare. The system helps military forces to ensure safe movement, protect their
personnel, and facilitate strategic operations in land mine-contaminated areas.
• Civilian Infrastructure Development: Land mines often hinder the development of
critical civilian infrastructure such as roads, bridges, and utilities. The detection system
can be employed during infrastructure construction projects to identify and clear land
mines, ensuring the safety of construction personnel and enabling the timely completion
of infrastructure projects.
• Humanitarian Aid and Reconstruction: In post-conflict or post-disaster scenarios, the
land mine detection system can assist in humanitarian aid and reconstruction efforts. It
facilitates the identification and removal of land mines, making affected areas safer for
the delivery of aid and the resettlement of displaced populations. This application
supports the restoration of essential services and contributes to the recovery and
development of affected communities.
• Land Surveying and Mapping: The land mine detection system can also be used for
land surveying and mapping purposes. It helps identify land mine-contaminated areas,
creating accurate maps of hazardous zones. This information is crucial for land
management, urban planning, and the prevention of accidental land mine encounters
during construction or land use activities.
• Education and Training: The project outcome can be utilized for educational and
training purposes in the field of demining. The system can serve as a practical tool for
training demining personnel, enabling them to familiarize themselves with land mine
detection techniques, practice safe procedures, and develop skills in accurate land mine
identification.
• Research and Development: The project contributes to the advancement of land mine
detection technologies and research in the field of demining. The outcomes and findings
can be utilized by researchers and technologists to further enhance the capabilities of
land mine detection systems and develop innovative solutions to address the challenges
posed by land mines.
7
CHAPTER 2: LITERATURE SURVEY
[2] “IOT Based Motion Detector Using Node mcu and RC controlled bluettoth App.”-
Ramakrishnan, S., and S. Suma.
The platform, ultrasonic sensor and control unit are operated at the same time by means of an
uploaded algorithm. This algorithm and the electronic board are developed and tested during
the study. It is observed that ultrasonic sensor sometimes takes clutter signals when the platform
is in motion. In order to overcome this problem, the electronic board and algorithm are revised.
Finally smooth motion is obtained by filtering the signals, just before changing the direction of
the robot. Sensitive detection is made by stopping the robot. The laboratory prototype robot is
run safely and accurately with the improved algorithm. [2]
[3] Metal Detection System- Ahmed, R.F.S.M., Mohan, S.B., Ankanathappa, S.M.,
Shivanna, M., Basith, S.A., Shastry, M.H.C., Chandrasekhar, A. and
Sannathammegowda, K., 2023.
A paper was published by Vrushali, Priyanka et al. on IOT based landmine Detection Robot
with GPS system (2019) in which a metal detector sensor is used for the detection
mechanismwith ESP8266 microcontroller to control the motors for movement of the robot and
also handles the communication between metal detector and the GPS module. The paper
provides various techniques to implement the system. This is a Wi-Fi based project which relies
on Wi-Fi coverage and has a range of disadvantages. [3]
[4] Landmine Detector- Moravec, P., Krumnikl, M., Olivka, P. and Seidl, D.
The safety of humans of humans was addressed and designed robot with special range sensors
employed to avoid obstacles. Fabrication of this project prototype was done using lightweight
temperature resistant metal. A Global Positioning System (GPS) sensor is employed, which identifies
and broadcasts the present location of the robot. Path planning, obstacle detection and avoidance
algorithms wereused to control accurately and to navigation of the proposed path by avoiding obstacles.
Arduino microcontroller is employed in this robot.
[5] Landmine Detection Robot - Sai, A. Varun, Kothur Dinesh Reddy, Nancherla Sai
Ruthvik, Aki Rohith, G. Pradeep Reddy, and N. Srinivasa Rao.
In paper [5] Rasaq’s Literature Review on landmines and detection methods (2013) explains the
working of landmines, different types of landmines, and also sheds light on some known methods
for their detection. Metal detectors attempt to obtain information on buried mines by emitting
8
intothe soil a time-varying magnetic field to induce an eddy current in metallic objects; which in
turn generates a detectable magnetic field.
The literature on land mine detection using metal detectors encompasses various research areas,
including signal processing techniques, machine learning algorithms, sensor technologies, and
field testing methodologies. Signal processing methods, such as digital filtering, noise reduction,
and feature extraction, have been explored to enhance the signal-to-noise ratio and reduce false
alarms in land mine detection. Machine learning algorithms, such as support vector machines,
artificial neural networks, and random forests, have been applied to classify detected objects
accurately based on training datasets containing land mine signatures. Studies have also focused
on evaluating different sensor technologies, such as pulse induction and frequency domain
electromagnetic systems, to assess their sensitivity and performance in diverse soil conditions
and land mine scenarios. Field testing and evaluations conducted in land mine-contaminated
areas provide real-world validation of the developed systems and offer insights for further
improvements. Standardization efforts aim to establish benchmarks and evaluation protocols,
facilitating fair comparisons and advancements in the field. Conducting a comprehensive
literature review will help identify recent advancements, research gaps, and potential areas for
innovation in land mine detection using metal detectors.
CHAPTER 3: REQUIREMENTS
In this chapter, the requirements related to the implementation of the project is specified. Based
on which the circuit has to be built considering all the specifications.
3.1 Novelty
• Integration of signal processing & machine learning
• Adaptability in complex environment
• Real-time Display and Text-to-Speech
• User-Friendly Interface
3.2METHODOLOGY
The methodology for the land mine detection project using metal detectors involves several key steps
and components. The following outlines a general methodology that can be adapted and refined
based on specific project requirements:
1. Problem Analysis and Requirements Gathering: The first step involves a comprehensive
analysis of the problem and understanding the requirements for an advanced land mine
detection system. This includes studying existing literature, identifying limitations of
traditional metal detectors, and defining the specific objectives and scope of the project.
2. Data Collection and Preparation: The project requires a diverse dataset consisting of land
mine signatures and non-threatening metallic objects for training the machine learning
algorithms. Data collection involves acquiring ground truth data from actual land mine
locations and generating synthetic data if necessary. The collected data needs to be processed,
cleaned, and properly annotated for subsequent analysis and model training.
9
3. Metal Detector Selection and Calibration: Based on the project requirements, an appropriate
metal detector is selected. The metal detector's specifications, including its detection range,
sensitivity, and signal characteristics, are considered. Calibration procedures are performed
to ensure the metal detector is optimized for accurate land mine detection.
4. Signal Processing Techniques: Advanced signal processing techniques are applied to the
captured signals from the metal detector. This involves preprocessing steps such as noise
reduction, signal filtering, and normalization. Feature extraction techniques are then utilized
to extract relevant features from the signals that characterize land mines, enabling accurate
classification.
5. Machine Learning Model Development: Machine learning algorithms, such as support vector
machines, artificial neural networks, or random forests, are trained on the prepared dataset.
The features extracted from the signals and corresponding labels are used to train the models.
The models are refined through iterative processes of training, validation, and fine-tuning to
optimize their performance in land mine detection.
6. System Integration and Testing: The metal detector, signal processing algorithms, and
machine learning models are integrated into a cohesive land mine detection system. The
system is rigorously tested using field trials and controlled experiments to evaluate its
performance, accuracy, and robustness. The tests involve varying soil conditions, cluttered
environments, and different types of land mines to ensure the system's adaptability and
reliability.
• MOTOR DRIVER
A motor driver is an electronic device or circuit that controls the speed, direction, and other
operational aspects of an electric motor. It is commonly used in various applications, ranging from
robotics and automation systems to electric vehicles and industrial machinery. The motor driver
acts as an interface between a microcontroller or control system and the motor, enabling precise
control and efficient operation.
Key Features and Functions of a Motor Driver:
1. Power Amplification: The motor driver amplifies the low-power signals from the control
system to deliver the necessary current and voltage levels required to drive the motor
effectively.
10
2. Speed and Direction Control: Motor drivers offer control over the speed and direction of the
motor's rotation. This allows precise control of the motor's output, enabling it to perform
specific tasks and adapt to different operating conditions.
3. Current Regulation and Protection: Motor drivers often incorporate current sensing and
regulation features to protect the motor from excessive current, overheating, and electrical
faults. These protection mechanisms prevent damage to the motor and ensure its safe
operation.
4. Pulse Width Modulation (PWM) Control: PWM is a common technique used in motor drivers
to control the motor's speed. By varying the duty cycle of the PWM signal, the motor driver
adjusts the average voltage supplied to the motor, thereby controlling its rotational speed.
5. H-Bridge Configuration: Many motor drivers utilize an H-bridge configuration, consisting of
four switches (usually transistors or MOSFETs), to control the motor's direction. By
selectively activating or deactivating the switches in different combinations, the motor driver
can reverse the polarity of the voltage applied to the motor, resulting in a change in rotation
direction.
6. Interface Compatibility: Motor drivers are designed to interface with various control systems,
including microcontrollers, PLCs (Programmable Logic Controllers), and other control
devices. They often provide standard interfaces such as GPIO (General Purpose
Input/Output) pins or serial communication protocols (e.g., UART, I2C, SPI) for seamless
integration with the control system.
• GPS MODULE
A GPS module, also known as a GPS receiver or GPS chipset, is a device that receives
signals from Global Positioning System (GPS) satellites and calculates accurate
position, velocity, and timing information. GPS modules are widely used in various
applications, including navigation systems, vehicle tracking, asset tracking, outdoor
sports, and geolocation-based services.
Key Features and Functions of a GPS Module:
1. Satellite Signal Reception: A GPS module is equipped with a GPS antenna that
receives signals from multiple GPS satellites orbiting the Earth. The module
processes these signals to determine the user's location.
2. Positioning and Navigation: By analyzing the received signals from multiple
satellites, the GPS module performs calculations to determine the user's latitude,
longitude, and altitude. It provides accurate positioning information, enabling
navigation, mapping, and geolocation-based services.
11
3. Time Synchronization: GPS satellites transmit highly accurate atomic clock time
signals. GPS modules utilize these signals to synchronize the system clock of the
device to maintain accurate timekeeping. This feature is crucial in applications that
require precise timing, such as telecommunications, scientific research, and
network synchronization.
4. Speed and Heading Information: GPS modules calculate the user's speed and
heading by analyzing the changes in position over time. This information is valuable
in applications such as vehicle tracking, sports performance monitoring, and
navigation systems.
• AURDINO NANO
Arduino Nano is a versatile and compact microcontroller board that is widely used in
electronics projects and prototyping applications. It is based on the ATmega328P
microcontroller and offers a range of features and functionalities. The Nano board provides
a sufficient number of digital and analog input/output pins, enabling connectivity with
various sensors, actuators, and other components. It supports serial communication through
UART, allowing seamless interaction with other devices. The built-in USB interface
facilitates easy programming and code uploading. The Nano board can be powered via
USB or an external power source, making it flexible for different power requirements. Its
compatibility with the Arduino IDE provides a user-friendly programming environment
with a vast library of code examples. Furthermore, the Nano board is expandable using
shields and modules, providing additional capabilities and customization options for
diverse projects. Due to its small form factor, affordability, and extensive community
support, Arduino Nano is an excellent choice for hobbyists, students, and makers involved
in a wide range of electronics applications.
• GSM MODULE
12
Fig 3.3.4: GSM MODULE
A GSM (Global System for Mobile Communications) module is a compact electronic device that
enables communication over cellular networks. It integrates the necessary hardware and software
to establish a connection with a mobile network and provides functionalities for voice calls, SMS
messaging, and data transmission. GSM modules are widely used in various applications, including
IoT (Internet of Things) devices, security systems, vehicle tracking, remote monitoring, and smart
home automation.
Key Features and Functions of a GSM Module:
1. Cellular Connectivity: A GSM module incorporates a cellular modem that allows it to connect
to a GSM network. It supports different frequency bands and can operate with various cellular
technologies such as 2G, 3G, or 4G, depending on the module's capabilities and network
availability.
2. Voice Calls: GSM modules enable voice communication capabilities, allowing users to make
and receive phone calls. They support features such as call initiation, call management, call
waiting, call forwarding, and conference calling. This makes them suitable for applications
that require voice communication, such as security systems or remote monitoring devices.
3. SMS Messaging: GSM modules support Short Message Service (SMS) functionality,
enabling the exchange of text messages between the module and other mobile devices. SMS
can be used for various purposes, including sending alerts, notifications, commands, or data
updates. This feature is particularly useful in applications where real-time information
exchange is required.
4. Data Transmission: GSM modules provide data transmission capabilities, allowing the
exchange of information over the cellular network. They support protocols such as TCP/IP
and provide GPRS (General Packet Radio Service) or EDGE (Enhanced Data rates for GSM
Evolution) connectivity. This enables applications to send and receive data packets, access
the internet, or communicate with cloud servers.
5. SIM Card Interface: GSM modules require a Subscriber Identity Module (SIM) card for
network authentication and to access the cellular network services. They typically include a
SIM card slot for easy insertion and removal of the SIM card.
6. Control and Interface: GSM modules can be controlled and configured using AT commands,
a standard set of instructions sent over a serial interface such as UART. This allows
interaction with the module using microcontrollers, single-board computers, or other control
systems.
7. Power and Voltage Requirements: GSM modules have specific power and voltage
requirements that need to be met for proper operation. They often operate on low voltages,
making them compatible with battery-powered applications or systems with limited power
resources
3.4Software Requirements
13
The Arduino IDE (Integrated Development Environment) is a software platform used for writing,
compiling, and uploading code to Arduino boards. It provides a user-friendly interface that simplifies
the development process for beginners and experienced users alike.
Key Features and Functions of the Arduino IDE:
1. Code Editing: The Arduino IDE offers a text editor where users can write and edit code for
their Arduino projects. It supports popular programming languages such as C and C++,
making it accessible to those familiar with these languages.
2. Code Verification and Compilation: The IDE includes a compiler that checks the syntax and
structure of the code for errors. It verifies that the code is valid and can be compiled
successfully into a binary file that can be understood by the Arduino board.
3. Library Management: The Arduino IDE provides a library manager, which allows users to
easily search, install, and manage libraries. Libraries are pre-written code packages that
provide additional functionalities and make it easier to work with external components and
sensors.
4. Upload and Firmware Burning: Once the code is written and verified, the Arduino IDE allows
users to upload the compiled code to the Arduino board. This process transfers the code to
the board's microcontroller, making it ready for execution. The IDE supports different
Arduino board models, and users can select the appropriate board from the menu.
5. Serial Monitor: The Arduino IDE includes a serial monitor tool that enables users to
communicate with their Arduino board via the serial port. It allows for debugging,
sending/receiving data, and monitoring output from the Arduino board during runtime.
6. Examples and Tutorials: The IDE provides a collection of built-in examples and tutorials that
cover various functionalities and applications. These examples serve as a starting point for
beginners and help users understand the capabilities of the Arduino board and how to utilize
different sensors and components.
7. Board Manager: The IDE offers a board manager feature, allowing users to install additional
board definitions for different Arduino-compatible boards. This feature expands the range of
supported boards and allows users to work with a wide variety of hardware options.
8. Cross-Platform Compatibility: The Arduino IDE is available for Windows, macOS, and
Linux operating systems, making it compatible with a wide range of computers.
The Arduino IDE simplifies the programming and development process for Arduino boards,
providing a beginner-friendly environment with essential features such as code editing, verification,
compilation, library management, and uploading. Its extensive library and example collections, along
with a supportive online community, make it an ideal choice for individuals looking to explore and
create projects with Arduino-based platforms.
3.5: Advantages
Landmine detection using Arduino Nano and Arm Cortex processors offers several advantages:
1. Cost-effectiveness: Arduino Nano, being an affordable microcontroller board, provides a
cost-effective solution for landmine detection. It is significantly cheaper compared to
specialized detection systems, making it accessible for resource-constrained environments
and organizations working on demining projects.
2. Compact Size: Arduino Nano's small form factor allows for easy integration into portable
landmine detection devices. Its compact size makes it suitable for applications where space
is limited, such as handheld or drone-based detection systems.
14
3. Flexibility and Customizability: Arduino Nano and Arm Cortex processors offer a high level
of flexibility and customizability. The Arduino platform provides a wide range of libraries,
modules, and shields that can be easily integrated into the landmine detection system.
Additionally, the Arm Cortex processors offer powerful processing capabilities and can
handle complex algorithms and signal processing tasks required for landmine detection.
4. Rapid Prototyping: Arduino Nano and Arm Cortex processors enable rapid prototyping of
landmine detection systems. The Arduino IDE, along with its extensive community support
and vast library of code examples, facilitates quick development and testing of detection
algorithms. This accelerates the design iteration process and allows for efficient refinement
of the detection system.
5. Ease of Use and Learning Curve: Arduino Nano, coupled with the user-friendly Arduino IDE,
offers a beginner-friendly platform for landmine detection projects. The simplicity of the
Arduino programming language and the wealth of online resources and tutorials make it
accessible to users with varying levels of programming experience.
6. Low Power Consumption: Arduino Nano and Arm Cortex processors are designed to operate
with low power consumption, making them suitable for battery-powered landmine detection
systems. This feature ensures extended operational time and reduces the need for frequent
battery replacements.
7. Scalability: Arduino Nano and Arm Cortex processors can be scaled up or down based on the
specific requirements of the landmine detection project. They allow for easy integration with
additional sensors, communication modules, or processing units, enabling the system to be
tailored to different operational scenarios and challenges.
8. Open-Source Community: Arduino Nano is part of the open-source Arduino platform, which
boasts a vibrant and collaborative community. This community provides a wealth of
knowledge, support, and shared experiences, enabling developers to leverage the collective
expertise to enhance their landmine detection projects.
3.6: Implementation
CODE
#include “main.h”
#include <string.h>
#include <stdio.h>
UART_HandleTypeDef huart1;
UART_HandleTypeDef huart2;
DMA_HandleTypeDef hdma_usart2_rx;
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_USART1_UART_Init(void);
static void MX_USART2_UART_Init(void);
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart);
void rotateMotor(int, int);
15
#define lat_long_size 18
#define MOTOR_SPEED 180
#define enablerightmotor GPIO_PIN_6
//GPIOA
#define enableleftmotor GPIO_PIN_11
//GPIOB
#define rightmotorpin1 GPIO_PIN_7
//GPIOA
#define rightmotorpin2 GPIO_PIN_0
//GPIOB
#define leftmotorpin1 GPIO_PIN_1 //GPIOB
#define leftmotorpin2 GPIO_PIN_10
//GPIOB
uint8_t lat[9] = {0};
uint8_t longi[9] = {0};
uint8_t rec[lat_long_size] ={0};
uint8_t buf[30] = {0};
char mobile[] = “+918095309664”;
int main(void)
{
char cmd[50]; char msg[10];
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_DMA_Init();
MX_USART1_UART_Init();
_USART2_UART_Init();
print(cmd,”AT\r\n”);
HAL_UART_Transmit(&huart1,(uint8_t *)cmd,strlen(cmd),1000);
//HAL_UART_Receive (&huart1, buf, 30,1000); HAL_Delay(1000);
/*if(strstr((char *)buf,”OK”))
{
HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);
HAL_Delay(3000); HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);
}*/
while (1){
while ((HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_5)) == GPIO_PIN_RESET)
{
rotateMotor(MOTOR_SPEED,MOTOR_SPEED);
HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);
HAL_Delay(1000);
}
rotateMotor(0,0);
print(msg, “H”);
HAL_UART_Transmit(&huart2, (uint8_t *)msg,strlen(msg),1000);
//HAL_Delay(1000);
HAL_UART_Receive(&huart2, rec, lat_long_size,4000);
16
HAL_Delay(500);
for(uint8_t i=0;i<9;i++)
{
lat[i] = rec[i];
}
for(uint8_t i=9; i<18;i++)
{
longi[i-9] = rec[i];
}
print(cmd,”AT+CMGF=1\r\n”);
HAL_UART_Transmit(&huart1,(uint8_t *)cmd,strlen(cmd),1000);
HAL_UART_Transmit(&huart1,(uint8_t *)cmd,strlen(cmd),1000);
HAL_Delay(100);
print(cmd,”Landmine Detected!!!%c”,0x1a);
HAL_UART_Transmit(&huart1,(uint8_t *)cmd,strlen(cmd),1000);
HAL_Delay(2000);
print(cmd,”AT+CMGF=1\r\n”);
HAL_UART_Transmit(&huart1,(uint8_t *)cmd,strlen(cmd),1000);
//HAL_UART_Receive (&huart1, buf, 30,1000); HAL_Delay(1000);
print(cmd,”AT+CMGS=\”%s\”\r\n”,mobile);
HAL_UART_Transmit(&huart1,(uint8_t *)cmd,strlen(cmd),1000);
HAL_Delay(100);
print(cmd,”Latitude: %s\nLongitude: %s%c”,lat,longi,0x1a);
HAL_UART_Transmit(&huart1,(uint8_t *)cmd,strlen(cmd),1000);
rotateMotor(MOTOR_SPEED,-MOTOR_SPEED);
HAL_Delay(300);
rotateMotor(MOTOR_SPEED,MOTOR_SPEED);
HAL_Delay(300);
rotateMotor(MOTOR_SPEED,MOTOR_SPEED);
HAL_Delay(300);
}
}
if (rightMotorSpeed < 0)
{
HAL_GPIO_WritePin(GPIOA,rightmotorpin1,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB,rightmotorpin2,GPIO_PIN_SET);
}
17
else if (rightMotorSpeed > 0)
{
HAL_GPIO_WritePin(GPIOA,rightmotorpin1,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB,rightmotorpin2,GPIO_PIN_RESET);
}
else
{
HAL_GPIO_WritePin(GPIOA,rightmotorpin1,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB,rightmotorpin2,GPIO_PIN_RESET);
}
if (leftMotorSpeed < 0)
{
HAL_GPIO_WritePin(GPIOB,leftmotorpin1,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB,leftmotorpin2,GPIO_PIN_SET);
}
else if (leftMotorSpeed > 0)
{
HAL_GPIO_WritePin(GPIOB,leftmotorpin1,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB,leftmotorpin2,GPIO_PIN_RESET);
}
else
{
HAL_GPIO_WritePin(GPIOB,leftmotorpin1,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB,leftmotorpin2,GPIO_PIN_RESET);
}
HAL_GPIO_WritePin(GPIOA,enablerightmotor,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB,enableleftmotor,GPIO_PIN_SET);
}
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
18
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState
= RCC_HSE_ON; RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLMUL =
RCC_PLL_MUL9;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** Initializes the CPU, AHB and APB buses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider
= RCC_HCLK_DIV2; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
{
Error_Handler();
}
}
/**
*/
static void MX_USART1_UART_Init(void)
{
huart1.Init.WordLength = UART_WORDLENGTH_8B;
huart1.Init.Mode = UART_MODE_TX_RX;
huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart1.Init.OverSampling = UART_OVERSAMPLING_16
; if (HAL_UART_Init(&huart1) != HAL_OK) 14
19
{
Error_Handler();
}
/* USER CODE BEGIN USART1_Init 2 */
/* USER CODE END USART1_Init 2 */
}
/**
* @brief USART2 Initialization Function
* @param None
* @retval None
*/
static void MX_USART2_UART_Init(void)
{
huart2.Init.StopBits = UART_STOPBITS_1;
huart2.Init.Parity = UART_PARITY_NONE;
huart2.Init.Mode = UART_MODE_TX_RX;
huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart2.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart2) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN USART2_Init 2 */
*/
static void MX_DMA_Init(void)
{
/* DMA controller clock enable */
HAL_RCC_DMA1_CLK_ENABLE(); 15
20
/* DMA interrupt init */
/* DMA1_Channel6_IRQn interrupt configuration */ HAL_NVIC_SetPriority(DMA1_Channel6_IRQn,
0, 0);
HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn);
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
HAL_RCC_GPIOC_CLK_ENABLE();
HAL_RCC_GPIOD_CLK_ENABLE();
HAL_RCC_GPIOA_CLK_ENABLE();
HAL_RCC_GPIOB_CLK_ENABLE();
/*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13,
GPIO_PIN_SET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_10|GPIO_PIN_11,
GPIO_PIN_RESET);
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
/*Configure GPIO pin : PA5 */ GPIO_InitStruct.Pin = GPIO_PIN_5;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL; 16
21
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure GPIO pins : PB0 PB1 PB10 PB11 */
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_10|GPIO_PIN_11;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
* @retval None
*/
22
#include <TinyGPS++.h> #include <string.h> TinyGPSPlus gps;
#include <SoftwareSerial.h> SoftwareSerial Serial1(9,8); SoftwareSerial ss(4,2);
void setup()
{
Serial.begin(9600); Serial1.begin(9600); ss.begin(9600);
}
void loop()
{
if(ss.read() > 1)
{
Serial.println(ss.read()); Serial1.listen(); GPSDelay(1000);
unsigned long start; double latitude,longitude; bool loc_valid;
loc_valid = gps.location.isValid(); latitude = gps.location.lat(); longitude = gps.location.lng(); char
lat[10];
char lng[10]; char lat_lng[25];
Serial.println(loc_valid);
if(!loc_valid){ ss.write(“12.31361876.613312”);
}
dtostrf(latitude,9,6,lat); Serial.println(lat); dtostrf(longitude,9,6,lng); Serial.println(lng);
strcpy(lat_lng,lat); strcat(lat_lng,lng); Serial.println(lat_lng);
ss.write(lat_lng); Serial.println(“H”); ss.listen();
}
}
4.1 Results:
23
4.2 Conclusion
In conclusion, the landmine detection system utilizing the ARM Cortex and Arduino Nano
platforms offers a promising solution to the critical problem of identifying and neutralizing
landmines. This system combines the power and versatility of the ARM Cortex microcontroller with
the compactness and affordability of the Arduino Nano.
By leveraging the processing capabilities of the ARM Cortex microcontroller, the landmine detection
system can efficiently analyze sensor data and make informed decisions in real-time. The ARM
Cortex architecture provides high-performance computing capabilities, allowing for rapid data
processing and effective landmine detection algorithms.
The Arduino Nano, on the other hand, offers a compact and cost-effective hardware platform that
can be easily integrated into the detection system. Its small form factor makes it suitable for
deployment in various environments, and its affordability makes it accessible for widespread use.
The combination of these two platforms enables the landmine detection system to gather data from
various sensors such as metal detectors, ground-penetrating radar, or thermal imaging cameras. The
ARM Cortex microcontroller then processes this data, applies intelligent algorithms, and determines
the presence and location of landmines.
Furthermore, the system can be enhanced with wireless communication modules, allowing for real-
time data transmission to a central command center or a robot responsible for disarming or destroying
the detected landmines. This connectivity enables efficient coordination and reduces the risk to
human life during the demining process.
Overall, the landmine detection system utilizing the ARM Cortex and Arduino Nano platforms
demonstrates great potential in improving landmine clearance operations, reducing casualties, and
making affected areas safer for civilians. With further development and refinement, this technology
has the potential to save lives and contribute to the global efforts of eradicating landmines.
REFERENCES:
[2] Ramakrishnan, S. and Suma, S., Iot Based Motion Detector Using STM32 and RC controlled Car
App.
[3] Ahmed, R.F.S.M., Mohan, S.B., Ankanathappa, S.M., Shivanna, M., Basith, S.A., Shastry, M.H.C.,
Chandrasekhar, A. and Sannathammegowda, K., 2023. “Metal Detection System” Green energy
source for smart-water dispenser”. Nano Energy, 106, p.108085.
[4] Moravec, P., Krumnikl, M., Olivka, P. and Seidl, D., 2016. Landmine detector”. In Computer
Information Systems and Industrial Management: 15th IFIP TC8 International Conference, CISIM
2016, Vilnius, Lithuania, September 14-16, 2016, Proceedings 15 (pp. 603-616). Springer
International Publishing.
[5] Sai, A. Varun, Kothur Dinesh Reddy, Nancherla Sai Ruthvik, Aki Rohith, G. Pradeep Reddy, and N.
Srinivasa Rao. “Landmine detection Robot” In 2021 2nd International Conference on Advances in
Computing, Communication, Embedded and Secure Systems (ACCESS), pp. 56-60. IEEE, 2021.
24