【瑞萨RAMCU创意氛围赛】项目31——基于RA6M5的电子墨水屏微信信息站

瑞萨MCU小百科 2024-03-28 12:01







一、创意方案简介


手机微信是我们日常生活中使用越来越多的通信工具之一,手机微信在给我们带来便利的同时,也带来很多烦恼。特别对于小朋友们,长时间看手机微信导致眼睛视力受损。用手机微信会养成过度玩游戏等不良习惯等。怎样使得小朋友们在能获取微信消息的同时,又不受沉迷手机的危害,本创意则运应而生。即通过手机端家长可以把重要信息转发到一个桌面终端上,小朋友通过桌面信息终端能够阅读微信通知信息。

墨水屏具有无辐射,依靠自然光反射显示图像的绿色健康使用特性,又具有断电内存保持的有点,因而它适合作为文字图片类的信息显示设备。它适合作为本创意的显示器件。

瑞萨电子RA6M5芯片是32位高性能微控制器(MCU)产品。它具有支持TrustZone的高性能Arm® Cortex®-M33内核。结合片内的SecureCryptoEngine(SCE)配合使用,可实现安全芯片的功能,适合安全信息场景的应用。RA6M5采用高效的40nm工艺,由灵活配置软件包(FSP)支持开放且灵活的生态系统。

FSP基于FREERTOS构建,并能够进行扩展,以使用其他实时操作系统(RTOS)和中间件。RA6M5适用于物联网应用的需求,如多样化的通信功能、面向未来应用的安全功能、大容量嵌入式RAM和较低的运行功耗(从闪存运行CoreMark®算法时功耗低至107μA/MHz)。其优异的性能和低功耗安全的特点。本创意项目选择该MCU作为主控组件。






二、项目创意与特点


本项目名称为《瑞萨RA6M5电子墨水屏微信桌面信息站》,在需要微信面向如小朋友使用的场景下,需要一个环保健康的设备,以及减少使用手机微信带来的伤害,以及小朋友使用手机时的不良习惯。而瑞萨RA6M5电子墨水屏微信桌面信息站则可以让小朋友无害的阅读微信内容。微信的消息内容通过微信服务机器人自动转发或者由家长手动发送。

本项目利用野火瑞萨RA6M5开发板具备联网通信能力,与驱动显示墨水屏显示输出能力,以及按键交互的功能。使用野火瑞萨RZ6M5开发板SPI 总线连接墨水屏显示器件,通过板载ESP8266模块连接云端消息数据处理服务,完成微信图文信息通过网络向瑞萨RA6M5电子墨水屏微信桌面信息站发送与消息阅读确认的回复功能。

本项目完成RA6M5开发板使用SPI连接6寸大屏电子墨水屏,并移植开发墨水屏显示驱动,以及在线数字,日期显示到内存位图的功能,实现墨水屏消息站终端的显示功能。使用nginx和python图像处理脚本在云端完成微信图片与文字转换成墨水屏能够显示的单色点阵图,再通过socket传送到RA6M5 终端上显示输出。同时消息站用户按下按键,将会将按键消息回传,已示确认消息收到,实现消息站消息接收显示以及用户对消息已阅读的确认。

该项目涉及到如下技术内容:

  • RA6M5—野火瑞萨RA6M5开发板,完成微信桌面消息站的终端硬件
  • Nginx+uWSGI+django服务提供HTTP与python应用中间件,支持OpenCV图文转换,终端身份识别,图片文字上传与下载。
  • OpenCV-python—服务端完成文字与文字转换成墨水屏显示的4阶灰度图
  • WeChaty—微信客服机器人开源项目,实现微信消息过滤,转发
  • Websocket--支持web端的二进制网络数据通信
  • FreeRTOS --一款开源的MCU上运行的实时多任务操作系统
  • E-ink Paper—微雪电子纸驱动开源代码,用于驱动电子墨水屏






