【NB-IoT模块显示屏逻辑显示】

一、最终按键控制文字滚动效果:

NB-IOT模块显示屏文字滚动

二、实验要求:

在这里插入图片描述

三、实现部分代码剖析:

1、对需要显示的汉字按要求进行取模并加入字库中

  1. 从上到下循环滚动时,需要将汉字旋转90度在这里插入图片描述
  2. 把数据添加到字库中,并做好注释
/*取模汉字添加到字库中,大小统一为16*16像素*/
{0x42,0x4A,0xD2,0x6A,0x46,0xC0,0x00,0xF2,0x12,0x1A,0xD6,0x12,0x12,0xF2,0x02,0x00},
{0x40,0x80,0x7F,0x00,0x01,0x00,0x80,0x4F,0x20,0x18,0x07,0x10,0x20,0x4F,0x80,0x00},/*"预",52*/

{0x08,0x08,0x89,0xEE,0x98,0x00,0x7E,0x42,0xC2,0x42,0x42,0xC2,0x42,0x7E,0x00,0x00},
{0x02,0x01,0x00,0xFF,0x80,0x43,0x20,0x18,0x07,0x00,0x00,0x3F,0x40,0x40,0x78,0x00},/*"祝",53*/

{0x00,0xFE,0x00,0xFC,0x00,0xFF,0x00,0xF2,0x12,0x1A,0xD6,0x12,0x12,0xF2,0x02,0x00},
{0x40,0x3F,0x00,0x3F,0x00,0xFF,0x80,0x4F,0x20,0x18,0x07,0x10,0x20,0x4F,0x80,0x00},/*"顺",54*/

{0x40,0x44,0x44,0x44,0xC4,0xFE,0x42,0x43,0x42,0x00,0xF8,0x00,0x00,0xFF,0x00,0x00},
{0x20,0x10,0x0C,0x03,0x00,0xFF,0x01,0x02,0x04,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00},/*"利",55*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"",56*/

//把需要显示的汉字旋转90度,从上到下显示
{0x00,0xFE,0x20,0x40,0xFC,0x04,0x24,0x24,0x24,0x24,0x24,0x44,0x50,0x88,0x04,0x02},
{0x00,0xF9,0x08,0x50,0x21,0x11,0xFD,0x25,0x29,0x21,0x21,0x21,0x20,0x20,0xA1,0x42},/*"预",57*/

{0x00,0xFC,0x04,0x04,0x04,0x04,0xFC,0x90,0x90,0x90,0x90,0x12,0x12,0x12,0x0E,0x00},
{0x20,0x13,0x12,0xFA,0x0A,0x12,0x13,0x38,0x54,0x94,0x10,0x11,0x11,0x12,0x14,0x18},/*"祝",58*/

{0x00,0xFE,0x20,0x40,0xFC,0x04,0x24,0x24,0x24,0x24,0x24,0x44,0x50,0x88,0x04,0x02},
{0x04,0x45,0x54,0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x54,0x85,0x06},/*"顺",59*/

{0x04,0x84,0x04,0x24,0x24,0x24,0xA4,0x24,0x24,0x24,0xA4,0x24,0x04,0x04,0x14,0x08},
{0x01,0x07,0x7C,0x04,0x04,0x04,0xFF,0x0C,0x16,0x15,0x24,0x24,0x44,0x84,0x04,0x04},/*"利",60*/
  • 添加了横屏和竖屏的汉字,并添加一个空白的汉字擦除汉字;

2、初始化OLED外设

//初始化部分外设
  OLED_Init();
  OLED_Clear();

3、进行按钮事件监听

KeyDownHandler();  //进行按钮事件监听

4、对Key2进行算法搭建

