【FireBeetle 2 ESP32 C6评测】乐高太阳能储能系统——4驱动OLED显示系统参数
<div class='showpostmsg'> 本帖最后由 Maker_kun 于 2024-5-23 21:36 编辑<p>一、OLED概述</p>
<p node="">OLED(有机发光二极管)是一种先进的显示技术,具有许多显著的优势和特点。以下是关于OLED的详细介绍:</p>
<p node="">OLED屏幕的工作原理是在两电极之间夹上有机材料层,这些材料在通过电流时会自发光。每个像素都可以独立控制,因此OLED屏幕能够实现更深的黑色和更高的对比度。</p>
<ol>
<li>
<p node=""><strong>优点</strong>:</p>
<ul>
<li><strong>响应速度</strong>:OLED屏幕具有更快的响应速度,适用于观看高速视频和玩游戏等场景。</li>
<li><strong>对比度</strong>:OLED屏幕在显示黑色时只需关闭相应的像素,而不需要背光,因此能够实现更高的对比度。</li>
<li><strong>可视角度</strong>:OLED屏幕的可视角度更广,用户在不同角度观看时都能获得良好的显示效果。</li>
<li><strong>厚度和柔性</strong>:由于OLED屏幕结构简单,不需要背光层,因此可以做到更薄甚至是柔性。</li>
<li><strong>功耗</strong>:OLED屏幕在显示黑色时几乎不消耗电力,因此整体功耗较低。</li>
<li><strong>色域和亮度</strong>:OLED屏幕通常具有更大的色域和更高的亮度,带来更加鲜艳清晰的色彩表现。</li>
</ul>
<p node="">OLED技术广泛应用于智能手机、智能穿戴设备、电视和其他移动终端设备。其中,智能手机是最大的OLED应用领域,占比达到73%。</p>
<p node="">OLED市场规模持续增长,预计2024年将达到516.3亿美元,并在2029年进一步扩大到959.3亿美元。中国OLED产业也在快速发展,产能不断提升,市场份额逐步逼近国际巨头如三星。</p>
<p node="">OLED技术未来的发展趋势包括更大尺寸的屏幕、更高分辨率(如8K)、以及更多的创新应用,如柔性显示和透明OLED屏幕。此外,随着技术的进步和成本的降低,OLED屏幕将在更多设备中得到广泛应用。</p>
</li>
</ol>
<p node="">综上所述,OLED技术以其独特的优势和广泛的应用前景,正在逐步成为显示技术的主流方案。</p>
<p node=""> </p>
<p>二、esp32驱动0.96OLED</p>
<p>怎么简单怎么来,程序月简单越好</p>
<p>首先下载驱动库:esp32驱动0.96OLED,打开arduino库管理,搜索<span style="color:#e74c3c;"><strong>SSD1306</strong></span>,找到<span style="color:#27ae60;"><strong>ESP8266 and ESP32 OLED driver for SSD1306 displays</strong></span>安装即可</p>
<p> </p>
<p> </p>
<p>代码如下:</p>
<pre>
<code>/*
安装库
ESP8266 and ESP32 OLED driver for SSD1306 displays@4.3.0
*/
#include <Wire.h>
#include "SSD1306.h"
SSD1306 display(0x3c, SCL, SDA);
void setup() {
display.init();//初始化
display.setFont(ArialMT_Plain_16);//设置字体
display.drawString(0, 0, "Hello World");//显示字符串
display.display();//显示
}
void loop() {
}</code></pre>
<p>三、下载编译</p>
<p> </p>
<p> </p>
<p>参考案例:<a href="https://blog.csdn.net/weixin_42854045/article/details/127310228" target="_blank">https://blog.csdn.net/weixin_42854045/article/details/127310228</a></p>
<p> </p>
<p>四、显示电压参数</p>
<p> </p>
<pre>
<code>
/* 使用0.96寸的OLED屏幕需要使用包含这个头文件 */
#include "SSD1306Wire.h"
#include <Battery.h>
Battery battery(3400, 4200, 0, 12);
/* 设置oled屏幕的相关信息 *///有一些引脚接口不支持I2C
const int I2C_ADDR = 0x3c; // oled屏幕的I2c地址
#define SDA_PIN SDA //
#define SCL_PIN SCL //
/* 新建一个oled屏幕对象,需要输入IIC地址,SDA和SCL引脚号 */
SSD1306Wire oled(I2C_ADDR, SDA_PIN, SCL_PIN);
//测试屏幕显示
void drawRect(void) {
for (int16_t i=0; i<oled.getHeight()/2; i+=2) {
oled.drawRect(i, i, oled.getWidth()-2*i, oled.getHeight()-2*i);
oled.display();
delay(50);
}
}
void setup() {
Serial.begin(115200); //串口频率
analogReadResolution(12); // switches ADC resolution to 12 bits
battery.begin(4200, 2, &asigmoidal);
// put your setup code here, to run once:
/*oled屏幕初始化 */
oled.init();
oled.flipScreenVertically(); // 设置屏幕翻转
oled.setContrast(255); // 设置屏幕亮度
drawRect(); // 测试屏幕显示
oled.clear(); oled.display(); // 清除屏幕
}
void loop() {
float h = 3;
float t = 4;
// put your main code here, to run repeatedly:
/*显示字母 */
oled.setFont(ArialMT_Plain_16); // 设置字体
oled.clear(); oled.display();
oled.drawString(0,0, "Voltage:" +String(battery.voltage())+"mV"); // 将要显示的字母写入缓存
oled.drawString(0,20, "POWER:"+String(battery.level())+"%"); // 将要显示的字母写入缓存
oled.display(); // 将缓存里的文字在屏幕上显示
}
</code></pre>
<p>效果展示:</p>
<p> </p>
<p> </p>
<p> </p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>楼主的测试,最后的图片是展示了电池电压和电量百分比,不错</p>
Jacktang 发表于 2024-5-24 07:27
楼主的测试,最后的图片是展示了电池电压和电量百分比,不错
<p>电池运行7小时后的效果,等待验证电池容量显示是否有问题</p><br/> <p>楼主分享的技术内容非常具有参考价值,希望能为今后的项目提供参考方向</p>
chejm 发表于 2024-5-24 12:00
楼主分享的技术内容非常具有参考价值,希望能为今后的项目提供参考方向
<p>Arduino的库非常丰富,大家一块探索探索:):)</p><br/>
页:
[1]