三、项目所涉及的材料


  • RA6M5 野火瑞萨RA6M5开发板,微信桌面消息站终端主板
  • GDEW0583T7 电子墨水屏显示器件,支持4阶灰度图像内容显示
  • WIFI路由器,提供有线网络和互联网的通讯和无线通讯
  • 互联网云主机,提供微信机器人服务
  • Windwos X86 电脑,提供RA6M5开发与烧录环境
  • 兼容STM DAP 烧录下载器






四、方案整体技术架构


瑞萨RA6M5电子墨水屏微信桌面信息站如下图所示,服务端主要有Nginx服务作为H5页面的WEB服务,OpenCV服务使用opencv-pyton启动一个图像处理服务进程,通过socket与web服务连接完成文字图片的转换,微信机器人是一个消息转发服务,将文字消息发送到opencv服务上再与web通信。服务端均部署在互联网公网服务器上,移动端通过移动网络访问图文消息转发的编辑页面,完成手动消息的发送。野火RA6M5开发板和墨水屏组成的信息终端通过wifi连接路由器,完成通信的硬件联通。






五、RA6M5墨水屏信息站开发


墨水屏信息站使用野火RA6M5开发板,通过板载的ESP8266 WIFI模块连接WEB socket服务,接收服务端推送的显示图像的指令以及使用http get获取服务端转换好的电子墨水屏显示图像数据。

上下滑动查看

1

硬件连接

墨水屏信息站终端硬件由主控板RA6M5开发板,墨水屏转接板、GDEW0583T7 4阶墨水屏组成。

RA6M5开发板主控是瑞萨R7FA6M5BH3CFC芯片,基于Cortex-M33 内核,主频高达 200MHz,具有 512KB SRAM、2MB Code Flash 和 8KB Data Flash。


转接板使用的微雪的DESPI-C02 型号的E-ink转接板:


GDEW0583T7四阶灰度电子墨水显示屏,接口为SPI接口,600x448的分享率,显示屏尺寸为6.5英寸:正面图


背面如下图


主控板使用GPIO模拟SPI接口连接转接板,转接板通过FPC排线连接墨水屏24PIN,连接完的系统如下图:

只要接线方式是:

RA6M5---DESPI转接板

P608 --- DC

P801 --- RST

P706 --- BUSY

P805 --- SCK

P806 --- SDA

P611 --- CS


连接电路图如下:


连接实物图如下:


2

软件开发

墨水屏信息站终端软件开发主要有以下几部分:

一、使用GPIO通过软件控制IO实现SPI标准时序,

二、移植GDEW0653W4显示驱动,该屏提供了STM32上的驱动程序,按相应的函数移植SPI读写完成初始化,清屏,向屏幕输出图像数据。

三、tcp/ip通讯协议,分别实现websocket的连接与http get的数据下载。

野火RA6M5开发板在线文档非常丰富详细,因此RA6M5开发非常轻松,文档地址见后面链接查看参考文献。

该开发板开发采用 KEIL + FSP的方式,首先下载瑞萨的板级支持包 Renesas.RA_DFP.4.0.0.pack 再下载瑞萨Renesas RASmart Configurator(FSP)以及DAP的驱动JLink_Windows_V788c,开发工具的安装过程这里略过,安装完FSP后,即可单独启动FSP,在FSP的包管理中导入上面下载RA_DFP板级支持包,即完成了该开发板的开发环境准备工作。


FSP配置工程


同时在FSP中创建新工程,选择RA6M5开发板型号,选择KEIL工具平台,即产生开发板支持的初始工程,打开KEIL,再打开该工程即可看到工程目录,此时可以进行本项目的开发了。


使用SPI线连接E-INK 墨水屏,移植该墨水屏的显示驱动,显示驱动完成初始化,参数设定,清屏,显示图像等函数。


3

编译下载程序到RA6M5上运行调试

各部分开发完成,连接DAP jtag下载器,点击下载即可把程序下载到RA6M5开发板上,按下复位键将自动运行。






六、服务端WEB服务与

