Fredinard Tengey Kwame
Published © GPL3+

Arduino Robot with Temp, Ultrasonics, and Flammable Gas

This robot checks humidity, temperature, gas and flame sensor in its environment. Could be used in life saving.

IntermediateShowcase (no instructions)6 hours935
Arduino Robot with Temp, Ultrasonics, and Flammable Gas

Things used in this project

Hardware components

Breadboard (generic)
Breadboard (generic)
×1
Jumper wires (generic)
Jumper wires (generic)
×1

Story

Read more

Schematics

Pics

How the robot works

video

pic

pics

video

video

Code

Code for the robot

C/C++
Codes to make the robot fuction.
#include <dht.h>

dht DHT;

#define DHT11_PIN 5



const int trigPin = 2;

const int echoPin = 4;

const int sensorPin= 0;

const int buzzerPin= 13;

int smoke_level;



void setup() {
  
Serial.begin(9600);
 //sets the baud rate for data transfer in bits/second
  
pinMode(sensorPin, INPUT);//the smoke sensor will be an input to the arduino
  
pinMode(buzzerPin, OUTPUT);//the buzzer serves an output in the circuit
}


void loop()
{
  // establish variables for duration of the ping, 
  // and the distance result in inches and centimeters:
    int chk = DHT.read11(DHT11_PIN);
long duration, inches, cm;

  // The sensor is triggered by a HIGH pulse of 10 or more microseconds.
  
// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  
pinMode(trigPin, OUTPUT);
 
 digitalWrite(trigPin, LOW);
 
 delayMicroseconds(2);
  
digitalWrite(trigPin, HIGH);
  
delayMicroseconds(10);
 
 digitalWrite(trigPin, LOW);

  // Read the signal from the sensor: a HIGH pulse whose
  // duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
 
 pinMode(echoPin, INPUT);
  
duration = pulseIn(echoPin, HIGH);

  // convert the time into a distance

  inches = microsecondsToInches(duration);

  cm = microsecondsToCentimeters(duration);
  
 
 smoke_level= analogRead(sensorPin); //arduino reads the value from the smoke sensor

Serial.println(smoke_level);//prints just for debugging purposes, to see what values the sensor is picking up
 
 
 Serial.print(inches);
 
 Serial.print("in, ");
 
 Serial.print(cm);
  
Serial.print("cm");
  
Serial.println();

   Serial.print("humidity = ");
  Serial.println(DHT.humidity,1);
  Serial.print("temperature = ");
  Serial.println(DHT.temperature,1);
  
 
 if(smoke_level > 170){ //if smoke level is greater than 170, the buzzer will go off
    
digitalWrite(buzzerPin, HIGH);
     }
   
else{
    
digitalWrite(buzzerPin, LOW);
   
 }
  
 
 delay(150);
}




/////////////////////////////////////////// FUNCTIONS ////////////////////////////////////////


long microsecondsToInches(long microseconds)

{
  // According to Parallax's datasheet for the PING))), there are
  // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per
  // second).  This gives the distance travelled by the ping, outbound
  // and return, so we divide by 2 to get the distance of the obstacle.
  // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
  return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}

Credits

Fredinard Tengey Kwame

Fredinard Tengey Kwame

1 project • 3 followers
A beginner in Arduino projects,
Thanks to Charles Jojo Vandyck,Micah Akati and Emmanuel Ani.

Comments