Collision detection using accelerometer and ultrasonic sensor
Collision detection using accelerometer and ultrasonic sensor

Smart safety with EzloPi!

Collision detection using accelerometer and ultrasonic sensor

The EzloPi smart devices provide automation through simple, customizable use with our open-source EzloPi platform, making daily life easier and improving human-machine interactions.

Before moving into this example, it is very important to know about the device registration, provisioning and converting the ESP32 device into an EzloPi device along with knowledge of Web Flasher, MiOS Mobile Application for Android/iOS and the MiOS Web Application.

1. About this example

The collision detection system leverages an accelerometer (ADXL345) and an ultrasonic sensor (HC-SR04) interfaced with the EzloPi device for enhanced safety and navigation. The accelerometer monitors sudden changes in acceleration or tilt, indicating potential impacts or instability. Simultaneously, the ultrasonic sensor detects nearby obstacles by measuring distance using sound waves. Combined, these sensors provide real-time feedback, enabling the system to prevent collisions effectively. This dual-sensor integration is ideal for applications in vehicle safety, robotics and marine navigation. The EzloPi device ensures seamless sensor interfacing, efficient data processing, and configurable outputs such as alarms or automated controls.

3. Circuit Diagram & Interface

The following components are required for interfacing with the EzloPi device:

  • ESP32 as an EzloPi smart device.
  • ADXL345 3-axis accelerometer.
  • HC-SR04 Ultrasonic sensor.

The wiring diagram for the ESP32 30 pin is represented as below:

The following connections are made in order to complete the circuit setup:

From ESP32 to the ADXL345:

ESP32 ADXL345
3V3 VCC
GND GND
D21 SDA
D22 SCL

From ESP32 to the HC-SR04:

ESP32 HC-SR04
VIN VCC
GND GND
D13 ECHO
D23 TRIG

4. Interfacing the ADXL345 3-Axis Accelerometer & Ultrasonic sensor with the EzloPi Web Flasher

1. Set up your device/hardware by visiting config.ezlopi.com

  1. Log in using the credentials which you just set earlier while signing up.
  1. Now, click on the Connect Device button and a pop-up window will appear.
  1. Now, select COM Port to which your ESP32 device is connected. In our case, the COM3 port is used.

Click Connect

  1. If you are new to this and it's your first time configuring, select Create new Device ID. Click on the Configure Wifi button. Enter Wifi SSID and Wifi Password.
  2. In the Device Configuration, tab click on I2C.
  1. An I2C window will be opened for inputting the following parameters:
  • Set the Device name of your choosing. In our case, we set it to ADXL345.
  • Set the Device Subtype to ADXL345 3-Axis Accelerometer.
  • Set the Slave Address to 89.
  • Set the SDA pin to 21.
  • Set the SCL pin to 22.
  • Tick mark the Button Enable Box.
  • Then Click Apply Button.
  1. Again, In the Device Configuration, tab click on Other
  1. An Other window will be opened for inputting the following parameters:
  • Set the Device name of your choosing. In our case, we set it to Ultrasonic Sensor.
  • Set the Device Subtype to Ultrasonic Sensor HC SR04.
  • Tick mark both boxes of GPIO1 & GPIO2.
  • Set the GPIO1 pin to 13.
  • Set the GPIO2 pin to 23
  • Then Click Apply Button
  • After clicking the apply button you can see a table of your setting in the device configuration tab.
  • Press the Flash Device button.
  1. A window will appear on the bottom right side of the screen displaying “Please press BOOT button while flashing begins.”
  1. Hold the BOOT button down until the next window appears on the bottom right side of the screen which says “Installation prepared. Please release the boot button now.”
  1. Release the BOOT button from your ESP32 when this pop-up on the bottom right window appears.
  1. After some time, a popup will appear saying Device Flashed Successfully! This means that your device has been set up successfully.

5. MiOS App

You can download the MIOS Android app from the Google Play Store and Apple App Store.

Google PlayApple App Store

  1. After downloading the app, proceed to install the application and open it.
  1. Using the MIOS mobile application, create a new Ezlo Cloud account using the sign-up option. If you already have an account, you may proceed to log in.
  1. After successfully logging in, you will be able to see the number of controllers connected such as a lamp, fan, or any other device in the MiOS app. Tap on any controller of your desired ID:
  1. You will be able to see the status of your controller whether it is online or offline. Access the device dashboard, and tap the device. The following view of the dashboard will appear:
  1. After opening the MIOS mobile app, you will be able to see the tiles of your connected devices. Here, we have an ADXL345 accelerometer module and Ultrasonic distance sensor which can be used to efficiently prevent robots from hitting obstacles. ADXL345 measures the accelerometer data of 3-axes which help in tilt movement or help in orientation whereas ultrasonic sensor give the distance from obstacles.
  1. Here, In the above picture we can see that ADXL345 is currently showing orientation of the robot while the ultrasonic distance sensor shows distance data. By these two sensors, we can effectively avoid any obstacle and also monitor the robot's orientation and tilting.

6. MiOS Web Dashboard

  1. After configuring the controller with the EzloPi web flasher, head to ezlogic.mios.com
  1. Use the same credentials to log in that you used for configuring the controller with the web flasher.
  1. After opening the MIOS web dashboard, you will be able to see the tiles of your connected devices. Here, we have an ADXL345 accelerometer module and Ultrasonic distance sensor which can be used to efficiently prevent robots from hitting obstacles. ADXL345 measures the accelerometer data of 3-axes which help in tilt movement or help in orientation whereas the ultrasonic sensor give the distance from obstacles.
  1. Here, In the above picture we can see that ADXL345 is currently showing orientation of the robot while the ultrasonic distance sensor shows distance data. By these two sensors, we can effectively avoid any obstacle and also monitor the robot's orientation and tilting.
Buy Components

eZlopie Products A single-channel 5V relay module $00.00

eZlopie Products Momentary switch $00.00

eZlopie Products Level Shifter Module (BSS138) $00.00

eZlopie Products ESP32
$00.00

eZlopie Products AC Lamp and Holder
$00.00