uWSGI应用框架搭建


使用云主机搭建web服务,主要用于手机端H5编辑页面的发布服务,以及相关图片资源上载和下载的服务功能。而WSGI(Web Server Gateway Interface)是Python Web应用程序和Web服务器之间的接口标准,它定义了一个简单的API,使得Python Web应用程序可以被部署在多种Web服务器上,而无需修改应用程序代码。uWSGI是实现WSGI协议的高效web应用服务器,他可以配合其它web服务器一起使用,可以让服务应用开发非常简单而又高效运行。

上下滑动查看

这里使用nginx服务作为web服务,云主机使用ubuntu 18.04操作系统,安装nginx服务很简单,使用apt-get即可轻松安装上nginx服务,安装并检查nginx服务指令如下:


启动nginx服务


输入服务器IP地址可以看到服务已运行


因为后台应用采用python开发而成,因此需要在nginx配置对uwsgi协议的消息转发配置,配置方式如下,增加uwsgi.conf 配置文件到 /etc/nginx/conf.d 目录下


在/opt/werobot目录下创建werobot.wsgi 配置文件


安装uwsgi中间件软件


添加python服务测试程序:


启动 uwgsi 服务中间件,检查运行正确

uwsgi --http :8000 --wsgi-file werobot.py


打开浏览器访问uwsgi服务地址与端口,显示如下表示uwsgi应用已启动:


再启动成为nginx的应用模块,在正式部署使用时,为服务安全起见使用内部端口,而不使用8000外部端口。

uwsgi -d /opt/werobot/werobot.log --ini/opt/werobot/werobot.wsgi --pidfile=/opt/werobot/werobot.pid


这样服务python应用程序只要加上uwsgi的接口即可形成网络微服务模式,可以对外提供应用服务。






七、服务端OpenCV

电子墨水图像处理


为了使终端上能够显示出图文等复杂的内容,这里设计把消息发来的图文信息在服务端转换成为电子纸支持的图像内容数据,其思路是对于手机编辑的图文显示内容,在前端编辑器上生成显示内容结构描述文件,设计编辑页面显示内容结构如下所示:(左右滑动查看完整内容)

[{"id":"001","type":"text","property":{"content":"Thismessage for RA6M5 E-ink station!", "font": "Time newRomain", "size": 18, "cord": {"x": 20,"y": 50, "w": 0, "h": 0},"color":"#EE2020"}, "index":3},{"id":"002","type":"imge","property":{"res":"res/e28346rawe3.jpg" ,"cord": {"x": 20,"y": 90, "w": 600, "h": 360}}, "index":1},{"id":"003","type":"imge","property":{"res":"res/qifw34ddwe3.jpg" ,"cord": {"x": 40,"y": 120, "w": 400, "h": 300}},"index":2},{"id":"004","type":"chtxt","property":{"content":"背诵诗词", "font":"msyh", "size": 20, "cord": {"x": 20,"y": 90, "w": 0, "h": 0},"color":"#EE2020"}, "index":4},{"id":"005","type":"chtxt","property":{"content":"Thisis test", "font": "refsan", "size": 18,"cord": {"x": 20, "y": 120, "w": 0,"h": 0},"color": "#EE2020"}, "index":5}]


上下滑动查看


其流程为当手机上编辑图文内容并提交时,上传本地图片资源以及显示页面结构数据,服务端收到提交的显示结构数据后,后端python服务接收来自编辑器编辑的信息是上面这样的json格式页面描述,使用服务端python程序,解析页面json结构数据,使用OpenCV API在按json描述的参数在内存中绘制出图像。

处理流程如下图所示:


开发python + opencv的服务端解析以及绘制图像代码如下:


由于墨水屏显示的图像数据格式和我们在电脑上看的图片格式并不相同,它是一种点阵的显示方式,并且不需要文件头和其它的描述信息,并且墨水屏颜色数非常有限,通常是单色或者灰度,4色等有限颜色的范围。因此需要把彩色图像先转换成灰度图像,彩色变换为灰度的算法很简单,采用一下算法对每个原像素进行计算即可把RGB 24位色图转换为4阶灰度图。

