Arduino Ultrasonic Sensor HC SR04 Programing in Hindi Free

Arduino Ultrasonic Sensor HC SR04 क्या है ?

Arduino Ultrasonic Sensor Hc-sr04 एक Electronic उपकरण है जो Ultrasonic Sound wave को उत्पन्न करके लक्ष्य वस्तु की दूरी को मापता है, यह जो Ultrasonic sound उत्पन्न करता है ,फिर लक्ष बस्तु से reflect होके जो sound आता है ,उस sound को Ultrasonic sound receiver ‘electrical signal’ में परिबर्तित करता है । Ultrasonic Sound wave, सुनाई देने योग्य  sound (जिसे मनुष्य सुन सकते हैं) की गति से तेज गति से यात्रा करते हैं जो इंसान सुन नहीं सकता ।

Ultrasonic sensor में दो मुख्य component होते हैं :- Transmitter (जो Piezoelectric crystal का उपयोग करके sound को उत्पन्न करता है) और Receiver (जो उस sound को Receive करता है)।

Arduino Ultrasonic sensor HC SR04
Ultrasonic Sensor

Hc sr04 Ultrasonic Sensor की प्रधानता

Ultrasonic Sensor और बस्तु के बीच की दूरी की गणना करने के लिए, Ultrasonic Sensor Transmitter द्वारा sound को भेजा जाता है और भेजने के बाद उस sound को receiver तक वापस आने मे जितना समय लगता है , उस समय को मापा जाता है।

इस गणना का Formulae है D = ½ T x C (जहां D दूरी है, T समय है, और C sound की गति ~ 343 मीटर/सेकंड है)।

उदाहरण के लिए, यदि एक आदमी ने एक Box के ऊपर एक Ultrasonic Sensor स्थापित किया है और sound को वापस आने  में 0.025 सेकंड का समय लगता है, तो Arduino Ultrasonic Sensor और Box के बीच की दूरी होगी :-

D = 0.5 x 0.025 x 343

 लगभग 4.2875 मीटर ।

Arduino Ultrasonic Sensor HC SR04 की कार्य प्रणाली

Arduino Ultrasonic Sensor  HC SR04 मानव की सुनने की क्षमता  से ऊपर की Frequency पर sound wave को भेजकर काम करते हैं। Sensor का Transducer Ultrasonic ध्वनि प्राप्त करने और भेजने के लिए एक माइक्रोफोन के रूप में कार्य करता है। हमारे Ultrasonic Sensor, कई अन्य Components की तरह, एक pulse भेजने और Echo प्राप्त करने के लिए Transducer का उपयोग करते हैं।

Transducer Mechanical signal को Electrical signal पर परिबर्तित करता है।

तकनीकी निर्देश 

  • Power Supply :- +5V DC
  • Quiescent Current :- <2mA
  • Working Current :-15mA
  • Angle :- <15°
  • Ranging Distance :- 2cm – 400 cm/1″ – 13ft
  • मापने का Angle :- 30 degree

आवश्यक Components

आपको निम्नलिखित Components की आवश्यकता होगी –

  • Breadboard × 1
  • Arduino Uno R3 × 1
  • HC SR04 ULTRASONIC Sensor × 1

प्रक्रिया

Circuit Diagram को Follow करें और नीचे दिए गए चित्र में दिखाए अनुसार Connection बनाएं-

Download Circuit Diagram

Sketch

अपने कंप्यूटर पर Arduino IDE software खोलें। Arduino language में coding के जरिये उस Code को Arduino मे Upload करके Ultrasonic sensor को नियंत्रित किया जाता है । Arduino IDE software खोलने के बाद File पर क्लिक करे ,फिर New पर क्लिक करके और एक New Sketch File खोलें।

 

Connections

Ultrasonic Sensor HC Sr04 के चार टर्मिनल हैं – +5V, Trigger, Echo, और GND जो निम्नानुसार जुरना होगा ।

  1. अपने Arduino बोर्ड पर +5V Pin को Ultrasonic sensor के +5v से जोरे।
  2. अपने Arduino बोर्ड पर Ultrasonic sensor के Trigger को Digital pin 7 से जोरे।
  3. अपने Arduino बोर्ड पर Ultrasonic sensor के Echo को Digital Pin 6 से जोरे।
  4. Arduino पर GND को Ultrasonic sensor के GND से जोरे।

Arduino Code

Connection करने के बाद code को Arduino मे upload करना होगा….

नीचे इस code को दिया गया है:-

const int pingPin = 7; // Trigger Pin of Ultrasonic Sensor
const int echoPin = 6; // Echo Pin of Ultrasonic Sensor

void setup() {
   Serial.begin(9600); // Starting Serial Terminal
}

