Analog.com Analog Dialogue Wiki English 简体中文
EngineerZone
EngineerZone
  • Log In
  • Site
  • Search
  • User
  • Support

    Popular Forums

    • RF and Microwave
    • Power Management
    • Video
    • FPGA Reference Designs
    • Precision ADCs
    • Linux Software Drivers
    • SigmaDSP Processors & SigmaStudio Dev. Tool

    Product Forums

    • A2B
    • Amplifiers
    • Analog Microcontrollers
    • Clock and Timing
    • Data Converters
    • Direct Digital Synthesis (DDS)
    • Energy Monitoring and Metering
    • Interface and Isolation
    • MEMS Inertial Sensors
    • Processors and DSP
    • Switches/Multiplexers
    • Temperature Sensors
    • Voltage References
    View All

    Application Forums

    • Audio
    • Automated Test Equipment (ATE)
    • Condition-Based Monitoring
    • Depth, Perception & Ranging Technologies
    • Embedded Vision Sensing Library
    • Motor Control Hardware Platforms
    • Optical Sensing
    • Precision Technology Signal Chains Library
    • Video
    • Wireless Sensor Networks Reference Library

    Design Center Forums

    • ACE Evaluation Software
    • ADEF System Platforms
    • Design Tools and Calculators
    • FPGA Reference Designs
    • Linux Software Drivers
    • Microcontroller no-OS Drivers
    • Reference Designs
    • Signal Chain Power (SCP)
    • Software Interface Tools
    • System Demonstration Platform (SDP) Support
  • Learn

    Highlighted Webinar

    How ADI is keeping up with security threats in retail, logistics and banking point of sale (POS) systems

    Recent Discussions

    • ADALM-PLUTO maximum frequency
    • Issue running built programs on Pluto
    • Activity: Simple Op Amps, For ADALM1000 Fig. 1.3 Buffering example
    • ADALM-PLUTO [NETWORK] vs [USB_ETHERNET]
    • Using buffer size different from 2**n

    Places

    • ADI Education Home
    • ADI Education China
    • ADI Education India
    • ADI Education Philippines
    • StudentZone (Analog Dialogue)
    • Virtual Classroom

    Latest Webinars

    • How ADI is keeping up with security threats in retail, logistics and banking point of sale (POS) systems
    • Multidimensional Simulations of Beamformers and other RF Integrated Circuits in Keysight SystemVue
    • Improve Smart Building Energy Efficiency with Industrial Ethernet Controlled Air Conditioning (HVAC) Systems
    • Sustainable Motion Control Solutions for High Performance Servo Drives
    • Audio Design Solutions for Augmented and Virtual Reality (AR/VR) Glasses
    View All Webinars
  • Community Hub

    Challenge Yourself!

      KCC's Quizzes: AQQ 236 about strange marking on airplane engines
    View All

    Places

    • Community Help
    • Logic Lounge

    Resources

    • EZ Code of Conduct
    • Getting Started Guide
    • ADI: Words Matter
    • Community Help Videos
    View All
  • Blogs

    Highlighted Blogs

    Why You Want to Authenticate Everything

     

    Can LTspice Break Physics?

    Latest Blogs

    • Crawl, Walk, And Run - The Journey To Create The Phaser
    • Hardware Holds The Key To Making Industrial Systems IEC 62443 Compliant
    • Behind the Scenes of DIYRadio Blogs: An Introduction
    • Empowering Surveillance Cameras To Capture A Scene Without Being Heard
    • Mastering The Metrics Makes Specifying Encoders Simpler
    Read All Blogs

    ADI Blogs

    • EZ Spotlight
    • The Engineering Mind
  • Partners

    Electronic Design Services - PartnerZone

    • Boston Engineering
    • Calian, Advanced Technologies
    • Colorado Engineering Inc. (DBA CAES AT&E)
    • Clockworks Signal Processing
    • Epiq Solutions
    • Fidus
    • PalmSens
    • Richardson RFPD
    • Tri-Star Design, Inc.
    • VadaTech
    • Vanteon
    • X-Microwave
    View All
