ADXL345 Digital Angle Acceleration Sensor Module
====================================================
ADXL345 DIGITAL ACCELERATION & ANGLE SENSOR
====================================================
MODEL: ADXL345
TYPE: 3‑Axis Digital Accelerometer
OUTPUT: Digital (I²C / SPI)
SENSOR RANGE: ±2g, ±4g, ±8g, ±16g (configurable)
INTERFACE: I²C (default) or SPI
SUPPLY VOLTAGE: 2.0–3.6 V (typical 3.3 V)
POWER CONSUMPTION: Low power
PACKAGE: Module with header pins
IC MANUFACTURER: Analog Devices
----------------------------------------------------
📌 WHAT IT DOES:
The ADXL345 measures **acceleration along X, Y, and Z axes**.
It can be used to calculate inclination/tilt (angle), vibration,
motion detection, orientation, and free‑fall detection.
----------------------------------------------------
📊 KEY FEATURES:
• **3‑Axis sensing:** X, Y, Z acceleration
• **Digital output:** I²C or SPI communication
• **Selectable measurement range:** ±2g / ±4g / ±8g / ±16g
• **13‑bit resolution** for high‑precision data
• **Low‑power modes** extend battery life
• **Interrupts:** motion, tap, double‑tap, activity, inactivity
• **Small footprint:** easy for embedded projects
----------------------------------------------------
📐 SENSING PRINCIPLE:
• Uses MEMS (Micro‑Electro‑Mechanical System)
• Acceleration changes capacitance inside MEMS
• IC converts capacitance changes to digital data
• Microcontroller reads data over I²C/SPI
----------------------------------------------------
🔌 ELECTRICAL INTERFACE:
• **VCC:** 3.3 V (2.0–3.6 V range)
• **GND:** Ground
• **SDA:** I²C Data
• **SCL:** I²C Clock
• **CS/SDO:** Mode select (I²C or SPI)
• **INT1 / INT2:** Interrupt outputs for events
(I²C pull‑ups to 3.3 V are commonly used)
----------------------------------------------------
⚙️ I²C COMMUNICATION (Typical):
• Default I²C address: **0x53 or 0x1D** (depends on ALT address pin)
• Read registers for acceleration data
• Configure range & filters via registers
----------------------------------------------------
📈 MEASUREMENT DATA:
Acceleration data format:
• 16‑bit signed values (13‑bit effective)
• Convert to g units via scale factor based on range
e.g., For ±2g → 256 LSB/g (approximate)
Example:
Raw X = 512 → X ≈ 512/256 = 2 g
----------------------------------------------------
📌 ANGLE / TILT CALCULATION:
You can compute tilt/angle from accelerations:
• Roll = atan2(Y, Z) × (180/π)
• Pitch = atan2(X, Z) × (180/π)
Useful for orientation estimation in robots,
gesture detection, and balance systems.
----------------------------------------------------
🧠 INTERRUPT CAPABILITIES:
ADXL345 supports:
• **Single Tap**
• **Double Tap**
• **Activity/Inactivity**
• **Free Fall**
• **Data Ready**
Interrupts alert the microcontroller without constant polling.
----------------------------------------------------
📌 APPLICATIONS:
• Tilt/angle measurement (device orientation)
• Motion detection & wake‑on‑shake
• Gesture control (tap/double‑tap)
• Vibration monitoring
• Vehicle/bicycle motion sensing
• Gaming controllers & VR interfaces
• Drones, robots, wearables
----------------------------------------------------
🔧 INSTALLATION & USAGE TIPS:
• Use **I²C pull‑up resistors** if not on module
• Provide stable **3.3 V supply**
• Keep wiring short for reliable I²C
• Use interrupt pins for efficient event detection
• Apply calibration for precise angle output
