Как получить отдельные показания BPM от двух датчиков пульса с помощью одного Arduino
Вот код, который я использовал для получения BPM с датчика пульса.
#define USE_ARDUINO_INTERRUPTS true // Настройка низкоуровневых прерываний для большинства
acurate BPM math.
#include <PulseSensorPlayground.h> // Включает PulseSensorPlayground
Library.
// Переменные
const int PULSE_SENSOR_COUNT = 2;
const int PulseWire = A0;
const int PulseWire2 = A1;
const int LED13 = 13;
int Threshold = 550;
void setup() {
Serial.begin(9600);
pulseSensor.analogInput(PulseWire, 0);
pulseSensor.analogInput(PulseWire2, 1);
pulseSensor.blinkOnPulse(LED13);
pulseSensor.setThreshold(Threshold);
if (pulseSensor.begin()) {
}
void loop() {
int myBPM = pulseSensor.getBeatsPerMinute(); // Вызывает функцию для нашего объекта pulseSensor, которая возвращает BPM как «int».
if (pulseSensor.sawStartOfBeat()) { // Постоянно проверяем, «произошел ли удар».
//Serial.println("♥ Произошло сердцебиение ! "); // Если тест "истинен", вывести сообщение "произошло сердцебиение".
Serial.print("BPM1: "); // Распечатать фразу "BPM: "
Serial.println(myBPM); // Распечатать значение внутри myBPM.
}
delay(20); // считается наилучшей практикой в простом наброске.
}
Я хочу разделить отображение BPM, которые получаются из проводов A0 и A1. Последовательный порт может вывести что-то вроде этого: BPM1(A0):75, BPM2(A1):80
.
Я не знаю, как это сделать. Может ли кто-нибудь мне помочь?
@, 👍0
Обсуждение1 ответ
Лучший ответ:
Измените "#define USE_ARDUINO_INTERRUPTS true" на "#define USE_ARDUINO_INTERRUPTS false".
Если вместо этого ваш скетч не использует прерывания для чтения данных PulseSensor, ваш скетч должен вместо этого содержать следующие две строки в следующем порядке:
#define USE_ARDUINO_INTERRUPTS ложно
#include <PulseSensorPlayground.h>
Спасибо, но я все еще не могу понять, как печатать разные BPM, @seamas zhou
Следующая строка кода, которую вы пропустили, находится на строке номер 146: https://github.com/WorldFamousElectronics/PulseSensorPlayground/blob/master/src/PulseSensorPlayground.h. Пожалуйста, прочитайте все комментарии в PulseSensorPlayground.h. Давайте убедимся, что мы ищем идентичные библиотеки., @VE7JRO
Взгляните на этот скетч: https://github.com/WorldFamousElectronics/PulseSensorPlayground/blob/master/examples/TwoPulseSensors_On_OneArduino/TwoPulseSensors_On_OneArduino.ino, @VE7JRO
Спасибо большое! Теперь я решил проблему. И спасибо за терпение, я совсем новичок в Arduino., @seamas zhou
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Mac OSX Yosemite не отображает последовательные порты для Uno R3
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
Ваш скетч не компилируется. Какие библиотеки вы используете?, @VE7JRO
Я использую библиотеку PulseSensorPlayground. И я просто добавил код библиотеки сверху, @seamas zhou
Не могли бы вы прояснить, чего вы пытаетесь добиться. Предлагаю вам перефразировать ваш последний абзац. Возможно, вам поможет картинка., @sa_leinad