#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"
#define TFT_DC 2
#define TFT_CS 3
#define SAMPLE_SIZE 32 // 样本大小
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
float input[SAMPLE_SIZE];
void setup() {
Serial.begin(115200);
Serial.println("Hello, WOKWI");
tft.begin();
tft.setRotation(3);
tft.fillScreen(ILI9341_BLACK);
generateSignal();
}
void loop() {
displaySignal();
delay(1000); // 每秒更新一次
}
void generateSignal() {
for (int i = 0; i < SAMPLE_SIZE; i++) {
input[i] = sin(2 * PI * i / SAMPLE_SIZE); // 生成正弦信号
}
}
void displaySignal() {
tft.fillScreen(ILI9341_BLACK);
for (int i = 0; i < SAMPLE_SIZE; i++) {
int x = map(i, 0, SAMPLE_SIZE, 0, tft.width());
int y = map(input[i], -1, 1, tft.height(), 0);
tft.drawPixel(x, y, ILI9341_WHITE);
}
}