鱼C论坛

 找回密码
 立即注册
查看: 1163|回复: 2

LCD转换成OLED

[复制链接]
发表于 2023-6-12 11:10:30 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我写代码用了LCD,请问怎么能转换成OLED
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-6-12 11:42:22 | 显示全部楼层
转换LCD代码以适配OLED通常涉及两个步骤:

1. 理解你的LCD代码:这意味着你需要理解代码的每个部分的功能以及它们是如何一起工作的。一般来说,显示相关的代码可能包括初始化屏幕、设置颜色和亮度、绘制像素、文本、形状等。

2. 找到OLED库并熟悉其API:一旦理解了你的LCD代码,你需要找到一个适合你的OLED屏幕的库,并熟悉它的API。例如,如果你正在使用Arduino,可能会使用SSD1306或SH1106库。

然后,你需要用新的OLED库API替换你的LCD代码。以下是一个使用Arduino和Adafruit_SSD1306库的OLED屏幕初始化的例子:
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void setup() {
  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3C for 128x32
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // Don't proceed, loop forever
  }

  display.clearDisplay();

  // Draw a single pixel in white
  display.drawPixel(10, 10, WHITE);

  // Show the display buffer on the screen. You MUST call display() after
  // drawing commands to make them visible on screen!
  display.display();
  delay(2000);
}

void loop() {
  // your code here
}

具体地,你需要将你的LCD初始化、颜色和亮度设置、像素和图形绘制等代码替换为使用新OLED库的代码。

请注意,这只是一个很基础的示例,具体的修改可能会根据你的设备和库的不同而有所不同。例如,一些OLED屏幕可能支持颜色,而有些则只支持黑白。这些特性都会影响到你的代码如何进行转换。

如果你需要更具体的帮助,例如具体的代码转换或适应新的OLED屏幕,我建议你提供更多关于你的项目的信息,如你的原始LCD代码,你的OLED屏幕的型号,你正在使用的开发板等。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-12 16:50:38 | 显示全部楼层
恐怕不好转,两者显示的原理有很大差别,LCD类似于是一种采用了LED(发光二极管)为背光光源的液晶显示
OLED是类似与一个个小灯组合成一块屏幕,转换基本上是要重新写显示内容了
但也问题不大,无非就是显示的方式要改一下,但显示的逻辑内容并不需要改变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-28 01:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表