4497|7

25

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【润和Neptune测评】六 双色调光LED灯 [复制链接]

 
  1. 项目简介

本项目硬件环境:Neptune(W800)开发板,黄白双色灯板,调光驱动板,12V开关电源。

 

驱动板实际就是两个大MOS管

 

3W灯板,某宝购买的

 

软件环境:HarmonyOSNeptune 编译工具链 csky-abiv2-elf-gccUBUNTU20.04),调试烧录工具SecureCRT

主要实现功能:WiFi连接,TCP客户端联网,PWM控制,用户按键,学码配网,双色灯色温调节。

  1. 调光

通过控制两路PWM,而控制黄白双色LED亮度调节,实现我们想要的亮度,主要调节两个参数,一个是色温调节,控制黄白色PWM混色,实现冷暖光调节,一个是亮度调节,即调节灯亮暗大小,亮度一定的时候,色温只能在这个亮度下变化,具体调节公式参考下图:(别问我什么原理,我也是参考来的,知道知道原理的兄弟可以留言讲解下~)

 

箭头两个公式是计算两种颜色的百分占比,百分比的最大值我是按照1000来计算,也只是为了方便,如果想要步进值为0.1的时候,不出现小数点的浮点运算,下面还转成实际值,因为PWM值只有一个8位寄存器最大只有255,如果这个值能设置1000的就没有这个麻烦,百分一就是2.55。

这里可能会有个疑问,为什么要步进1%呢,如果是遥控器,调个灯,手不得按废?我一次步进10%不行吗?答案是可以的,有的一次甚至调20%,但是步进太大,调节灯会看到明显的阶梯感,例如手速最快是100ms,调10%,我可以分成10步,每10ms步进1%,这样手即不按废,调节也会感觉很平滑,是这里用的,只是一些细节问题。代码里定时任务,根据设定的目标值,执行步进值就行。

 

  1. 协议

我只是简单的定个通信协议,协议只是为了两边沟通方便,协议格式:

  

功能码是区分不同功能00是亮度调节,01是色温调节,02是设置固定模式,03是闪烁,后面还有子功能,比如控制加减,这里面还有个ID和学码,下面会讲解,大家可以根据自己的实际需求更改。

  1. 学码

为什么要学码呢?学码是配对,通过绑定指定设备,值执行它们的指令,允许它们控制,自己家里的灯,我们只能自己控制,如果没有学码配对,知道协议谁都能控制,那就好乱了套,大家也不会希望这样的事情发生,学码实际就是接收控制端的ID保存下来,然后收到命令之后匹配,怎么进入学码呢?常规做法是5秒内快速开关灯3次,这个需要保存数据,也可以通过接收特定广播指令,进入学码状态,然后这里我没有写存FLASH功能,做了一个每次开机要长按板子按键3秒,进入学码状态,每次重启都有执行这个操作,学码后才能控制灯。

  1. 测试

测试给大家看看颜色变换的图吧,摄像头下,这个灯看不出效果(可能我手机像素不行…^-^),后面放个视频,大家看看有调节效果就好,测试得注意,虽然只有3W,但是非常的烫,不要轻易用手去摸,还有LED非常刺眼,经常看要配好墨镜。

由于不会写APP,所以通过网络助手来,模拟控制设备发指令控制灯。每次上电或者清码后都需要,长按3秒用户按键,进入学码状态,学码后才能控制。

 

 

 测试视频地址:【润和Neptune测评】六 双色调光LED灯-测试视频 - 【润和Neptune测评】六 双色调光LED灯 - EEWORLD大学堂

我把源代码上传,大家可自行测试~只是灯部分的代码,并不是整个工程,需加入工程自行编译~

 

  1. 心得

润和Neptune(W800)开发板,虽然简单,但是做物联网应用该有的接口,基本齐全了,W800的外设设计也还算优秀。

       鸿蒙比较火热,也可能是觉得这是属于我们自己的操作系统,不管怎么样都要去使用,支持,学习,相信它也足够优秀,不然早就销声匿迹了,我是想着学习新的东西,因为出来工作已经10年了,但工作经验感觉也就前面几年学的,在一个公司呆久了,前面一两年熟悉了公司产品的开发,后面只是相同的东西翻来覆去而已,并没有多少实质的提升,有种混着等si的感觉,这也是我想逼着自己学习新的东西的原因,也许是人到中年的一种焦虑,一种挣扎吧!

       关于入门,系统我是把他当作一个工具,学习就是学习这个工具的使用,但是这个工具学习需要一个环境,就是我们搭建的开发环境,就像我们开始学单片机,要安装keil,给你做好了点下一步,装好后新建好工程,之后这个keil你用的最多的就是点击编译,查看编译输出窗口,这个开发环境装好了也一样,只是稍微复杂一点,换到Linux下而已,很多初学者往往卡在安装环境的路上就放弃了,keil没装上,说学习单片机怎么这么难!

       项目开发需要的是我们利用这些工具,组织逻辑,完成我们需要的功能,工具的熟悉程度,关系到我们项目开发的速度和质量,以及遇到问题是解决的速度,要说鸿蒙学到什么程度算是掌握,我也说不出来,我只是做些简单应用,知道在哪里添加我的代码,怎么样能用他们的库。跑出我要的逻辑而已,目前为止,内核以及底层我也一概不知,有空在研究,工科生,语言组织能力也就这样了,初学者能看懂的将就着看,有大神路过看看就好,请轻拍砖~我只是个业余的!

bicolorlight.zip

28.22 KB, 下载次数: 6

最新回复

感谢大佬,正好缺这方面的知识   详情 回复 发表于 2023-1-12 17:31
点赞 关注
 

回复
举报

6587

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

为什么要步进1%

这个代码是可以修改的

 
 
 

回复

5220

帖子

236

TA的资源

管理员

板凳
 

【润和Neptune测评】六 双色调光LED灯

帮你把测试视频嵌上:


 

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

感谢~柠檬哥  详情 回复 发表于 2021-12-7 22:08
 
 
 

回复

5220

帖子

236

TA的资源

管理员

4
 

视频里漂浮的这几个点怎么出现的

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

反光~  详情 回复 发表于 2021-12-7 22:07
 
 
 

回复

25

帖子

0

TA的资源

一粒金砂(中级)

5
 
nmg 发表于 2021-11-29 10:43 视频里漂浮的这几个点怎么出现的

反光~

 
 
 

回复

25

帖子

0

TA的资源

一粒金砂(中级)

6
 
nmg 发表于 2021-11-29 10:41 帮你把测试视频嵌上:  

感谢~柠檬哥

 
 
 

回复

35

帖子

2

TA的资源

一粒金砂(中级)

7
 

不得不说这么亲民的价格 ,没理由不尝试尝试。

比起stm32来虽然没有强大的集成开发环境、仿真调试器和生态资源,但毕竟价格便宜。

刚开始开发起来是有点儿麻烦,有点儿像是刀耕火种。需在linux系统上搭建开发环境,使用工具链交叉编译,然后再通过工具下载烧录进去。总结下大致分三步,环境搭建、编译代码、固件烧录。

但是对于要做产品和降低成本来说,环境的搭建,或用记事本(notepad,sublinetext,uedit32,vscode等)开发,用工具链编译,这些都算不上什么难事。

 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

8
 

感谢大佬,正好缺这方面的知识

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表