//点击Key2按键
 if(isKey2Pressed()){
  resetKey2();
  //从右向左逐渐刷新显示汉字
  for(int i=0;i<12;i++){	//i<12跳过调试确定汉字返回到右端,也可推导4+(64/16)*2
    if(i ==0){
     OLED_ShowCHinese(112-i*16,3,52);  //显示1个汉字“预”
    }
    if(i ==1){
     OLED_ShowCHinese(112-i*16,3,52); 
     OLED_ShowCHinese(112-((i-1)*16),3,53);  //显示2个汉字“预祝”
    }
    if(i ==2){
     OLED_ShowCHinese(112-i*16,3,52); 
     OLED_ShowCHinese(112-((i-1)*16),3,53);
     OLED_ShowCHinese(112-((i-2)*16),3,54);  //显示3个汉字“预祝顺”
    }
    if(i ==3){
     OLED_ShowCHinese(112-i*16,3,52); 
     OLED_ShowCHinese(112-((i-1)*16),3,53);
     OLED_ShowCHinese(112-((i-2)*16),3,54);
     OLED_ShowCHinese(112-((i-3)*16),3,55);  //显示4个汉字“预祝顺利”
    }
    if(i >=4 && i<=7){
     
     for(int j=0;j<=4;j++){
      OLED_ShowCHinese(112-(i-j)*16,3,52+j); //4个汉字向左滚动,可把该for循环单独封装成函数调用,优化算法
     }
     /*
     OLED_ShowCHinese(112-i*16,3,52); //可以通过for循环优化算法,通过调用函数减少代码量
     OLED_ShowCHinese(112-((i-1)*16),3,53);
     OLED_ShowCHinese(112-((i-2)*16),3,54);
     OLED_ShowCHinese(112-((i-3)*16),3,55);
     OLED_ShowCHinese(112-((i-4)*16),3,56);*/
    }
    if(i>=8){
     OLED_ShowCHinese(((i-7)*16),3,52);
     OLED_ShowCHinese(((i-6)*16),3,53);
     OLED_ShowCHinese(((i-5)*16),3,54);
     OLED_ShowCHinese(((i-4)*16),3,55);
     OLED_ShowCHinese(((i-8)*16),3,56);  //4个汉字向右滚动
    }
    if(i ==11)
    {
     i=3;  //汉字到达最右边框,重复滚动
    }
    HAL_Delay(1000);   //每1秒滚动一次
    if(isKey3Pressed() || isKey4Pressed()){   //点击Key3或者Key4清空屏幕,跳出该滚动循环
     OLED_Clear();
     break;
    }
  }
 }
  • 当汉字滚动到左边框时,需要添加向右滚动的算法;
  • 当到达右边框时,可以改变 i 的值使汉字重新向左滚动,实现循环;
  • 点击Key3或者Key4时,跳出该循环,文字按照key2和key3的要求实现滚动;
  • 可对for循环封装成一个函数供调用,优化代码;

5、Key3和Key4可以根据Key2的逻辑直接套娃就行

三、实现总结:

  • 先重点把Key2文字的滚动的算法,把滚动的算法弄明白后,把算法套在Key3和Key4按键上,改变一下坐标;
  • 对于小编(新手)很难直接把滚动的算法写出来,只能通过一个界面调试好,然后调试第二个界面…然后梳理程序,把各个模块的程序总结到一起;
  • 没有什么逻辑问题是if判断解决不了的,如果有,那就添加几个if判断;没有什么简单重复事件是for循环解决不了的,如果有,那再来几个for循环解决不了的;没有什么算法问题是if和for解决不了的,如果有,说明还没很好结合if和for。

