Прервите датчик кнопкой - PullRequest
0 голосов
/ 12 января 2020

Я делаю программу, которая прерывает акселерометр с помощью кнопки. Я не могу понять, как это сделать. Я попробовал несколько вещей и посмотрел онлайн. Это мой код, так вар. Когда я нажимаю кнопку, светодиод горит. Я хочу прервать акселерометр, чтобы не получить значения.

#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;

}
...