void loop() {
   long duration, inches, cm;
   pinMode(pingPin, OUTPUT);
   digitalWrite(pingPin, LOW);
   delayMicroseconds(2);
   digitalWrite(pingPin, HIGH);
   delayMicroseconds(10);
   digitalWrite(pingPin, LOW);
   pinMode(echoPin, INPUT);
   duration = pulseIn(echoPin, HIGH);
   inches = microsecondsToInches(duration);
   cm = microsecondsToCentimeters(duration);
   Serial.print(inches);
   Serial.print("in, ");
   Serial.print(cm);
   Serial.print("cm");
   Serial.println();
   delay(100);
}

long microsecondsToInches(long microseconds) {
   return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds) {
   return microseconds / 29 / 2;
}

Download Arduino Code

Arduino Code Upload करने के बाद ,आप जिस चीज की दूरी मापना चाहते है ,उस चीज के सीधा-सीधी sensor को रखे। ताकि आप sensor से उस चीज तक कि दूरी मापा जा सके। Serial Monitor मे आप c.m के हिसाब से दूरी देख सकते है ।

Serial monitor देखने के लिये आपको Arduino IDE software पर दाहिने और option दिखाई देगा। 

परिणाम

आप Arduino की  Serial Monitor पर Sensor द्वारा मापी गई दूरी inch और c.m. में देखेंगे।

SL. No.

TYPES OF ULTRASONIC SENSORS

1

Close range ultrasonic sensors

2

Intrinsically safe ultrasonic sensors

3

High Accuracy ultrasonic sensors

4

Self-contained ultrasonic sensors

5

Ultrasonic diffuse proximity sensors

6

Ultrasonic retro-reflective sensors

7

Ultrasonic through-beam sensors

 Arduino Ultrasonic Sensor Projects

Project 1

Touch-less Automatic Motion Sensor Trash Can

इस Project मे हम एक Trash can(Dust Bin) बनायेंगे ,जिसको हम बिना चुवै उसका ढक्कन खोल और बन्ध कर सकते है।

आवश्यक Components :-

  1. Arduino UNO
  2. Ultrasonic Sensor – HC-SR04
  3. SG90 Micro-servo motor
  4. Trash can

आवश्यक Tools :-

  • Hot Glue Gun

आवश्यक Software :-

  • Arduino IDE

Circuit Diagram

Circuit Diagram के अनुसार सभी Components को जोरना होगा जैसा की नीचे दिया गया है । 

Circuit Diagram

Arduino code Upload

Circuit Diagram के अनुसार connection करने के बाद , नीचे दिया गया code को Copy करे और अभी Arduino पर code को Upload करे ।

#include <Servo.h> 

Servo myservo;
const int servo_pin = 2;
const int trig_pin = 3;
const int echo_pin = 4;
const int inter_time = 200;
int time = 0;

void setup() 
{
  Serial.begin(9600);
  myservo.attach(servo_pin, 500, 2400);
  myservo.write(90);
  pinMode (trig_pin, OUTPUT);
  pinMode (echo_pin, INPUT);
  delay(3000);
} 

void loop() 
{
  float duration, distance;
  digitalWrite(trig_pin, HIGH);
  delayMicroseconds(1000);
  digitalWrite(trig_pin, LOW);
  duration = pulseIn (echo_pin, HIGH);
  distance = (duration/2)/29;
  Serial.print(distance);
  Serial.println(" cm");
  time = time + inter_time;
  delay(inter_time);
  if (distance < 10)
  {
    for(int i = 1500; i >= 1100; i-=25){
      myservo.writeMicroseconds(i);
      Serial.println("2");
      delay(100);
    }
    delay(1000);
    for(int i = 1100; i <= 1500; i+=25){
      myservo.writeMicroseconds(i);
      Serial.println("1");
      delay(100);
    }
  }
}

Video Documentation

अभी नीचे दिया गया video के अनुसार अभी चीजो को जोरे और इस Project का मजा ले।

Project 2

Water level Meter

इस Project मे हम पानी की टंकी मे पानी की मात्रा को मापने वाली एक meter बनायेंगे वो भी बिलकुल आसानी से।

आवश्यक Components :-

  1. Arduino Micro
  2. Espressif Esp8266 ESP-01
  3. Ultrasonic Sensor – HC-SR04

आवश्यक Tools :-

  1. Glue gun
  2. Solderiong Iron

Circuit Diagram

Circuit Diagram के अनुसार सभी Components को जोरना होगा जैसा की नीचे दिया गया है । 

Circuit Diagram

Arduino code Upload

Circuit Diagram के अनुसार connection करने के बाद , नीचे दिया गया code को Copy करे और अभी Arduino पर code को Upload करे ।

#include <SoftwareSerial.h>
#define DEBUG true  
#define dbg Serial  // USB local debug
#define trigPin 5  //IO of Ultrasonic Sensor
#define echoPin 6  //IO of Ultrasonic Sensor
long duration;  
float distance;
const int max_hight=30;  // maximum deapth of the Water Tank. in my case its a bucket

String ssid = "SSID";

