// Add 1kΩ resistor from Echo to ESP32 pin, and 2kΩ from pin to GND. // Then code same as Arduino but use pulseIn() or interrupts. 10.3 Raspberry Pi (Python) import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) TRIG = 23 ECHO = 24 GPIO.setup(TRIG, GPIO.OUT) GPIO.setup(ECHO, GPIO.IN)
Some versions have a 5th pin (EN – Enable), but standard 4-pin is most common. If present, tie EN to VCC to enable. Wiring Example (Arduino): AJ-SR04M → Arduino Uno VCC → 5V Trig → Digital Pin 9 Echo → Digital Pin 10 GND → GND 3. Theory of Operation & Timing Diagram The AJ-SR04M uses the same timing protocol as HC-SR04, but with improved signal conditioning for longer cable runs.
delay(60);
AJ-SR04M is the best all-rounder for outdoor/wet applications needing short-range detection (2 cm blind zone). JSN-SR04T has longer range but larger blind zone (20 cm). HC-SR04 is indoor only. 10. Application Circuit & Code Examples 10.1 Arduino (Standard) #define TRIG 9 #define ECHO 10 void setup() Serial.begin(9600); pinMode(TRIG, OUTPUT); pinMode(ECHO, INPUT);