How to Use ESP32 with HCSR04 Ultrasonic Sonar sensor and Arduino IDE

Поділитися
Вставка
  • Опубліковано 2 гру 2024

КОМЕНТАРІ • 38

  • @ravinduyahampath2220
    @ravinduyahampath2220 3 місяці тому +10

    i m get error in distance is always 0

  • @vinnysworkshop
    @vinnysworkshop 4 місяці тому +4

    My HC-SR04 works on 5 volts, not 3.3. I do appreciate that you don't use an HC-SR04 library though.

  • @knowledge_seeker80
    @knowledge_seeker80 Рік тому +1

    By the way, after a research can get data from ultrasonic module just by using 2 wires by carry data over dc lines :)

    • @gonzaflex
      @gonzaflex 10 місяців тому +1

      can you share the link to read about?

  • @lawlliet1253
    @lawlliet1253 5 місяців тому +1

    With a esp8266 its the same process?

  • @UpskillwithAI
    @UpskillwithAI 9 місяців тому +1

    how do i open the link to see the code and circuit

    • @INOVATRIX
      @INOVATRIX  9 місяців тому

      All given in description.

  • @gonzaflex
    @gonzaflex 10 місяців тому +1

    distances under 40 cm can be measure without problem, more that that i just get random values. Any idea how solve it?

    • @INOVATRIX
      @INOVATRIX  10 місяців тому +1

      That is the approximate limit of the sensor. For more range you'll need to use more expensive and accurate sensor

    • @gonzaflex
      @gonzaflex 10 місяців тому +1

      i am using one HCSR04 with one Arduino Mega 2560 and can measure easily 2 mts in a water tank, but with ESP32 works bad, any idea?@@INOVATRIX

  • @hithushmohanaraja1133
    @hithushmohanaraja1133 8 місяців тому +1

    Will the same code work for esp8266?

    • @INOVATRIX
      @INOVATRIX  8 місяців тому +1

      Yes it should work, just make sure that you select the right pins.

    • @hithushmohanaraja1133
      @hithushmohanaraja1133 8 місяців тому

      @@INOVATRIX tysm!

    • @hithushmohanaraja1133
      @hithushmohanaraja1133 8 місяців тому +2

      The distance is always 0 cm. I am using a 3 3v esp8266. What is the issue?

  • @nehaharpal1341
    @nehaharpal1341 Місяць тому

    Thank you so much!!
    THIS WORKSSS!!

  • @alexandredamiao1365
    @alexandredamiao1365 2 місяці тому

    Thank you very much for this great content!

  • @bostonmacosx
    @bostonmacosx Рік тому +8

    This board iS 5V..... not great.

    • @fleen5177
      @fleen5177 6 місяців тому

      AliExpers has a new version for 3-5 volts

  • @utmocanimations4136
    @utmocanimations4136 8 місяців тому +1

    I ran mine with a similar code, but it keeps sending me the Distance:0

    • @bandulaudeni2626
      @bandulaudeni2626 6 місяців тому

      Me to😢😢😢

    • @snemo334
      @snemo334 5 місяців тому

      Because the vcc input for ultrasonic sensor is 5v and the output of esp 32 is 3.3v thus the low power and malfunction try to use other mcu as 5v output

  • @daren021
    @daren021 7 місяців тому +3

    IF YOU HAVE 0CM USE 5V instead of 3,3V!!!!!!!!!!!!!

    • @nrlauliasaid8007
      @nrlauliasaid8007 6 місяців тому

      i get a measurement of 0 how do i change it to 5V

    • @daren021
      @daren021 6 місяців тому

      @@nrlauliasaid8007 there is a 3,3v and a 5v output on the esp32 change it to 5v

    • @bandulaudeni2626
      @bandulaudeni2626 6 місяців тому

      How i can do it

  • @by_jhona
    @by_jhona Рік тому +1

    O meu sensor ultrasonico hc sr04 nao está funcionando no 3.3v, sabe o que poderia resolver?

    • @INOVATRIX
      @INOVATRIX  Рік тому

      Connect power to VIN pin on the ESP32 Board.

    • @by_jhona
      @by_jhona Рік тому

      @@INOVATRIX to receive the echo return, would there be damage to the esp32 input pin?

  • @dempseyprecisionltd5381
    @dempseyprecisionltd5381 6 місяців тому +1

    Thank you, working fine

  • @NotHumant8727
    @NotHumant8727 Рік тому +1

    bad. It is not async and uses blocking functions. slow

  • @bandulaudeni2626
    @bandulaudeni2626 6 місяців тому +1

    Thanks you so mutch

  • @francisfajardo4002
    @francisfajardo4002 6 місяців тому +1

    Thanks!

  • @viniciusdemenezescosta9958
    @viniciusdemenezescosta9958 8 місяців тому +1

    thanks

  • @nurhijran8287
    @nurhijran8287 Рік тому +2

    thanks man it works

  • @edwinawariyah6239
    @edwinawariyah6239 Рік тому +4

    Use this code instead and connect the VCC to VIN (Notice I changed the pins and the serial monitor baud)
    #include
    #define echoPin 18 // CHANGE PIN NUMBER HERE IF YOU WANT TO USE A DIFFERENT PIN
    #define trigPin 5 // CHANGE PIN NUMBER HERE IF YOU WANT TO USE A DIFFERENT PIN
    long duration, distance;
    void setup(){
    Serial.begin (115200);
    pinMode(trigPin, OUTPUT);
    pinMode(echoPin, INPUT);
    }
    void loop(){
    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);

    duration = pulseIn(echoPin, HIGH);
    distance = duration / 58.2;
    String disp = String(distance);
    Serial.print("Distance: ");
    Serial.print(disp);
    Serial.println(" cm");
    delay(1000);
    }

    • @explorinOW
      @explorinOW Рік тому

      Thank you so much. It works! But can you tell me the reason why you have thought to make this change & why was that one not working?

    • @nagendrasinghthakur9585
      @nagendrasinghthakur9585 4 місяці тому

      #include
      // Define pins for ultrasonic sensor
      const int trigPin = 14;
      const int echoPin = 12;
      // Define LCD pins
      const int rs = 35, en = 34, d4 = 32, d5 = 25, d6 = 26, d7 = 27;
      LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
      void setup() {
      // Initialize serial communication
      Serial.begin(9600);
      // Set up the ultrasonic sensor pins
      pinMode(trigPin, OUTPUT);
      pinMode(echoPin, INPUT);
      // Set up the LCD number of columns and rows
      lcd.begin(16, 2);
      // Print initial message to LCD
      lcd.print("Distance:");
      }
      void loop() {
      // Variables for the duration of the ultrasonic pulse and the distance
      long duration;
      int distance;
      // Send a pulse to the trigger pin
      digitalWrite(trigPin, L);
      delayMicroseconds(2);
      digitalWrite(trigPin, H);
      delayMicroseconds(10);
      digitalWrite(trigPin, L);
      // Measure the duration of the echo pulse
      duration = pulseIn(echoPin, HIGH);
      // Calculate the distance (in cm)
      distance = duration * 0.034 / 2;
      // Print distance to serial monitor
      Serial.print("Distance: ");
      Serial.print(distance);
      Serial.println(" cm");
      // Display distance on LCD
      lcd.setCursor(0, 1); // Set cursor to second line
      lcd.print(" "); // Clear previous distance
      lcd.setCursor(0, 1); // Set cursor to second line
      lcd.print(distance); // Print current distance
      // Example if-else conditions based on distance
      if (distance