#include <Wire.h> // 使用 I2C 的库
#include <Adafruit_GFX.h> //Adafruit 库写入显示器
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // 使用的是 128×64 OLED 显示屏
#define SCREEN_HEIGHT 64 //
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
// I2C 通信协议
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);// (-1) 参数表示您的 OLED 显示器没有 RESET 引脚
void testscrolltext(void); //函数声明
void setup() {
Serial.begin(115200);//115200 的波特率初始化串行监视器以进行调试
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) // 0x3d 0x3c 0x78 0x7A Address 0x3D for 128x64
{
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
delay(2000);
display.clearDisplay();// 清除显示
display.setTextSize(2);// 设置文本大小
display.setTextColor(WHITE);// 设置文本颜色
display.setCursor(0, 30);//设置显示坐标
// Display static text
display.println("naiva");//
display.display(); // 屏幕上实际显示文本
}
void loop() {
// //testscrolltext();
// display.clearDisplay();
// display.setTextSize(1); //
// display.setTextColor(WHITE);
// display.setCursor(10, 0);
// display.println(F("naiva"));
// display.display(); //
delay(100);
display.startscrollright(0x00, 0x0F);// 从左到右滚动文本
delay(4000);
display.stopscroll();// 停止滚动
delay(1000);
display.startscrollleft(0x00, 0x0F);// 从右到左滚动文本
delay(4000);
display.stopscroll();
delay(1000);
}
void testscrolltext(void) {
display.clearDisplay();
display.setTextSize(2); // Draw 2X-scale text
display.setTextColor(WHITE);
display.setCursor(10, 0);
display.println(F("NAIVA415"));
display.display(); // Show initial text
delay(100);
// Scroll in various directions, pausing in-between:
display.startscrollright(0x00, 0x0F);
delay(2000);
display.stopscroll();
delay(1000);
display.startscrollleft(0x00, 0x0F);
delay(2000);
display.stopscroll();
delay(1000);
display.startscrolldiagright(0x00, 0x07);
delay(2000);
display.startscrolldiagleft(0x00, 0x07);
delay(2000);
display.stopscroll();
delay(1000);
}