[学习笔记]【杰发科技AC7802x测评】之七 项目篇:基于AC7802x的智能车载氛围灯开发

本文主要是介绍[学习笔记]【杰发科技AC7802x测评】之七 项目篇:基于AC7802x的智能车载氛围灯开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 劳斯莱斯星光灯,当你惬意地坐在手工打造的真皮座椅中,目光不禁被顶篷吸引,它像一片星光闪烁的夜空。通过在不同深度和角度安装精美的光纤束实现了星光顶饰的独特效果——使光线从多个方向以不同强度射出。每颗“星星”的亮度都可以调节,以营造您所需的氛围:在放松和阅读时提供足够的亮度,或通过淡雅光线缔造一种美妙、缓和的柔光。每个星光顶饰的星座对车主来说都如此独特。 


汽车氛围灯作为一种装饰汽车和烘托气氛的产品,逐渐从高端车型向中档车型普及。目前,氛围灯的表现形式主要是单色、RGB多色、呼吸律动、音乐律动等形式。氛围灯可以提高汽车的科技感,更现代化。可以提高夜间行车的安全性,可以舒缓驾驶员的疲劳感,放松心情,让车内生活更有仪式感,营造轻松愉悦的氛围;氛围灯不同的展现形式可以提升品牌的辨识度,彰显差异性。
   基于AC7802x的智能车载氛围灯开发,车载产品不同于消费类,对可靠新要求极高,所以主控选择车规级小巧玲珑的AC7802x非常适合项目开发,2 个 UART 模块(其中1路支持Software LIN,可以驱动CAN芯片),1 个 I2C SPI 模块。
  原理图设计:
    主控AC7802x通过IIC总线与CY8CMBR3116(一款16按钮2滑块电容式触摸接近传感器),做触摸按键拓展,串口连接RS485或者CAN,LIN与车载MCU进行交互通信。RGB灯带通过三极管驱动。灯带多的话可以改成大驱动电流的专用LED驱动器件,可控硅 氮化镓,LGBT等。
   









由于项目还在交接完善中,部门代码,后续开源

//读取参数
void ReadParam(void)
{unsigned char buf[SYS_PARAM_EEPROM_BYTE_NUM];Stm8EepromRead(buf,SYS_PARAM_EEPROM_BYTE_NUM,0x00);if((buf[0]==0x53)&&(buf[1]==0x53))  //已经保存{SysParam.Lev = buf[2];}else{SysParam.Lev = 20;}
}//写入参数
void WriteParam(void)
{unsigned char buf[3];buf[0] = 0x53;buf[1] = 0x53;buf[2] = SysParam.Lev;if(Stm8EepromWrite(buf,SYS_PARAM_EEPROM_BYTE_NUM,0x00) == 0x00)Stm8EepromWrite(buf,SYS_PARAM_EEPROM_BYTE_NUM,0x00);
}void WatchDogInit(void)
{IWDG_Enable();IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);//允许操作独立看门狗IWDG_SetPrescaler(IWDG_Prescaler_256);//看门狗预分频IWDG_SetReload(0xFF);//设置看门狗复位时间IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);IWDG_SetReload(0xFF);IWDG_Enable();//启动独立看门狗
}void CalcPwm(void)
{Pwm.Time = SysParam.Lev*100/26;if (Pwm.Time == 100) Pwm.Time = 99;
}//PWM功能初始化
//duty 占空比 0-100
void PwmInit(unsigned char duty)
{  TIM2_DeInit();duty = 100-duty;if(duty == 0){TIM2_Cmd(DISABLE);GPIO_Init(PWM_GPIOx,PWM_GPIO_Pin, GPIO_MODE_OUT_PP_LOW_FAST);//关闭PWM}else{TIM2_TimeBaseInit(TIM2_PRESCALER_2, 10000-1);            //F = 16000000 / 16  T = 1 / F = 1us  1us*10000 = 10ms = 100hzTIM2_OC1Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE, duty*100, TIM2_OCPOLARITY_LOW);    //占空比一半TIM2_Cmd(ENABLE);}
}/*
//改变占空比
//duty 占空比 0-100
void ChangePwmDuty(unsigned char duty)
{TIM2_OC1Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE, duty*100-1, TIM2_OCPOLARITY_HIGH);    //占空比一半
}
*/

---------------------
作者:abner_ma
链接:https://bbs.21ic.com/icview-3312540-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

这篇关于[学习笔记]【杰发科技AC7802x测评】之七 项目篇:基于AC7802x的智能车载氛围灯开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/393988

相关文章

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(