彩色图片转灰度的算法如下,其中R,G,B为OpenCV 从原始资源和编辑描述文件产生的全彩图片中每个像素的三个色彩的分量值,其取值范围为[0,255], 转换后的值为一个灰色的值,通过四舍五入后,值范围为[0,255],

再进行一次256阶灰度向4阶灰度变换,此时变换一种方法是直接使用分阶段的归类方式,即每64色阶归一个新的4阶色域上,但出来的4阶图像非常粗糙,丢失很多图像内容细节。因此这里采用一种全新的方式来解决这个问题,即分阶抖动的算法,抖动算法是二值图像常用的转换方法,抖动算法能够在颜色或灰度级别受限的情况下,模拟出更多的颜色或灰度等级,从而提高图像的视觉质量。这里的方式是在256阶灰度图像,通过4色阶和图像点阵密度的变化组合形成256阶灰度表达,其算法如下:


通过算法处理后的数据,就可以并转换成电子墨水屏所需要的4阶灰度RAW光栅图像数据文件,并通过websocket向终端发送显示命令,并且发送raw终端显示数据。

对于服务端图像生成,则使用 OpenCV-Python 库,完成文字字体设置,大小设置,位置设置,颜色设置并绘制到内存画布上。同样对于图片使用OpenCV读取图片数据绘制到内存画布上,对于有多个图片和文字资源的显示画面结构,按照index索引的重小到大的顺序进行绘制,最终产生内存图片数据,在调用E-Ink提供的4阶灰度抖动python算法,完成电子纸RAW数据的生成。

单元测试,使用一张彩图,通过以上变换,查看输出如下:

原始输入图像:


转换为8位256阶的灰度图:


经过抖动转换2位4阶灰度疏密点阵图:


将2位色抖动图的图像去掉头部描述数据后取出raw数据形成输出的文件,保存在out目录下,供HTTP服务向墨水屏终端信息站发布使用。






八、手机微信客服机器人部署


为了使得该信息站更方便使用,那么最好的方式就是把这个信息站和我们日常生活中最常用的通信工具整合起来,形成简单易用的一个操作体验。日常最常用的消息通讯工具莫过于手机微信软件了。由于微信的通讯是一个封闭的系统,外部的终端是无法和微信服务直接通信的,不过可以通过扩展功能的方式来达到同样的目的,这里的方案就是,开发微信客服机器人。

上下滑动查看

微信客服机器人是微信允许加入微信中的一个机器代理的消息收发者,它是一个微信账号,如同一个真实的微信账号一样,其它用户可以和它进行通信和交互,如发消息和图片。它的后台可以由程序接管,可以完成自动化的消息回复,服务交付等功能。这里利用微信客服机器人服务,完成微信消息向RA6M5信息站进行转发。即微信客户机器人将收到的消息发送到上面的信息站服务端,服务端接收到微信机器人发来的消息后进行文字以及图像的绘制并转换成RA6M5信息站接收的图像数据,在终端上显示出来,从而完成微信消息到RA6M5信息站信息的发布。

网上有很多 微信客服机器人的接口,但很多是由第三方服务端完成,提供接口使用的,使用这些接口一方面使得消息转发次数更多,导致发送延时,另外也不希望自己发送的微信消息被第三方看到,因此这里使用原生的一个微信接口库来实现微信客服机器人,这里使用wechaty库来实现微信机器人。

首先在服务端安装wechaty的服务模块,wechaty 是一个nodejs 的服务,安装非常方便,首先初始化本地项目

npm init


因为笔者的服务器系统是ubuntu 18版本,因此这里不使用 npminstall wechaty 直接安装新版,因为该工程主干需要的环境版本比较高,这里使用它的一个分支版本。

git clone https://gitee.com/clasp/wechaty.git  -b custom-io-server-host