三、实验源码:NB-IoT显示屏逻辑显示

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: NB-IoT模块显示屏逻辑显示是指通过NB-IoT模块连接到互联网,并通过显示屏展示相关信息的一种技术。在这种技术中,NB-IoT模块充当通信的核心部件,用于实现设备与云平台之间的数据传输。 首先,NB-IoT模块通过无线通信技术连接到互联网。NB-IoT(Narrowband Internet of Things)是一种为物联网设备提供低功耗、宽覆盖范围的无线通信技术。它可以通过GSM基站或物联网网关与互联网进行通信,实现设备的远程控制和数据传输。 其次,通过NB-IoT模块连接到互联网后,可以与云平台进行数据交互。设备可以将采集到的数据发送到云平台,也可以接收云平台发送的控制指令。云平台可以对设备数据进行处理和分析,并将结果返回给设备。 最后,通过显示屏向用户展示相关信息。NB-IoT模块连接到互联网后,可以将设备数据通过显示屏展示出来,使用户可以直观地了解设备状态或相关信息。例如,可以在显示屏显示温度、湿度、光照强度等环境参数,也可以显示设备的运行状态或警报信息。 总之,NB-IoT模块显示屏逻辑显示是一种通过NB-IoT模块连接到互联网,并通过显示屏展示相关信息的技术。它可以实现设备与云平台之间的数据交互,实现远程控制和实时监测等功能,为物联网设备的应用提供了便利和可靠的通信方式。 ### 回答2: NB-IoT模块显示屏逻辑显示是指在NB-IoT模块显示屏上通过合理的逻辑和方式显示相应的信息内容。 首先,NB-IoT模块显示屏上可以显示模块运行状态相关的信息,如当前的连接状态、信号强度等。这些信息可以帮助用户了解模块的工作情况,如是否成功连接到网络、信号质量等。 其次,NB-IoT模块显示屏可以显示与设备传感器数据相关的信息。比如,对于一个环境监测设备,可以通过显示屏显示当前的温度、湿度、空气质量等数据。用户可以通过观察显示屏上的信息来了解环境的实时情况。 此外,NB-IoT模块显示屏还可以用于显示与设备控制相关的信息。例如,对于一个智能家居设备,可以通过显示屏显示当前的开关状态、控制选项等。用户可以通过触摸显示屏来实现对设备的控制,如打开或关闭某个功能。 最后,NB-IoT模块显示屏还可以用于显示与设备通知、警报相关的信息。当设备发生异常或需要用户处理时,可以通过显示屏上的提示信息提醒用户。比如,对于一个安防设备,显示屏可以显示报警信息,提示用户可能存在的风险。 综上所述,NB-IoT模块显示屏逻辑显示可以根据具体的应用需求,显示模块运行状态、传感器数据、设备控制、通知等相关的信息。这样可以方便用户了解和操作设备,提高用户体验。 ### 回答3: NB-IoT模块显示屏逻辑显示是指使用NB-IoT技术的物联网模块显示屏的联动显示NB-IoT模块是一种低功耗、低成本的无线通信技术,可以实现物联网设备之间的远程连接和数据传输。它可以连接各种传感器、设备或系统,并将它们的数据传输到云平台或其他终端设备。 在NB-IoT模块显示屏的联动显示中,模块通过NB-IoT网络获取数据,并通过显示屏将其展示出来。具体的逻辑显示可以包括以下几个方面: 1. 实时数据更新:NB-IoT模块根据传感器等设备的数据获取实时数据,并通过显示屏将数据动态展示出来。例如,环境监测设备通过NB-IoT模块获取温度、湿度等数据,并实时在显示屏上展示。 2. 警报信息显示:当NB-IoT模块接收到传感器监测到的异常情况或报警信息时,可以通过显示屏实时显示警报信息,提醒用户注意。例如,在火灾报警系统中,NB-IoT模块可以接收到烟雾传感器的报警信号,并通过显示屏显示火灾警报。 3. 远程控制显示NB-IoT模块可以接收到云平台或其他终端设备发送的控制指令,并通过显示屏显示控制状态。例如,智能家居系统中,用户可以通过手机App发送指令给NB-IoT模块,控制显示屏显示不同的内容。 总之,NB-IoT模块显示屏逻辑显示是将NB-IoT模块显示屏相结合,通过获取实时数据、显示警报信息和远程控制等方式,实现物联网设备 数据的可视化展示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小鹿

博主不差钱,点个赞就行哈哈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值