String pass = "PASSWORD";
String ip = "192.168.1.202";  //desired IP Address
String ref="refresh";         //Text for refeshing the HTML Page  
String num_delay = "3";		// Delay is second to refresh the HTML Page	

String sendData(String command, const int timeout, boolean debug) {
  String response = "";
  Serial1.print(command); // send the read character to the esp8266
  long int time = millis();
  while ( (time + timeout) > millis()) {
    while (Serial1.available()) {
      // The esp has data so display its output to the serial window
      char c = Serial1.read(); // read the next character.
      response += c;
    }
  }

  if (debug)
  {
    Serial.print(response);
  }

  return response;
}





void setup() {

  // Set baud rates
  pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input

  Serial1.begin(115200);
  dbg.begin(115200);
  dbg.println("DEBUG: Running Setup");



  sendData("AT+RST\r\n", 2000, DEBUG); // reset module
  sendData("AT\r\n", 2000, DEBUG); // reset module
  sendData("AT+CWMODE=1\r\n", 1000, DEBUG); // configure as access point

sendData("AT+CWJAP=\"" + ssid + "\",\"" + pass + "\"\r\n", 6000, DEBUG); // configure as access point
sendData("AT+CIPSTA=\""+ip+"\"\r\n",1000,true); // configure softAPip address
sendData("AT+CIPMUX=1\r\n",1000,DEBUG); // configure for multiple connections
sendData("AT+CIPSERVER=1,80\r\n",1000,DEBUG); // turn on server on port 80




delay(1000);


  dbg.println("DEBUG: Setup complete\n\n");
}


void loop()
{


  
  if(Serial1.available()) // check if the esp is sending a message 
  {
    Serial.println("hello");
    //delay(1000);

    /*
    while(Serial1.available())
    {
      // The esp has data so display its output to the serial window 
      char c = Serial1.read(); // read the next character.
      Serial.write(c);
    } */
    
    if(Serial1.find("+IPD,"))
    {
     delay(1000);
     sensor_data();
     String data = String((int)distance);
     String webpage="";
 
     int connectionId = Serial1.read()-48; // subtract 48 because the read() function returns 
                                           // the ASCII decimal value and 0 (the first decimal num_delayber) starts at 48
String colorgreen="background-color:green;";  //#87F467- Green, #FF7979-Red
String colorred="background-color:red;";  //#87F467- Green, #FF7979-Red

  if(distance<=10 || distance>=90){webpage="<html><body style=\""+colorred+"\"></body>";}
  else {webpage="<html><body style=\""+colorgreen+"\"></body>";}
  webpage+="<meta http-equiv=\""+ref+ "\" content=\"" + num_delay+ "\"/> <h1><center>WATER LEVEL<\center></h1> <h2><center>"+String(data)+" %<\center></h2><\html>";


     String cipSend = "AT+CIPSEND=";
     cipSend += connectionId;
     cipSend += ",";
     cipSend +=webpage.length();
     cipSend +="\r\n";
     
     sendData(cipSend,1000,DEBUG);
     sendData(webpage,1000,DEBUG);
     
//Serial.println(webpage);   


 
     String closeCommand = "AT+CIPCLOSE="; 
     closeCommand+=connectionId; // append connection id
     closeCommand+="\r\n";    
     sendData(closeCommand,3000,DEBUG);
    //Serial.println("send0");
    //delay(2000);
    }
    
  }
}
       
  
  // END - Borrowed Code


  void sensor_data()
  {
    
  digitalWrite(trigPin, LOW);  // Added this line
  delayMicroseconds(2); // Added this line
  digitalWrite(trigPin, HIGH);
//  delayMicroseconds(1000); - Removed this line
  delayMicroseconds(10); // Added this line
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2) / 29.1;
    distance=max_hight-distance;
    distance=(distance/max_hight)*100;
    
    
    }

Video Documentation

अभी नीचे दिया गया video के अनुसार अभी चीजो को जोरे और इस Project का मजा ले।

Conclusion

आशा करता हु की आपको यह पोस्ट परके कुछ अच्छी जानकारी मिली होगी। आपको नीचे comment करके जरूर बताय और आपको कुछ पूछना है तो नीचे comment करके जरूर बताय ताकि मे आपकी सहायता कर सकू।

FAQ Section

Arduino क्या है ?

Arduino एक Development Board है।,जिसमे एक micro-controller लगा हुवा होता है। जिसकी मदत से हम किसी भी electronic उपकरण को नियंत्रित कर सकते है।

Transducer क्या है ?

Transducer mechanical signal को electrical signal पर परिबर्तित करता है।

Breadboard क्या है ?

Breadboard एक ऐसा साधन है ,जिसके मदत से हम किसी भी electronic उपकरण को soldering किये बिना एक दूसरे से जोर सकते है।

Trigger pinऔर Echo pinक्या काम करता है ?

Trigger pin से sound उत्पन्न होता है और Echo pin उस sound को catch करता है।

error

Enjoy this blog? Please spread the word :)