再安装检查必要的依赖的运行库


开发一个简单的微信机器人后台消息接收处理的nodejs 代码wechatbot.js,代码内容如下:


使用socker环境启动本地的wechatbot.js服务

sudo docker run -ti --rm --volume="$(pwd)":/botwechaty/wechaty wechatbot.js



//停止

docker rm -f 78ee9164894e



启动微信服务后,使用一个测试的微信号作微信服务机器人,扫描服务端生成的微信登录二维码,即授权微信机器人在我们的服务端启动,并且开始收发微信的消息.。


该微信客服机器人服务功能比较多,具有设定回复,自动欢迎加入群的新群友,获取朋友列表以及朋友圈等功能,这里仅仅使用消息接收功能,即其它微信发往该微信的消息,将被我们的微信客服后台收到:


向微信机器人发送消息:


向这个微信客服机器人发送信息时,后台将收到这个机器人接收到的消息,自动回复一个“ok”做为服务运行正常的确认。






九、整体功能测试与运行效果


在各部分开发完,由于涉及多个系统,包括微信客服机器人,后台图像转换,以及消息的通知,终端收发消息以及终端下载图像数据等环节,因此先对各部分分别做测试。

首先测试从微信发送消息,到服务端生成墨水屏图片完成,这里通过向微信机器人发送一张图片,查看服务端图片资源:


然后再通过浏览器查看服务器HTTP下的资源文件是否生成:


能看到这个图,说明服务端工作正常。

再查看终端是否收到了新发布信息的内容,并且发起http get请求,拉取图片,显示在终端电子纸屏幕上,在电子墨水屏清屏闪动几次后,终于看到了在墨水屏显示出图像:


再连续发两段带有格式标记的信息发给微信机器人,看一下:


大约过十几秒,终端屏幕上显示出了文字内容,从文字显示看,文字的位置有一点不正确外,内容显示正常:

经过检查,发现是在服务端绘制图片时,对不同矢量文字的宽度计算有误,导致计算每行的文字宽度小于实际宽度,而默认设计绘制消息框是居中显示,导致图像偏右。

在重新修正服务端绘制缺陷后,再由网页页面向终端模拟发起一个消息通知消息,触发终端重新拉取服务端重新绘制的图片后,显示终于正确了:






十、项目讲解演示







十一、项目开发后记


大约经过1个半月左右,断断续续的把这个以前一直想做的项目基本实现了。服务端设计时,考虑了多种屏幕的适配问题,这样可以同时满足LCD屏幕以及墨水屏屏幕的显示需求,以及不同尺寸的变换。这样通过服务端强大的图形图像处理,能够实现较好的动态信息生成。满足多种的信息发布和输出。

同时因为时间比较紧,项目中有一些后续可以改进的地方,一是终端拉取图像资源时,可以采用压缩数据的方式传输,现在这种用传输占用通信较多,不过好在一张输出图片也在30K左右。二是微信和硬件信息终端没有做绑定关系判断,还没有考虑多个微信机器人和多个终端间多对多的关系,因此目前且的开发仅作为技术验证。三是需要考虑部分动态的数据以及时间等数据信息,不需要太多美术化的信息内容,能在终端内合成显示或者使用局部刷新显示的方式,这对将来智慧物联的数据显示,动态数据显示是一个好的处理方式。

同时在开发RA6M5时,开始使用硬件SPI与墨水屏通信,但是经过多次调试未果,因为时间没有深入探究,转而采用了软SPI的方式,好在RA6M5的IO速度足够快,实测软SPI的通信速度可稳定的达15Mbps,对本屏传送一帧数据仅需要不到300毫秒。同时在开发ESP8266联网功能是,参考了前面网友发布的ESP8266更新固件和测试的资料,这使得联网功能得以顺利的完成。


更多内容您可识别下方二维码获取源码等资源:


您可识别下方二维码或复制网址到浏览器中打开进入瑞萨中文论坛:

