Измерение скорости снижения пульса после нагрузки
- Войдите на сайт для отправки комментариев
Ср, 11/03/2020 - 11:22
Добрый день!
Задача состоит в измерении скорости снижения пульса после нагрузки.
Есть вот такой код, он выводит показания с датчиков.
теперь возник вопрос как обработать эти показания и посчитать скорость изменения снижения пульса. Конечная задача состоит в сравнении скорости снижения пульса с двух датчиков от двух человек. у кого быстрее.
// Чтение данных, поступающих с модуля сопряжения от одного беспроводного // модуля и отображение этих данных средствами среды Arduino IDE. // Последовательность действий // 1. Вставьте USB-to-UART переходник в одно из любых четырех USB гнёзд микрокомпьютера Raspberry // 2. Соедините пины USB-to-UART переходника с пинами на плате Ардуино: // Arduino pin D10 соединить с TxD на USB-to-UART переходнике (подключен к Raspberry Pi) // Arduino pin D11 соединить с RxD на USB-to-UART переходнике (подключен к Raspberry Pi) // Arduino pin Gnd соединить с Gnd на USB-to-UART переходнике (подключен к Raspberry Pi) // 3. Загрузите скетч в Ардуино // 4. В меню Инструменты откройте Плоттер по последовательному соединению и укажите скорость 115200 // 5. Включите беспроводной модуль и разместите электроды (датчики) в соответствии с инструкцией // к этому беспроводному модулю. // 6. Включите питание Raspberry // После загрузки Raspberry (15-20 секунд) на экране начнет отображаться сигнал. // Если сигнала нет, то выключите питание Raspberry и включите снова, а на Ардуино нажмите кнопку Reset // Для работы с Raspberry включайте этот код в начало своего скетча // Начало блока кода #include <SoftwareSerial.h> // используется для обмена данными с Raspberry SoftwareSerial piSerial(10, 11); // RX, TX // инициализация работы с Raspberry // Укажите номера используемых беспроводных модулей и их количество void uniorBegin(const int channels[], int number_of_channels) { piSerial.begin(57600); piSerial.write(0xff); while (true) { String s = piSerial.readString(); if (s == "OK\n") { //Serial.println("Unior is ready"); String s; for (int n = 0; n < number_of_channels; n++) { if (n != 0) s += ";"; s += channels[n]; } piSerial.println(s); // send channels mask break; } } } // чтение данных по запросу для указанного беспроводного модуля (по индексу) // возвращает false если данных нет и true если данные есть. // Если данные есть, то значение помещается в переменную value bool uniorRead(uint8_t channel_no, float& value) { while (piSerial.available()) piSerial.read(); piSerial.write(channel_no); int readCnt = piSerial.readBytes((byte*)&value, sizeof(float)); return (readCnt == sizeof(float)) && (value == value); } // конец блока /////////////////////////////////////////////////////////////////// // Для удобства обозначим индекс беспроводного модуля константой const int cEEG1 = 1; const int cEEG2 = 2; void setup() { Serial.begin(115200); // Инициализируем модуль сопряжения на базе Raspberry (всего две строчки) const int channels[] = {cEEG1}; // или, например для двух каналов: // //const int channels[] = {cEEG1, cEEG2}; uniorBegin(channels, sizeof(channels)/sizeof(channels[0])); } void loop() // run over and over { // Читаем данные и выводим их для отображения float v, v1; while (uniorRead(cEEG1, v))//&&uniorRead(cEEG2, v1)) { //Serial.println(v); Serial.println(v1); } }
А что, разве вчера такой темы не было? Где-то я её уже видел.
Я не видел, если дадите ссылку на обсуждение, буду благодарен.
Эмм, школьная математика?
V[n] = (X[n] - X[n-1]) * f