我实际上是非常新的DIY硬件项目,需要帮助寻找加速度计,当加速度计状态从移动到停止或停止移动时,可以向我的Arduino板发送信号。我想这样做的原因是为了节省电路板上的电池。我希望它只在加速计状态处于运行状态时才能运行,如果状态改变为停止,则电路板应运行一段时间然后再进入休眠状态。我有以下挑战要考虑。
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:2)
您必须使用加速度计的外部中断。 所以你必须注意你的传感器模块提供这样的中断功能。 一个好的模块可以是例如来自Adafruit的Triple-Axis Accelerometer w/ I2C/SPI(基于ADXL芯片),价格为17.50美元。
此外,你需要一个带中断引脚的Arduino。大多数Arduinos至少有两个中断引脚(数字0(数字引脚2)和1(数字引脚3))。
PKMC构建了使用加速度计中断Arduino的必要步骤,如下所示:
//set ADXL interrupts
//enable single tap interrupt
//writeRegister(ADXL345_REG_INT_ENABLE, 0b01000000);
//enable single and double tap interrupt
writeRegister(ADXL345_REG_INT_ENABLE, 0b01100000);
//map all interrupts to pin1
writeRegister(ADXL345_REG_INT_MAP, 0b00000000);
// single tap configuration
writeRegister(ADXL345_REG_DUR, 0x1F); // 625us/LSB
writeRegister(ADXL345_REG_THRESH_TAP, 48);
writeRegister(ADXL345_REG_TAP_AXES, 0b111); // enable tap detection on x,y,z axes
//double tap configuration
writeRegister(ADXL345_REG_LATENT, 0x50);
writeRegister(ADXL345_REG_WINDOW, 0xff);