https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/


1

END

1


推荐阅读

【瑞萨RA MCU创意氛围赛】项目27——小乌龟缸

【瑞萨RA MCU创意氛围赛】项目28&29——OLED时间温度显示和温度报警&基于阿里云的路灯控制系统

【瑞萨RA MCU创意氛围赛】项目30——机械臂游戏创意制作

更多精彩内容,请点击

评论
  • 时源芯微——RE超标整机定位与解决详细流程一、 初步测量与问题确认使用专业的电磁辐射测量设备,对整机的辐射发射进行精确测量。确认是否存在RE超标问题,并记录超标频段和幅度。二、电缆检查与处理若存在信号电缆:步骤一:拔掉所有信号电缆,仅保留电源线,再次测量整机的辐射发射。若测量合格:判定问题出在信号电缆上,可能是电缆的共模电流导致。逐一连接信号电缆,每次连接后测量,定位具体哪根电缆或接口导致超标。对问题电缆进行处理,如加共模扼流圈、滤波器,或优化电缆布局和屏蔽。重新连接所有电缆,再次测量
    时源芯微 2024-12-11 17:11 79浏览
  • RK3506 是瑞芯微推出的MPU产品,芯片制程为22nm,定位于轻量级、低成本解决方案。该MPU具有低功耗、外设接口丰富、实时性高的特点,适合用多种工商业场景。本文将基于RK3506的设计特点,为大家分析其应用场景。RK3506核心板主要分为三个型号,各型号间的区别如下图:​图 1  RK3506核心板处理器型号场景1:显示HMIRK3506核心板显示接口支持RGB、MIPI、QSPI输出,且支持2D图形加速,轻松运行QT、LVGL等GUI,最快3S内开
    万象奥科 2024-12-11 15:42 71浏览
  • 近日,搭载紫光展锐W517芯片平台的INMO GO2由影目科技正式推出。作为全球首款专为商务场景设计的智能翻译眼镜,INMO GO2 以“快、准、稳”三大核心优势,突破传统翻译产品局限,为全球商务人士带来高效、自然、稳定的跨语言交流体验。 INMO GO2内置的W517芯片,是紫光展锐4G旗舰级智能穿戴平台,采用四核处理器,具有高性能、低功耗的优势,内置超微高集成技术,采用先进工艺,计算能力相比同档位竞品提升4倍,强大的性能提供更加多样化的应用场景。【视频见P盘链接】 依托“
    紫光展锐 2024-12-11 11:50 51浏览
  •         在有电流流过的导线周围会感生出磁场,再用霍尔器件检测由电流感生的磁场,即可测出产生这个磁场的电流的量值。由此就可以构成霍尔电流、电压传感器。因为霍尔器件的输出电压与加在它上面的磁感应强度以及流过其中的工作电流的乘积成比例,是一个具有乘法器功能的器件,并且可与各种逻辑电路直接接口,还可以直接驱动各种性质的负载。因为霍尔器件的应用原理简单,信号处理方便,器件本身又具有一系列的du特优点,所以在变频器中也发挥了非常重要的作用。  &nb
    锦正茂科技 2024-12-10 12:57 76浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-10 16:13 109浏览
  • 天问Block和Mixly是两个不同的编程工具,分别在单片机开发和教育编程领域有各自的应用。以下是对它们的详细比较: 基本定义 天问Block:天问Block是一个基于区块链技术的数字身份验证和数据交换平台。它的目标是为用户提供一个安全、去中心化、可信任的数字身份验证和数据交换解决方案。 Mixly:Mixly是一款由北京师范大学教育学部创客教育实验室开发的图形化编程软件,旨在为初学者提供一个易于学习和使用的Arduino编程环境。 主要功能 天问Block:支持STC全系列8位单片机,32位
    丙丁先生 2024-12-11 13:15 50浏览
  • 一、SAE J1939协议概述SAE J1939协议是由美国汽车工程师协会(SAE,Society of Automotive Engineers)定义的一种用于重型车辆和工业设备中的通信协议,主要应用于车辆和设备之间的实时数据交换。J1939基于CAN(Controller Area Network)总线技术,使用29bit的扩展标识符和扩展数据帧,CAN通信速率为250Kbps,用于车载电子控制单元(ECU)之间的通信和控制。小北同学在之前也对J1939协议做过扫盲科普【科普系列】SAE J
    北汇信息 2024-12-11 15:45 84浏览
  • 我的一台很多年前人家不要了的九十年代SONY台式组合音响,接手时只有CD功能不行了,因为不需要,也就没修,只使用收音机、磁带机和外接信号功能就够了。最近五年在外地,就断电闲置,没使用了。今年9月回到家里,就一个劲儿地忙着收拾家当,忙了一个多月,太多事啦!修了电气,清理了闲置不用了的电器和电子,就是一个劲儿地扔扔扔!几十年的“工匠式”收留收藏,只能断舍离,拆解不过来的了。一天,忽然感觉室内有股臭味,用鼻子的嗅觉功能朝着臭味重的方向寻找,觉得应该就是这台组合音响?怎么会呢?这无机物的东西不会腐臭吧?
    自做自受 2024-12-10 16:34 141浏览
  • 智能汽车可替换LED前照灯控制运行的原理涉及多个方面,包括自适应前照灯系统(AFS)的工作原理、传感器的应用、步进电机的控制以及模糊控制策略等。当下时代的智能汽车灯光控制系统通过车载网关控制单元集中控制,表现特殊点的有特斯拉,仅通过前车身控制器,整个系统就包括了灯光旋转开关、车灯变光开关、左LED前照灯总成、右LED前照灯总成、转向柱电子控制单元、CAN数据总线接口、组合仪表控制单元、车载网关控制单元等器件。变光开关、转向开关和辅助操作系统一般连为一体,开关之间通过内部线束和转向柱装置连接为多,
    lauguo2013 2024-12-10 15:53 85浏览
  • 【萤火工场CEM5826-M11测评】OLED显示雷达数据本文结合之前关于串口打印雷达监测数据的研究,进一步扩展至 OLED 屏幕显示。该项目整体分为两部分: 一、框架显示; 二、数据采集与填充显示。为了减小 MCU 负担,采用 局部刷新 的方案。1. 显示框架所需库函数 Wire.h 、Adafruit_GFX.h 、Adafruit_SSD1306.h . 代码#include #include #include #include "logo_128x64.h"#include "logo_
    无垠的广袤 2024-12-10 14:03 71浏览
  • 概述 通过前面的研究学习,已经可以在CycloneVGX器件中成功实现完整的TDC(或者说完整的TDL,即延时线),测试结果也比较满足,解决了超大BIN尺寸以及大量0尺寸BIN的问题,但是还是存在一些之前系列器件还未遇到的问题,这些问题将在本文中进行详细描述介绍。 在五代Cyclone器件内部系统时钟受限的情况下,意味着大量逻辑资源将被浪费在于实现较大长度的TDL上面。是否可以找到方法可以对此前TDL的长度进行优化呢?本文还将探讨这个问题。TDC前段BIN颗粒堵塞问题分析 将延时链在逻辑中实现后
    coyoo 2024-12-10 13:28 102浏览
  • 全球知名半导体制造商ROHM Co., Ltd.(以下简称“罗姆”)宣布与Taiwan Semiconductor Manufacturing Company Limited(以下简称“台积公司”)就车载氮化镓功率器件的开发和量产事宜建立战略合作伙伴关系。通过该合作关系,双方将致力于将罗姆的氮化镓器件开发技术与台积公司业界先进的GaN-on-Silicon工艺技术优势结合起来,满足市场对高耐压和高频特性优异的功率元器件日益增长的需求。氮化镓功率器件目前主要被用于AC适配器和服务器电源等消费电子和
    电子资讯报 2024-12-10 17:09 88浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