好的,你想要在随机位置和随机时间显示文本。下面是调整过的代码实现这个功能:
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Wire.h>
Adafruit_SSD1306 display(128, 64, &Wire, -1);
int pos_x = 0; // 文本的X坐标位置
int pos_y = 0; // 文本的Y坐标位置
unsigned long previousMillis = 0; // 上一次文本更新的时间
unsigned long interval = 0; // 更新文本的时间间隔
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
interval = random(500, 2000); // 随机生成更新时间间隔(500ms到2000ms之间)
pos_x = random(0, display.width() - 16); // 随机生成X坐标位置
pos_y = random(0, display.height() - 8); // 随机生成Y坐标位置
display.clearDisplay(); // 清空屏幕
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(pos_x, pos_y);
display.println("你好");
display.display();
}
}
在这段代码中,我们使用了`random()`函数来生成随机的位置和时间间隔。在每次更新文本之前,我们会重新生成随机的X坐标、Y坐标和时间间隔。然后,我们使用`display.setCursor()`函数将文本放置到随机位置,并使用`display.print()`函数打印文本。
你可以上传这段代码到Arduino,并观察屏幕上的效果。每隔一段随机的时间,屏幕上会出现一个随机位置的"你好"文本。希望这次的代码符合你的需求!如果还有其他问题,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |