Я делаю программу, которая прерывает акселерометр с помощью кнопки. Я не могу понять, как это сделать. Я попробовал несколько вещей и посмотрел онлайн. Это мой код, так вар. Когда я нажимаю кнопку, светодиод горит. Я хочу прервать акселерометр, чтобы не получить значения.
#include<Wire.h>
const byte ledPin = 4;
const byte interruptPin = 2;
volatile byte state = LOW;
const int MPU = 0x68;
int16_t Xa, Ya, Za;
void setup() {
Wire.begin();
Wire.beginTransmission(MPU);
Wire.write(0x6B);
Wire.write(0);
Wire.endTransmission(true);
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
pinMode(interruptPin, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(interruptPin), button, RISING);
}
void loop() {
Wire.beginTransmission(MPU);
Wire.write(0x3B);
Wire.endTransmission(false);
Wire.requestFrom(MPU, 12, true);
Xa = Wire.read() << 8 | Wire.read();
Ya = Wire.read() << 8 | Wire.read();
Za = Wire.read() << 8 | Wire.read();
Serial.print("Xa="); Serial.print(Xa);
Serial.print(" | Ya="); Serial.print(Ya);
Serial.print(" | Za="); Serial.println(Za);
Serial.println();
digitalWrite(ledPin, state);
}
void button() {
state = !state;
}