92浏览
查看: 92|回复: 4

[项目] 【花雕学编程】Arduino动手做(199)---显示三行英文文本

[复制链接]
【花雕学编程】Arduino动手做(199)---显示三行英文文本图3

【花雕学编程】Arduino动手做(199)---显示三行英文文本图2

【花雕学编程】Arduino动手做(199)---显示三行英文文本图1

驴友花雕  中级技神
 楼主|

发表于 7 天前

【花雕学编程】Arduino动手做(199)---显示三行英文文本

【花雕学编程】Arduino动手做(199)---显示三行英文文本图1

【花雕学编程】Arduino动手做(199)---显示三行英文文本图3

【花雕学编程】Arduino动手做(199)---显示三行英文文本图2
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 7 天前

【花雕学编程】Arduino动手做(199)---显示三行英文文本

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百九十九:蓝屏LCD12864液晶屏 带中文字库 带背光12864-5V 并口串口
  项目之二:ESP32 LCD12864屏之显示三行英文文本

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百九十九:蓝屏LCD12864液晶屏 带中文字库 带背光12864-5V 并口串口
  4.   项目之二:ESP32 LCD12864屏之显示三行英文文本
  5. */
  6. #include <Arduino.h>
  7. #include <U8g2lib.h>
  8. #include <SPI.h>
  9. // 使用软件 SPI,保证 ESP32 兼容
  10. U8G2_ST7920_128X64_F_SW_SPI u8g2(U8G2_R2, /* Clock=*/ 18, /* Data=*/ 23, /* CS=*/ 16, /* Reset=*/ 17);
  11. void setup() {
  12.   Serial.begin(115200);
  13.   Serial.println("初始化 ST7920...");
  14.   u8g2.begin();
  15.   u8g2.setPowerSave(0);  // 确保屏幕非休眠状态
  16.   u8g2.setContrast(20); // 调整对比度
  17.   u8g2.setDisplayRotation(U8G2_R2);  // **永久旋转 180 度**
  18.   Serial.println("初始化完成");
  19. }
  20. void loop() {
  21.   u8g2.setFont(u8g2_font_ncenB14_tr);  // 选择字体
  22.   u8g2.firstPage();
  23.   do {
  24.     u8g2.setCursor(0, 20);
  25.     u8g2.print("Hello, ESP32!");
  26.     u8g2.setCursor(0, 40);
  27.     u8g2.print("Welcome to ST7920");
  28.     u8g2.setCursor(0, 60);
  29.     u8g2.print("Display Rotation");
  30.   } while (u8g2.nextPage());
  31.   delay(1000);
  32. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 7 天前

【花雕学编程】Arduino动手做(199)---显示三行英文文本

代码解读
这段代码主要完成了 ST7920 屏幕的 180 度旋转,并显示 三行英文文本,其中核心逻辑如下:

1. 屏幕初始化
✅ 使用 U8g2.begin(); 启动 ST7920
✅ 调用 setPowerSave(0); 确保屏幕不会进入休眠
✅ 调用 setContrast(200); 让文本更清晰可见
✅ 设定 旋转 180 度 setDisplayRotation(U8G2_R2);

2. 文本显示
✅ 选择 合适的字体 u8g2_font_ncenB14_tr
✅ 通过 setCursor(x, y); 控制 三行文本的位置
✅ 逐步绘制文本 firstPage(); do { ... } while (nextPage());

3. 动态刷新
✅ delay(1000); 控制 每秒更新屏幕
✅ 使 ST7920 循环显示三行固定文本,不会闪烁

这段代码可以保证 每次启动都旋转 180 度,并显示三行英文。





回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 7 天前

【花雕学编程】Arduino动手做(199)---显示三行英文文本

实验场景图  

【花雕学编程】Arduino动手做(199)---显示三行英文文本图2

【花雕学编程】Arduino动手做(199)---显示三行英文文本图1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail