1.如何在stm32单片机上移植u8g2形库?测试测试
2.用STM32做了个电子秤,电路代码原理挺简单的源码
3.STM32CubeMX驱动4x4键盘模块
4.OLED 手机降低频闪原理介绍
5.毕业设计竞赛选题推荐 | 鸿蒙嵌入式物联网应用之智能垃圾桶项目实战(含文档及源码)
6.用ESP8266制作复古游戏机
如何在stm32单片机上移植u8g2形库?
U8g2是适用于嵌入式设备的单色图形库,支持单色OLED和LCD,工具涵盖多种OLED驱动,测试测试如SSD。源码在STM单片机上移植U8g2时,工具(源码首先需下载其源码,测试测试关注csrc文件夹下的源码C源码部分。U8g2兼容多种屏幕显示驱动,工具源码内包含对应文件,测试测试移植时可删减无用文件以减小工程代码体积。源码
移植过程中的工具主要修改包括精简u8g2_d_setup.c和u8g2_d_memory.c文件。针对OLED屏幕的测试测试IIC接口,需要初始化GPIO。源码还需编写u8x8_gpio_and_delay和u8g2Init函数。工具移植详情和示例可参考演示视频评论区的图文教程。
用STM做了个电子秤,电路代码原理挺简单的
这个基于STM和HX的智能体重秤项目在开源网站上被发现,不仅能够测量体重,还能调整测量单位,支持克和千克,最低测量单位可设置为克。这里分享了项目的开源教程,涵盖了功能、硬件组成、电路原理、软件解析以及注意事项。这个项目成本低廉,仅为元,由7个部分的硬件组成,包括电源电路、主控电路、晶振电路、称重电路、稳压电路、通信电路、复位电路和OLED显示接口。
HX是一种高精度的称重传感器处理芯片,能够通过四个压力应变片构成全桥来精确测量体重。主控芯片STM与HX通信,通过解析压力应变片的变形量来计算重量,再与手机端的MX-蓝牙模块进行数据传输。以下是电路拆分解析:
- **电源电路**:由TYPE-C接口、锂电池模块、充电电路组成,提供稳定的电源。充电完成后,LED2指示灯亮起,传奇铭文源码TP芯片管理锂电池充电。P2接口接入3.7V锂电池。
- **主控电路**:选用STMFC8T6作为主控芯片,具备2.0v~3.6v的工作电压,最大时钟频率为MHz,拥有KB的闪存和KB的SRAM,支持多种通信和外部设备连接需求。电源输入部分需添加nf电容进行滤波。
- **晶振电路**:使用.Khz的低速晶振和8Mhz的高速晶振,配置时钟输入源为外部输入。
- **称重电路**:HX作为数模转换芯片,通过SPI或简化串行接口将模拟信号转换为便于与微控制器通信的数字数据。压力传感器通过全桥连接方式接入HX的E+、A+、GND、A-接口。
- **稳压电路**:采用AMS稳压芯片输出3.3V。
- **通信电路**:通过蓝牙模块MA-A实现与手机的无线连接,支持BLE5.2蓝牙接口,具有良好的通信距离和低功耗特性。
- **复位电路**:通过按下主控的RESET引脚实现复位,松开后系统重新启动。
- **OLED显示接口**:OLED显示器通过I2C协议与主控芯片通信,用于显示体重信息。
软件解析包括手机端应用和嵌入式软件两个部分:
- **手机端应用**:采用微信小程序设计,能够存储和分析称重数据,并通过ec-canvas控件动态展示图表。
- **嵌入式软件**:使用STMCUBE进行时钟配置,关键代码包括从HX模块读取传感器数值、将压力传感器数值转换为重量并储存、OLED显示字符串代码等。
注意事项涉及原理图绘制、布线和调试的关键点,确保项目成功实现。
本项目为开源,旨在提供一个成本低廉、功能全面的智能体重秤解决方案,适合DIY爱好者和技术学习者。详细资料和源代码可下载获取。通过关注嘉立创EDA头条号,可获得一手优质开源项目的最新动态和资源。
STMCubeMX驱动4x4键盘模块
本文将介绍如何利用STMCubeMX驱动4x4键盘模块,通过实际操作和理论分析,帮助电子爱好者掌握这一技术。
4x4键盘模块是一种广泛应用的电子组件,具备个按键以矩阵形式排列。这些模块通常被用于数据输入、珍藏操盘源码操作界面等应用,能够显著提升系统效率和准确性。
当单片机具有足够GPIO引脚时,可以直接将按键连接到引脚上,并通过编程实现按键控制和状态读取,无需额外电源。关键在于正确连接按键和引脚,并实现有效的按键扫描算法。
为了确保正确操作,需要依据模块按键排列和引脚定义表格进行接线。程序设计时,要实现按键扫描算法以准确检测按键状态并作出响应。
4x4键盘模块以其功能强大、易于使用的特点,在机械化、自动化系统中得到广泛应用。学习和实践4x4键盘模块是提升电子技能的绝佳机会。
接下来,我们详细分析矩阵键盘的工作原理。独立按键通常在未按下时保持高电平,按键按下时变为低电平。通过检测电平变化即可实现按键识别。矩阵键盘采用行和列交点扫描机制,仅需8个引脚即可操作个按键。通过设定行和列电平,检测到的低电平状态即对应按下按键。
实现矩阵键盘扫描时,先将行电平设置为指定值,然后将列电平设置为高电平,检测各交点电平。当检测到低电平时,即识别到按键按下。此过程适用于不同按键布局。
为了将4x4键盘模块集成到STMCubeMX工程中,首先创建工程文件夹,并在STMCubeMX中配置芯片、Debug、以及时钟频率。设置矩阵键盘为推挽输出(用于按键控制)和上拉输入(用于检测状态)。同时,配置硬件接口如IIC以驱动OLED显示按键值。
在工程中移植相关源码文件,确保正确包含oled和矩阵键盘库。通过将文件复制到指定目录并在配置文件中启用,实现模块驱动功能。驱动函数主要负责按键扫描,其详细实现逻辑在源码注释中阐述。医联体源码
实验部分,通过将按键值显示在OLED屏幕上验证驱动功能,直观展示按键操作效果。
总结而言,4x4键盘模块是电子设计中不可或缺的组件,学习其驱动技术能够为项目开发提供强大支持。希望上述内容能帮助您深入理解并成功实现4x4键盘模块驱动。
OLED 手机降低频闪原理介绍
频闪的度量主要有两种方式。一种是通过相机拍摄,将快门时间调整至1/秒以下,观察手机屏幕上的黑色条纹宽度、颜色深浅和条纹稀疏程度,以此判断频闪程度。另一种方式是使用高时间分辨率的照度探头,测量指定区域亮度随时间变化的曲线,通过特定公式计算频闪效应可见性度量值(SVM)。
相机拍摄法直观简单,只需确保相机快门时间足够短,即可观察到屏幕上的频闪现象。黑色条纹越宽、颜色越深、越稀疏,代表频闪程度越强。
SVM计算方法涉及相对照度波形的傅里叶级数展开。通过计算特定傅里叶分量的相对幅度和频率,可以得到频闪效应对比度阈值函数。SVM值的计算公式基于屏幕亮度随时间变化曲线的形状,与亮度绝对值无关。SVM值越高,表示频闪程度越显著。
在高亮度下,OLED屏幕通常表现出较低的频闪。B站up主低调的山和Navis-慢评分别通过拍摄和展示OLED屏幕随亮度变化的SVM曲线,证实了这一规律。因此,维持屏幕高亮度,并通过可调节的黑色滤镜控制实际亮度,可以实现低亮度下的低频闪效果,这就是屏幕滤镜降低频闪的原理。
安卓系统提供了API,使开发者能够实现屏幕滤镜功能。通过开启无障碍服务、获取窗口管理器权限并添加可透明度调节的黑色滤镜,即可实现这一功能。
针对OLED屏幕频闪问题,开发了一款开源APP,名为“滤镜护眼防频闪”。preact的源码该应用通过控制屏幕亮度并添加可调节的黑色滤镜,确保在低亮度下也能实现低频闪效果。项目源码和下载链接可在GitHub和蓝奏云上找到。
总结,通过调节屏幕亮度和使用屏幕滤镜,可以有效降低OLED手机屏幕的频闪现象。这一解决方案既考虑了屏幕亮度对频闪的影响,也提供了实际的实现方法,为用户提供更为舒适、健康的使用体验。
毕业设计竞赛选题推荐 | 鸿蒙嵌入式物联网应用之智能垃圾桶项目实战(含文档及源码)
智能垃圾桶项目案例,采用华清远见鸿蒙基础套餐(Hi鸿蒙开发板)+雷达控制模块(含舵机)作为硬件平台。项目功能设计如下:
1. **感应功能**:通过红外感应或微波感应技术,当有物体或手靠近感应区时,盖子自动开启,离开后自动关闭,实现无需手动或脚踩操作。
2. **卫生与环保**:减少细菌传播,避免异味和蚊虫滋生,降低环境污染,通过自动关闭功能减少能耗。
项目实现内容包括:人体与垃圾桶的距离感知、OLED显示屏状态显示、人体靠近时自动开启盖子,远离时自动关闭。
技术点涉及:人体距离感知技术、OLED显示屏驱动、智能设备自动化控制。
项目整体框架:硬件平台搭建、传感器与执行器连接、软件编程实现功能。
硬件平台:FS-Hi鸿蒙开发板,配备丰富的板载资源与拓展模块,支持鸿蒙系统。
开发板优势:适用于物联网教学、学生毕设、个人学习及竞赛,配套教程、视频课程与项目案例。
项目源码与文档领取:添加小元老师微信号(yyzlab),获取智能垃圾桶项目完整配套文档及源码,还有鸿蒙物联网开发板相关资料。
用ESP制作复古游戏机
上半年,看到许多人利用ESP制作气象站,引发了兴趣并购买了开发板和0.寸OLED屏幕。但因事务繁忙,一直未能着手。最近无意间发现Arduboy项目,决定尝试利用ESP来制作。
Arduboy是一个基于Arduino平台的复古游戏机,采用ATmegau4单片机,配备x像素OLED显示屏和内置电池,续航时间可达8小时,售价略高,约为$。然而,通过自己组装成本仅需约人民币,市面上二手售价在~人民币之间。
考虑到ESP的性能,决定尝试将其用于Arduboy。硬件方面,成本约元,电路图基本遵循原项目设计,仅对部分引脚进行了调整,以兼容ESP的特性。由于ESP的特性,部分设计需要进行调整,比如使用不同的LED控制方式。
软件方面,通过修改ESP固件中的GPIO引脚配置,调整OLED屏幕和按键的连接。参考了相关文章和库,如arduboy游戏编程之Arduboy2库,以测试绘图和按键功能。经过调试,图形和按键功能均能正常工作,可以运行示例游戏。
推荐尝试ESP_Arduboy2库中的游戏,以丰富游戏体验。视频演示如下,更多探索方向可以关注公众号「号实验室」。
参考资源包括:源码地址、Arduboy官网、ESP_Arduboy2库、esp-oled-ssd、brzo_i2c、arduboy游戏编程之Arduboy2库、ESPboy项目地址等。
本文旨在分享个人的尝试过程,ESPboy等平台提供了丰富的资源,欢迎关注公众号「号实验室」,探索更多可能。
esp无线小车
ESP无线小车项目通过JavaScript与该芯片的WebSocket通信,实现了前端摇杆操作远程控制小车的创新应用。以下是项目的关键步骤和所需资源的概述。
硬件准备:
- 项目仅需L的四根控制线连接,确保5V电源为电机提供动力。电机转向可以根据测试调整接线。
代码实现:
- ESP代码基于OLED屏幕,仅需修改WiFi信息。对于初级开发者,index.html中的IP(如..0.)和默认端口需要替换为个人设备信息。
- 控制端代码可直接使用,只需调整IP和端口,不具备前端基础的用户可借助轻量级文件服务器webd进行访问,无需深入技术配置。
项目部署:
- 对于技术熟练者,可以部署整个项目;对于新手,只需在webd上上传代码文件夹,通过浏览器访问index.html进行操作。
扩展与展望:
- 作者考虑使用webRTC进行更高效通信,但因技术复杂性未实现。未来计划尝试ESP以提升性能。
结束语:
- 项目源码可在GitHub找到:github.com/Syske/arduino...,如有疑问,欢迎在评论区交流。
项目实现基于ESP的无线控制,通过前端与硬件的简单连接,轻松实现小车的远程操控。
硬件准备:仅需L四线连接,注意电机转向调整。ESP代码包含在内,只需替换WiFi信息,新手可借助webd简单访问。
部署与操作:对于技术熟悉的用户,可自行部署;初学者可直接使用webd访问index.html进行控制。
未来计划:作者计划探索webRTC和ESP以提升性能,有兴趣的朋友可以关注项目源码:github.com/Syske/arduino...
感谢关注,有任何问题可在下方留言讨论。
实例演示ESP+U8g2库,玩转OLED显示
本篇内容将深入探讨如何使用ESP与U8g2库来操控OLED显示屏。首先,我们将聚焦ESP的引脚定义,特别是与OLED显示功能相关的引脚。
接下来,我们介绍OLED模块的常见尺寸和接口类型。0.寸的矩形OLED屏幕是较为常用的选项,其通常配备IIC或SPI接口。IIC接口需连接4根线,而SPI接口则需6根线。IIC通信速度较慢,但接线更为便捷。本篇选用的0.寸OLED屏幕分辨率为x,采用黄蓝双色显示。值得注意的是,这里的“双色”表示屏幕的上部1/4只能显示**,下部的3/4只能显示蓝色,且两者之间存在约一个像素点的间隙。
接下来,我们将介绍U8g2库的概述与安装。U8g2是一个专为嵌入式设备设计的单色图形库,支持多种OLED及LCD显示。它提供了一套直观的API,使得在OLED屏幕上绘制图形变得极为简便。U8g2源码可在GitHub上获取,而专为Arduino设计的库安装则更为便捷。
在安装U8g2库后,我们将演示如何在Arduino IDE中进行基本设置。对于IIC接口的OLED,需要在程序中定义接口类型。对于SPI接口,则参照U8g2库自带例程中的方法进行操作。在程序的setup阶段初始化U8g2库,然后在loop阶段编写显示逻辑。U8g2库的loop操作通常采用do{ }while()形式进行。
接下来,我们将详细介绍U8g2库提供的常用API函数,涵盖像素点绘制、直线绘制、矩形绘制、圆绘制、文字显示、图标绘制以及自定义显示等功能。通过这些函数,可以在OLED上实现丰富多彩的图形显示效果。
最后,我们将总结ESP与U8g2库的集成应用,展示如何在OLED显示屏上实现图形的快速渲染。本篇的示例代码已开源于gitee仓库,欢迎访问并star支持。
3K拿下创维旗舰! OLED+顶级色准是种怎样的体验
电视开机率的下降,是多方面因素导致的,包括手机、平板等小屏设备的崛起,以及电视使用体验的提升空间。然而,电视作为大屏端观影体验的不二之选,仍旧吸引着一部分人。在追求观影品质的道路上,我换了一台寸的美兹电视,它实际上是创维S的海外版,即Metz S。本文将从外形、画质、系统体验等方面,详细介绍这款电视的特性与体验。
首先,美兹电视的外形设计颇具逼格,四边极窄,屏占比高达%,营造出强烈的沉浸感。一体冲压工艺与MCM复合材料背板相结合,打造锋薄的OBM技术,最薄处仅3.9mm³。这不仅提升了散热和隔热性能,也间接延长了OLED电视的使用寿命。电视还拥有4个HDMI接口,其中2个支持HDMI 2.1,兼容性更佳。遥控器布局合理,主流流媒体功能一应俱全,操控体验舒适。
画质方面,电视搭载了LG V 4K Hz OLED面板,具备bit色深、:1高对比度与nits峰值亮度,无论在明暗对比强烈的场景还是色彩丰富的场景下,都能展现出高素质的画面。OLED面板的特性使得其在控黑能力上远超MiniLED,能够实现K纯黑,带来更高的对比度。独立发光像素使得亮者恒亮,黑者纯黑,整体表现极为惊艳。高色准带来的画面鲜活感令人震撼,色彩显示极为真实。电视支持HDR、HDR+、HLG、杜比视界等格式,以及杜比数字、杜比数字+、杜比全景声、DTS等音频格式,提供全方位的视听享受。
系统体验方面,电视搭载原生安卓TV系统,无广告干扰,使用体验流畅。配置方面采用联发科MT处理器,内存与存储空间较小,与创维S相比有所缩水。电视支持快速操作,应用丰富,NAS玩家常用的Plex、EMBY、KODI、Jellyfin等客户端一应俱全,且支持第三方应用手动安装。播放器与解码方面,目前最推荐的播放器是infuse,支持杜比视界等特性,但只能运行在iOS设备上,需要配合盒子使用。如果使用苹果盒子,将无法实现音频源码输出。KODI +插件的形式在局域网播放上较为鸡肋,操作复杂。极空间的极影视应用则在安卓TV端表现优秀,能够实现杜比视界弹出标示,且支持源码输出,是目前最佳的本地播放视频应用之一。
综上所述,美兹电视作为创维S的海外版,拥有出色的外形设计、卓越的画质表现、流畅的系统体验以及丰富的应用支持。对于追求极致画质、纯净系统、热爱主机游戏、喜欢折腾并具备一定网络能力的用户来说,这是一款性价比极高的选择。然而,对于没有良好网络基础、对电视画质要求不高或看重售后的用户,可能不是最佳选项。