MEMS Inertial Sensors
MEMS Inertial Sensors
Documents ADXL362 Arduino How-To
  • Forums
  • Files
  • FAQs/ Docs
  • Members
  • Tags
  • More
  • Cancel
  • +Documents
  • +3-D Model/STEP: FAQ
  • +AD22282-A-R2: FAQ
  • +ADIS16000: FAQ
  • +ADIS16003 MTBF: FAQ
  • +ADIS16006: FAQ
  • +ADIS16201: FAQ
  • +ADIS16203: FAQ
  • +ADIS16204: FAQ
  • +ADIS16209: FAQ
  • +ADIS16210: FAQ
  • +ADIS16223: FAQ
  • +ADIS16227: FAQ
  • +ADIS16228: FAQ
  • +ADIS16229: FAQ
  • +ADIS16240: FAQ
  • +ADIS16255: FAQ
  • +ADIS16355: FAQ
  • +ADIS16364: FAQ
  • +ADIS16365: FAQ
  • +ADIS16375: FAQ
  • +ADIS16385: FAQ
  • +ADIS16400: FAQ
  • +ADIS16405: FAQ
  • +ADIS16407: FAQ
  • +ADIS16445: FAQ
  • +ADIS16448: FAQ
  • +ADIS16460: FAQ
  • +ADIS16475: FAQ
  • +ADIS16477: FAQ
  • +ADIS1647x: FAQ
  • +ADIS16480: FAQ
  • +ADISUSB: FAQ
  • +ADXL001: FAQ
  • +ADXL203: FAQ
  • +ADIS16300: FAQ
  • +ADIS16485: FAQ
  • +ADIS16488: FAQ
  • +ADIS16488A: FAQ
  • +ADIS16490: FAQ
  • +ADIS16495: FAQ
  • +ADIS16497: FAQ
  • +ADXL103: FAQ
  • +ADXL150: FAQ
  • +ADxL193: FAQ
  • +ADXL202: FAQ
  • +ADXL206: FAQ
  • +ADXL210: FAQ
  • +ADXL210E: FAQ
  • +ADXL213: FAQ
  • +ADxL230: FAQ
  • +ADXL278: FAQ
  • +ADXL312: FAQ
  • +ADXL313: FAQ
  • +ADXL320: FAQ
  • +ADXL321: FAQ
  • +ADXL322: FAQ
  • +ADXL327: FAQ
  • +ADXL335: FAQ
  • +ADXL337: FAQ
  • +ADXL345: FAQ
  • +AD22290: FAQ
  • +ADIS16003: FAQ
  • +ADIS16133: FAQ
  • +ADIS16135: FAQ
  • +ADIS16265: FAQ
  • +ADIS16305: FAQ
  • +ADXL326: FAQ
  • +ADXL350: FAQ
  • -ADXL362: FAQ
    • ADXL362 + Arduino: Using Interrupts to Implement Motion-Activated Sleep
    • ADXL362 200Hz Bandwidth
    • ADXL362 Arduino How-To
    • ADXL362 as a Motion Switch
    • ADXL362 Clock Accuracy
    • ADXL362 Current Usage versus Competitors
    • ADXL362 Evaluation Boards
    • ADXL362 External Sync Pin
    • ADXL362 FIFO
    • ADXL362 FIFO Advantages
    • ADXL362 footprint error in datasheet (Rev C)
    • ADXL362 Motion Status Indicator Pin
    • ADXL362 register configuration
    • ADXL362 Self Test Procedure
    • ADXL362 Target Applications
    • ADXL362 Wakeup Mode vs. Full Power Mode
    • ADXL362  advantages as a motion switch
    • ADXL362: Acceleration beyond measurement range
    • ADXL362: Accessing real-time data in Wakeup Mode
    • ADXL362: autosleep mode
    • ADXL362: Bare minimum to acquire data
    • ADXL362: Output Data Rates (ODR)
    • ADXL362: Wakeup Mode and Autosleep
    • ADXL362: Wider bandwitdh than 200Hz
    • Are customers parts close to the ADXL362
    • EVAL-ADXL362Z-MLP threshold setting
    • Evaluating the ADXL362
    • Is ADXL362 data AC coupled?
    • Is ultrasonic welding a suitable assembly process for ADXL362 ?
    • Logging Data Prior to an Event
  • +ADXL375: FAQ
  • +ADXL377: FAQ
  • +ADXL78: FAQ
  • +ADXRS150: FAQ
  • +ADXRS290: FAQ
  • +ADXRS300: FAQ
  • +ADXRS401: FAQ
  • +ADXRS453: FAQ
  • +ADXRS610: FAQ
  • +ADxRS614: FAQ
  • +ADXRS623: FAQ
  • +ADXRS646: FAQ
  • +ADXRS652: FAQ
  • +ADXRS800: FAQ
  • +ADIS16136: FAQ
  • +ADIS16137: FAQ
  • +ADIS16266: FAQ
  • +ADIS16334: FAQ
  • +ADIS16362 Evaluation Tool: FAQ
  • +ADIS16364 Evaluation Tool: FAQ
  • +ADIS16367: FAQ
  • +ADIS163xx: FAQ
  • +ADIS16489: FAQ
  • +ADIS1648x: FAQ
  • +ADXL346: FAQ
  • +ADXL363: FAQ
  • +EVAL-ADIS: FAQ
  • +EVAL-ADIS2: FAQ
  • +Filtering Functions: FAQ
  • +General: FAQ
  • +Gyroscope: FAQ
  • +Hard & Soft Iron Correction: FAQ
  • +ISEB USB: FAQ
  • +IMU: FAQ
  • +MEMS: FAQ
  • +Slip Ring Interface: FAQ
  • +SPI Troubleshooting: FAQ
  • +TEMP_OUT Variation: FAQ
  • +Test Procedures: FAQ

