Я создал приложение для наблюдения за графиком в реальном времени. Я установил частоту дискретизации 256 Гц в моем коде Arduino. Я дал выходной сигнал 100 Гц через генератор функций, но вместо синусоидальной формы я получил случайную форму волны.
это мой код Arduino:
#include <SoftwareSerial.h> //import Software Serial library
SoftwareSerial myStream(0, 1); //pins for Rx and Tx respectively
int ECG;
void setup()
{
// put your setup code here, to run once:
pinMode(A0, INPUT); //LDR
myStream.begin(115200);
Serial.begin(9600);
}
void loop()
{
ECG = analogRead(A0);
Serial.println(ECG);
if (myStream.available() > 0)
{
char re = myStream.read();
switch (re)
{
case 'E':
start();
break;
}
}
//about 256Hz sample rate
delayMicroseconds(3900);
}
void start()
{
while (1)
{
myStream.print('s');
myStream.print(floatMap(analogRead(ECG), 0, 1023, 0, 255), 2);
//about 256Hz sample rate
delayMicroseconds(3900);
if (Serial.available() > 0)
{
if (Serial.read() == 'Q')
return;
}
}
}
float floatMap(float x, float inMin, float inMax, float outMin, float outMax)
{
return (x - inMin) * (outMax - outMin) / (inMax - inMin) + outMin;
}
Это моя принципиальная схема. Кроме того, я подключил выход осциллографа к A0 и заземлению.
введите описание изображения здесь
Как получить синусоидальную форму в моем приложении. Любая помощь по этому вопросу будет принята с благодарностью.