ADXL355用的是 ADXL355-PMDZ板,该传感器共有12个引脚。
引脚的关系如下:
1 芯片选择(SCL);2 MOSI(SDA为I2C通信的引脚);
3 MISO; 4 串行时钟(SCLK);
5 接地(GND); 6 数字电源(VCC);
Arduino UNO R3上的引脚:
1连7,2连11,3连12,4连13.
电源接3.3V,接地直接接地。

在这里插入代码片
#include <SPI.h>// Memory register addresses:
const int XDATA3 = 0x08;
const int XDATA2 = 0x09;
const int XDATA1 = 0x0A;
const int YDATA3 = 0x0B;
const int YDATA2 = 0x0C;
const int YDATA1 = 0x0D;
const int ZDATA3 = 0x0E;
const int ZDATA2 = 0x0F;
const int ZDATA1 = 0x10;
const int RANGE = 0x2C;
const int POWER_CTL = 0x2D;// Device values
const int RANGE_2G = 0x01;
const int RANGE_4G = 0x02;
const int RANGE_8G = 0x03;
const int MEASURE_MODE = 0x06; // Only accelerometer// Operations
const int READ_BYTE = 0x01;
const int WRITE_BYTE = 0x00;// Pins used for the connection with the sensor
const int CHIP_SELECT_PIN = 7;void setup() {Serial.begin(9600);SPI.begin();// Initalize the  data ready and chip select pins:pinMode(CHIP_SELECT_PIN, OUTPUT);//Configure ADXL355:writeRegister(RANGE, RANGE_2G); // 2GwriteRegister(POWER_CTL, MEASURE_MODE); // Enable measure mode// Give the sensor time to set up:delay(100);
}void loop() {int axisAddresses[] = {XDATA1, XDATA2, XDATA3, YDATA1, YDATA2, YDATA3, ZDATA1, ZDATA2, ZDATA3};int axisMeasures[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};int dataSize = 9;// Read accelerometer datareadMultipleData(axisAddresses, dataSize, axisMeasures);// Split dataint xdata = (axisMeasures[0] >> 4) + (axisMeasures[1] << 4) + (axisMeasures[2] << 12);int ydata = (axisMeasures[3] >> 4) + (axisMeasures[4] << 4) + (axisMeasures[5] << 12);int zdata = (axisMeasures[6] >> 4) + (axisMeasures[7] << 4) + (axisMeasures[8] << 12);// Apply two complementif (xdata >= 0x80000) {xdata = ~xdata + 1;}if (ydata >= 0x80000) {ydata = ~ydata + 1;}if (zdata >= 0x80000) {zdata = ~zdata + 1;}// Print axisSerial.print("X=");Serial.print(xdata);Serial.print("\t");Serial.print("Y=");Serial.print(ydata);Serial.print("\t");Serial.print("Z=");Serial.print(zdata);Serial.print("\n");// Next data in 100 millisecondsdelay(100);
}/* * Write registry in specific device address*/
void writeRegister(byte thisRegister, byte thisValue) {byte dataToSend = (thisRegister << 1) | WRITE_BYTE;digitalWrite(CHIP_SELECT_PIN, LOW);SPI.transfer(dataToSend);SPI.transfer(thisValue);digitalWrite(CHIP_SELECT_PIN, HIGH);
}/* * Read registry in specific device address*/
unsigned int readRegistry(byte thisRegister) {unsigned int result = 0;byte dataToSend = (thisRegister << 1) | READ_BYTE;digitalWrite(CHIP_SELECT_PIN, LOW);SPI.transfer(dataToSend);result = SPI.transfer(0x00);digitalWrite(CHIP_SELECT_PIN, HIGH);return result;
}/* * Read multiple registries*/
void readMultipleData(int *addresses, int dataSize, int *readedData) {digitalWrite(CHIP_SELECT_PIN, LOW);for(int i = 0; i < dataSize; i = i + 1) {byte dataToSend = (addresses[i] << 1) | READ_BYTE;SPI.transfer(dataToSend);readedData[i] = SPI.transfer(0x00);}digitalWrite(CHIP_SELECT_PIN, HIGH);
}

接上之后,就能在串口上看到数据了。如图:

