Aj Sr04m Datasheet 💯 Simple
delay(60);
while GPIO.input(ECHO) == 0: pulse_start = time.time() while GPIO.input(ECHO) == 1: pulse_end = time.time()
void loop() digitalWrite(TRIG, LOW); delayMicroseconds(2); digitalWrite(TRIG, HIGH); delayMicroseconds(10); digitalWrite(TRIG, LOW); aj sr04m datasheet
long duration = pulseIn(ECHO, HIGH, 30000); // timeout 30ms (≈5m) if (duration == 0) Serial.println("Out of range"); else float distance = duration / 58.3; Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm");
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); while GPIO
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);
Actual distance = Measured distance * (343.0 / sqrt(331.3 * (1 + T_celsius/273.15))) | Parameter | Conditions | Value | |-----------|------------|-------| | Supply voltage | Absolute max | 5.5V | | Supply voltage | Operating | 4.5V – 5.5V | | Logic input low | Trig, EN | < 0.8V | | Logic input high | Trig, EN | > 2.0V (3.3V compatible) | | Echo output low | IOL = 2mA | < 0.4V | | Echo output high | IOH = 2mA | > 4.0V (5V logic) | | Output impedance | - | 100 Ω | Theory of Operation & Timing Diagram The AJ-SR04M
def get_distance(): GPIO.output(TRIG, False) time.sleep(0.05) GPIO.output(TRIG, True) time.sleep(0.00001) GPIO.output(TRIG, False)