Professional Documents
Culture Documents
The accidents in coal mines are increased day by day. There are numerous
life losses of many skilled workers and laborers. There is no advent precaution
measure to detect the alarming cause of the coal mine accidents and provide an
alert system. Occupational accidents and occupational diseases are common in the
mining. The most common causes of accidents in coal mining are firedamp and
dust explosions, landslips, mine fires, and technical failures related to transport and
mechanization. Ananalysis of occupational accidents in the consideration of social
and economic factors reports that the real causes behind these accidents, which are
said to happen inevitably due to technical deficiencies or failures. Thus an
automated alarming coal mine accident detection system is employed to rescue and
protect the workers from the hazards. This system incorporates the combined
action of the temperature, pressure and gas sensor and IOT module to detect the
temperature, pressure and atmosphere in the coal mine and log every data onto the
cloud using data logging. Then these data are accepted by a admin controlled sever
page through data acquisition. The data processing takes place at a server page and
the alert is send to the device to glow the alarm and to to the concerned officials
and rescue stations for taking the prevention measures.
INTRODUCTION
The major problem identified is that there are numerous accidents occuring
in the coal mines due to improper maintanance and inadequate monitoring of the
mining activities. These led to numerous lifelosses and immeasurable resourse
loss. There is no proper early deetction of the uncertainity in the coal mines. Coal
mining has been a very dangerous activity. The principal hazards are mine wall
failures and vehicle collisions; underground mining hazards include suffocation,
gas poisoning, roof collapse and gas explosions. Chronic lung diseases, such as
pneumoconiosis (black lung) were once common in miners, leading to reduced life
expectancy. In some mining countries black lung is still common. However, in
lesser developed countries and some developing countries, many miners continue
to die annually, either through direct accidents in coal mines or through adverse
health consequences from working under poor conditions.
LITERATURE REVIEW
INTRODUCTION
Characteristics
Tools
There are existing coal mine alert systems that is built using sensors and
WSN.The coal mine intelligent monitoring system, through the mine field of
ZigBee nodes to collect a variety of wireless data, through the switch to downhole
monitoring sites which adopts a ring network connection that can communicate
conveniently. In addition the system sets up a backup underground control and
monitoring stations. The data is transmitted using Ethernet connection. It includes
wireless data acquisition subsystem based on ZigBee network, industrial Ethernet
transmission subsystem and remote monitoring system.
The planned system consists of the device modules that since all the
information around the mine setting and logs the information onto the cloud
controlled server page the IOT module. The sever page is maintained IOT module.
The logged information is processed into the common values for every entry on an
associate interval basis. These prices area unit mechanically processed employing a
predefined value maintained by the server page. Once there's associate absolute
modification within the values of the perceived information associate alert is
shipped to the IOT MODULE and also the involved authorities. The IOT module
detects the alert signal and glows the intrinsic device and alert messages to the
authorities could take precaution steps. The most advantage of this project is that
IoT detects the uncertainty within the setting beforehand victimization information
analysis reports things to the involved authority and also the miners. The system
conjointly considers the emergency things in hand to alert the miners as quickly as
attainable.
BLOCK DIAGRAM
ARDUINO UNO
BLOCK DIAGRAM DESCRIPTION
HARDWARE
Nodemcu esp8266
LDR sensor
LM35 sensor
humidity sensor
Gas sensor
SOFTWARE
Arduino IDE
HARDWARE DESCRIPTION
POWER SUPPLY
AVR MICROCONTROLLER :
Pin 10 VCC=+5V
Pin 14 & 15 (RXD) ,I/O PIN 0,USART Serial Communication Interface &
ATMEGA16 – Features
LDR Sensor:
Features of LDR
4.5.1.1 Introduction:
The first version of what is now the Proteus Design Suite was called PC-B and was
written by the company chairman, John Jameson, for DOS in 1988. Schematic
Capture support followed in 1990, with a port to the Windows environment shortly
thereafter. Mixed mode SPICE Simulation was first integrated into Proteus in 1996
and microcontroller simulation then arrived in Proteus in 1998. Shape based auto
routing was added in 2002 and 2006 saw another major product update with 3D
Board Visualisation. More recently, a dedicated IDE for simulation was added in
2011 and MCAD import/export was included in 2015. Support for high speed
design was added in 2017. Feature led product releases are typically biannual,
while maintenance based service packs are released as it is required.
Proteus-overview
Product Modules:
Schematic Capture:
Schematic capture in the Proteus Design Suite is used for both the simulation of
designs and as the design phase of a PCB layout project. It is therefore a core
component and is included with all product configurations
PCB Design:
3D Verification:
The source code for the IDE is released under the GNU General Public License,
version 2. The Arduino IDE supports the languages C and C++ using special rules
of code structuring. The Arduino IDE supplies a software library from
the Wiring project, which provides many common input and output procedures.
User-written code only requires two basic functions, for starting the sketch and the
main program loop, that are compiled and linked with a program stub main() into
an executable cyclic executive program with the GNU toolchain, also included
with the IDE distribution. The Arduino IDE employs the program avrdude to
convert the executable code into a text file in hexadecimal encoding that is loaded
into the Arduino board by a loader program in the board’s firmware.
Figure
4.16
Arduino
IDE
4.5.3
Embedded c
CODING
#include <SoftwareSerial.h>
#define RX 2
#define TX 3
#include <TroykaDHT.h>
int countTrueCommand;
int countTimeCommand;
SoftwareSerial esp8266(RX,TX);
void setup()
{
pinMode(out1, OUTPUT);
pinMode(out2, OUTPUT);
pinMode(out3, OUTPUT);
lcd.begin(16, 2);
Serial.begin(9600);
lcd.setCursor(0, 0);
lcd.setCursor(0, 1);
lcd.print(" TO ");
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.setCursor(0, 1);
delay(2000);
lcd.clear();
dht.begin();
esp8266.begin(115200);
sendCommand("AT",5,"OK");
sendCommand("AT+CWMODE=1",5,"OK");
void loop()
lcd.setCursor(0, 0);
lcd.setCursor(0, 1);
delay(2000);
lcd.clear();
dht.read();
switch(dht.getState()) {
// всё OK
case DHT_OK:
Serial.print(dht.getTemperatureC());
Serial.println(" C \t");
Serial.print("Temperature = ");
Serial.print(dht.getTemperatureK());
Serial.println(" K \t");
Serial.print("Temperature = ");
Serial.print(dht.getTemperatureF());
Serial.println(" F \t");
Serial.print("Humidity = ");
Serial.print(dht.getHumidity());
Serial.println(" %");
break;
case DHT_ERROR_CHECKSUM:
Serial.println("Checksum error");
break;
case DHT_ERROR_TIMEOUT:
case DHT_ERROR_NO_REPLY:
break;
vibra();
Light();
tempe();
humid();
CO2();
void tempe()
lcd.print("TEM: ");
lcd.setCursor(4, 0);
lcd.print(sens1);
delay(2000);
digitalWrite(out1, HIGH);
else
digitalWrite(out1, LOW);
sendCommand("AT+CIPMUX=1",5,"OK");
sendCommand("AT+CIPSEND=0," +String(getData.length()+4),4,">");
esp8266.println(getData);delay(1500);countTrueCommand++;
sendCommand("AT+CIPCLOSE=0",5,"OK");
}
void humid()
lcd.setCursor(8, 0);
lcd.print("HUM: ");
lcd.setCursor(12, 0);
lcd.print(dht.getHumidity());
delay(2000);
digitalWrite(out2, HIGH);
else
digitalWrite(out2, LOW);
sendCommand("AT+CIPSEND=0," +String(getData.length()+4),4,">");
esp8266.println(getData);delay(1500);countTrueCommand++;
sendCommand("AT+CIPCLOSE=0",5,"OK");
void vibra()
delay(2000);
if (sens2 == LOW)
digitalWrite(out2, HIGH);
else
digitalWrite(out2, LOW);
}
String getData = "GET /update?api_key="+ API +"&"+ VIBRAT
+"="+String(sens2);
sendCommand("AT+CIPMUX=1",5,"OK");
sendCommand("AT+CIPSEND=0," +String(getData.length()+4),4,">");
esp8266.println(getData);delay(1500);countTrueCommand++;
sendCommand("AT+CIPCLOSE=0",5,"OK");
void Light()
lcd.setCursor(0, 1);
lcd.print("LIG: ");
// lcd.setCursor(4, 1);
// lcd.print(sens3);
delay(2000);
if (sens3 == HIGH)
digitalWrite(out3, HIGH);
lcd.setCursor(4, 1);
lcd.print("ON");
else
digitalWrite(out3, LOW);
lcd.setCursor(4, 1);
lcd.print("OFF");
void CO2()
lcd.setCursor(8, 1);
lcd.print("CO2:");
lcd.setCursor(12, 1);
lcd.print(sens4);
delay(2000);
Serial.print("CO2:");
Serial.println(sens4);
delay(2000);
digitalWrite(out2, HIGH);
else
digitalWrite(out2, LOW);
sendCommand("AT+CIPMUX=1",5,"OK");
sendCommand("AT+CIPSEND=0," +String(getData.length()+4),4,">");
esp8266.println(getData);delay(1500);countTrueCommand++;
sendCommand("AT+CIPCLOSE=0",5,"OK");
{
Serial.print(countTrueCommand);
Serial.print(command);
Serial.print(" ");
esp8266.println(command);//at+cipsend
if(esp8266.find(readReplay))//ok
found = true;
break;
countTimeCommand++;
if(found == true)
Serial.println("OYI");
countTrueCommand++;
countTimeCommand = 0;
if(found == false)
Serial.println("Fail");
countTrueCommand = 0;
countTimeCommand = 0;
found = false;