ESP8266-Arduino编程实例-MMA7455L加速计驱动

MMA7455L加速计驱动

1、MMA7455L介绍

MMA7455L 是一款数字输出 (I2C/SPI)、低功耗、薄型电容式微机械加速度计,具有信号调理、低通滤波器、温度补偿、自测功能,可配置为通过中断引脚(INT1 或 INT2)检测 0g,以及 脉冲检测用于快速运动检测。 0g 偏移和灵敏度为出厂设置,无需外部设备。

使用时可以使用分配的 0g 寄存器和 g-Select 来校准 0g 偏移量,它允许为 3 个加速度范围(2g/4g/8g)选择命令。 MMA7455L 包括待机模式,使其成为手持电池供电电子设备的理想选择。

在这里插入图片描述

2、硬件准备

  • ESP8266 NodeMCU开发板一块
  • MMA7455L传感器模块一个
  • 面板板一个
  • 杜邦线若干
  • 数据线一条

硬件接线如下:

  • MMA7455L传感器GND引脚 – ESP8266开发板的GND引脚
  • MMA7455L传感器VCC引脚 – ESP8266开发板的 3V3引脚
  • MMA7455L传感器SCL引脚 – ESP8266开发板的 D1引脚
  • MMA7455L传感器SDA引脚 – ESP8266开发板的 D2引脚

3、软件准备

ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:

4、代码实现

本次实例使用MMA7455L驱动库如下:

如果下载不了,备份地址:

1)导入依赖加头文件

1
2
3
4
5
6
7
#include <Wire.h> 
#include <MMA\_7455.h>

MMA_7455 mySensor = MMA\_7455();

char xVal, yVal, zVal;

2)设备初始化

1
2
3
4
5
6
7
8
void setup()
{
Serial.begin(9600);
delay(500);
Serial.println("MMA7455 Accelerometer Test.");
mySensor.initSensitivity(2);
}

3)传感器数据采集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
void loop()
{
xVal = mySensor.readAxis('x'); //Read the 'x' Axis
yVal = mySensor.readAxis('y'); //Read the 'y' Axis
zVal = mySensor.readAxis('z'); //Read the 'z' Axis
Serial.print("X = ");
Serial.print(xVal, DEC);
Serial.print(" Y = ");
Serial.print(yVal, DEC);
Serial.print(" Z = ");
Serial.println(zVal, DEC);
delay(1000);
}

文章来源: https://iotsmart.blog.csdn.net/article/details/126328243