ADXL362 Arduino How-To

What you'll need:

  • A 3.3V Arduino, such as:
    • Arduino Pro Mini (3.3V version) - requires FTDI Breakout (3.3V version)

    • Or, Arduino Pro (3.3V version) - requires FTDI Breakout (3.3V version)
  • ADXL362 Breakout Board
  • ADXL362 Arduino Library
  • Prototyping materials
    • Headers (and for tidy connection to FTDI Breakout, right-angle headers) - SparkFun boards are shipped without headers installed.
    • Soldering iron, solder, etc.
    • Breadboard, wire kit, jumper wires, etc.

If you chose to use a 5V Arduino (such as an Arduino Uno or Leonardo), you'll need to shift the logic levels to ensure that the ADXL362 receives 3.3V logic, as well as power from a 3.3V supply (available on the Uno as the "3.3V" power pin) - I cannot be held responsible if you fry your ADXL362 using a 5V Arduino!

Notice - Arduino (http://arduino.cc) is an open source prototyping platform - there are many, many "Arduino-compatible" boards out there.  And, chances are good that you could get any one of them to work for this example.  But, to keep things simple, I am going show how connect the ADXL362 to the Arduino Pro Mini.  If you deviate from this example, you are on your own.  But, don't worry!  There are loads of examples on the web, books in the bookstore/library, etc, that will very quickly help you to become an Arduino expert.

 

Getting Started with Arduino

If you're new to Arduino, then it's best if you work on getting the software downloaded and installed, and make sure that you're able to get your Arduino to "say hello" before you connect the ADXL362.

  •      You can download the software at http://arduino.cc/en/Main/Software
  •      And, you can get more information about your official Arduino board at http://arduino.cc/en/Main/Hardware
  •      For this example, using the Pro Mini, here's the definitive "Getting Started" guide: http://www.sparkfun.com/tutorials/244

Download and install the software, connect your Arduino to your PC, and work through the "Getting Started" guide.

Did you get your Arduino to blink its LED?  Hooray! 

No luck?  Try getting the Arduino Cookbook, by Michael Margolis - an excellent and thorough guide for getting started.

Do not continue until you are able to get your Arduino to blink its LED using the "Blink" example, which is covered in the SparkFun "Getting Started" guide.

Connecting ADXL362 to Arduino

Connect the power and ground pins of the ADXL326 Breakout to the VCC and GND pins of the Arduino, and connect the SPI pins of the ADXL362 to the SPI pins of the Arduino.  (And, double check to make sure you're not connecting your ADXL362 to any supply or signal pins over 3.3V!)  For the Arduino Pro Mini, the pin names/numbers are listed below:

Check out http://arduino.cc/en/Reference/SPI for more information on using Arduino to program SPI devices

Arduino Pro Mini

Pin Number/Name

ADXL362 Breakout

Board Name

VCC VS and VIO
GND GND

10

CS
11 MOSI
12 MISO
13 SCLK
     A closer look at Arduino Pro Mini and ADXL362 hook-up:

Example 1:  ADXL362_SimpleRead

Step 1: Install the ADXL362 Arduino library:

Download the ADXL362 Arduino library from the GitHub repository and unzip it.  It's likely going to have a long "github" assigned folder name - you can rename the top level folder to "ADXL362."  Place that folder (which contains .h file, .cpp file, and "examples" folder)  in the "libraries" folder of your Arduino sketchbook folder.  If this the the first library you've ever installed, you'll need to create the "libraries" folder in the Arduino sketchbook folder.

Hint: The location of your Sketchbook folder is specified in the Arduino IDE under File --> Preferences (or by typing CTRL+Comma):

The file structure MUST look like this (Sketchbook location -> libraries -> ADXL362 -> folder contents):

The ADXL362 folder can be renamed, but no additional levels of hierarchy may be added. This is just where Arduino knows to look for stuff.

Step 2: Open and load ADXL362_SimpleRead example sketch:

If you have the ADXL362 library folder in the correct location, you should be able to open the ADXL362_SimpleRead example sketch by clicking File -> Examples -> ADXL362 -> ADXL362_SimpleRead, as illustrated in picture below:

Once you have the sketch open, you should be able to click the "Upload" button.  Make sure you have the correct board and COM port selected.  (Please take a step back and review the SparkFun "Getting Started" Guide if you are having trouble uploading your sketch.)

Once you have uploaded your sketch, you should see a "Done Uploading" message in the window, as illustrated below:

Step 3: Observe data on Serial Monitor

Once you have successfully uploaded the sketch, open the Serial Monitor (Ctrl+Shift+M, or click magnifier icon on upper right corner)

Your serial monitor data should look like this (of course, X, Y, Z values depend on your circuit orientation):

It's Alive!

Didn't work? Go back to square one and get the "Blink" example working.  A few tips:

  • Check VS, VIO, and GND on your ADXL362 Breakout.  Make sure you have 3.3V and GND connected correctly.
  • Check, and double check, your SPI connections.  Use a logic analyzer to check the SPI signals coming out of the Arduino. 
  • Check your selected board and COM port.  For this example, the board used was a Pro Mini 3.3V 8MHz w/ATMega328.
  • Try some of the other examples that are included with the Arduino software... these are great basic sketches that can help you get started and troubleshoot your Arduino.
    • I really like the "DigitalPotControl" example (File -> Examples -> SPI -> DigitalPotControl).  It uses an Analog Devices AD5206 digital potentiometer, which is available in a DIP package for easy breadboarding.  And, you can get free samples at www.analog.com!  This is a great example for learning how SPI works, and how to use Arduino to program SPI.

Coming soon: Using the ADXL362 Interrupts to put the Arduino to sleep

This is my favorite part!  What makes the ADXL362 so great is it's super-low power, especially in sleep mode.  Check back later!

  • ADXl362
  • Share
  • History
  • More
  • Cancel
Related
Recommended
Social
Quick Links
  • About ADI
  • ADI Signals+
  • Analog Dialogue
  • Careers
  • Contact us
  • Investor Relations
  • News Room
  • Quality & Reliability
  • Sales & Distribution
  • Incubators
Languages
  • English
  • 简体中文
  • 日本語
Newsletter

Interested in the latest news and articles about ADI products, design tools, training and events? Subscribe today!

Sign Up
Analog Logo
©1995 - 2023 Analog Devices, Inc. All Rights Reserved
沪ICP备09046653号-1
  • Sitemap
  • Legal
  • Privacy & Security
  • Privacy Settings
EngineerZone Uses cookies to ensure you get the best experience in our community. For more information on cookies, please read our Privacy & Security Statement.