用Arduino ide读取ADXL355加速度计的XYZ轴数据相关推荐

  1. DA14585 官网例程 读取I2C加速度计并发送通知数据--I2C_Accel_Data_Notiifcation 分析

    一.文件下载与编译: 1:文件下载链接:https://www.dialog-semiconductor.com/products/connectivity/bluetooth-low-energy/ ...

  2. ESP8266-Arduino编程实例-SPIFFS及数据上传(Arduino IDE和PlatformIO IDE)

    SPIFFS及数据上传(Arduino IDE和PlatformIO IDE) 1.SPIFFS介绍 ESP8266 包含一个串行外设接口闪存文件系统 (SPIFFS). SPIFFS 是为带有闪存芯 ...

  3. Arduino IDE增加ATmega32开发选项遇到的问题

    简 介: 根据网络上提示对于Arduino IDE进行配置,使其能够编译关于ATmega32相关程序.但是最终测试结果没有成功. 关键词: Arduino,IDE,ATmega32 §01 配置Ard ...

  4. arduinoesp8266定时器_ESP8266深度睡眠与Arduino IDE(NodeMCU)

    本指南展示了如何使用Arduino IDE与ESP8266(NodeMCU)一起使用深度睡眠.我们将使用定时器唤醒来唤醒深度睡眠,并使用复位(RST)引脚来唤醒外部唤醒. 引入深度睡眠模式 如果您使用 ...

  5. Arduino + RFID 读取 IC 卡 Arduino uno中获得RFID的UID 并通过串口转发RFID卡号

    RFID简介:射频识别即RFID(Radio Frequency IDentification)技术,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定 ...

  6. 利用PROGISP实现ARDUINO IDE编写的程序的下载以及如何把AVR单片机做成ARDUINO板

    首先讲讲题目的由来吧.我做的东西原本是利用ARDUINO MEGA2560及各种模块搭建起来的,程序自然也是用ARDUINO IDE写的.但这种东拼西凑的产品自然不够好,更主要的是,之前ARDUINO ...

  7. ESP32 入门笔记05: BLE 蓝牙客户端和服务器 (ESP32 for Arduino IDE)

    目录 1. BLE 服务器和客户端 2. GATT 协议 3. UUID 4. 项目概述 4.1 材料清单 4.2 ESP32 BLE 服务器 4.3 ESP32 BLE 客户端 参考资料 1. BL ...

  8. 【物联网初探】- 08 - ESP32 操作电容式土壤湿度传感器(Arduino IDE)

    文章目录 1. 硬件.接线.环境配置 2. 电容式土壤湿度传感器 (arduino) 3. ESP32 与电容式土壤湿度传感器 3.1 接线 3.2 湿度数据读取 3.3 湿度传感器标定 Why , ...

  9. 基于Arduino IDE开发的ESP8266(ESP-12F)项目4 ——中断及高级输入输出

     本次写这篇文章是自己做一下学习记录,如有错误,还请大家斧正!!! 日后及时修正!感谢支持! 欢迎大家的关注        点赞        收藏        留言 目录 前言 一.新建工程 二. ...

最新文章

  1. Flutter-Cookbook 非官方翻译
  2. uft自动化测试工具安装步骤_自动化测试灵魂三问:是什么、为什么和做什么
  3. vector 赋值_从零开始学习R语言(一)——数据结构之“向量”(Vector)
  4. Deep Learning 论文笔记 (3): Deep Learning Face Attributes in the Wild
  5. 【无标题】半导体器件特性曲线测试方法的研究
  6. 什么是DOM(超详细解释,建议收藏!!!)
  7. 计算机应用高级教程,计算机应用高级教程教学大纲.doc
  8. python3d动图_如何在Python上制作3D图形的动画
  9. 即时通讯IM 与系统集成
  10. Cloud一分钟 |互联网之冬;华为停招,BAT裁员;苹果下线拼多多应用;意媒谈DG风波:中国人记性差...
  11. 知乎网的CSS命名规律研究
  12. 夏令时和时区最佳实践
  13. 利息计算器V3.0感悟
  14. Hive 数据倾斜问题定位排查及解决(实际案例)
  15. 非root权限安装mysql
  16. 【历史上的今天】8 月 2 日:字节跳动收购 Musical.ly;PlayStation 之父诞生;早期的女性计算机先驱
  17. 创业时代,喔,创业时代,有一点可爱有一点呆
  18. 定制Android版本的chromium之笔记
  19. python输出姓和名_分开名、中名和姓(Python)
  20. 不拘一格-网飞的自由与责任工作法

热门文章

  1. Nat. Biomed. Eng.| 综述:医学和医疗保健中的自监督学习
  2. 2010年10月01日 Joel On Software给计算机专业大学生的建议(Advice for Computer Science College Students)
  3. windows server 2008 R2 SP1安装WSUS问题 RRS feed Windows Server
  4. 《玩转股票量化交易》开启股票数据远程下载服务
  5. 台电平板计算机价格,台电T10平板电脑:这配置这价格没谁了
  6. Matlab-结构数组
  7. 企业办理icp许可证的重要性,办理流程是什么
  8. EW资本世界:7月,投资者是无畏向前,还是暂时收手?
  9. DeepFashion实现服装检测搭配
  10. dell R730服务器介绍