[学习笔记]【杰发科技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

相关文章

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

python项目打包成docker容器镜像的两种方法实现

《python项目打包成docker容器镜像的两种方法实现》本文介绍两种将Python项目打包为Docker镜像的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录简单版:(一次成功,后续下载对应的软件依赖)第一步:肯定是构建dockerfile,如下:第二步

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js

在SpringBoot+MyBatis项目中实现MySQL读写分离的实战指南

《在SpringBoot+MyBatis项目中实现MySQL读写分离的实战指南》在SpringBoot和MyBatis项目中实现MySQL读写分离,主要有两种思路:一种是在应用层通过代码和配置手动控制... 目录如何选择实现方案核心实现:应用层手动分离实施中的关键问题与解决方案总结在Spring Boot和