【单片机毕业设计选题24059】-太阳能嵌入式智能充电系统研究

news2024/9/24 17:08:47

系统功能:

系统由太阳能电池板提供电源, 系统上电后显示“欢迎使用智能充电系统请稍后”,

两秒钟后进入主页面显示。

第一行显示太阳能电池板输入的电压值

第二行显示系统输出的电压值

第三行显示采集到的太阳能电池板温度

第四行显示设置的太阳能电池板温度

按键操作:

短按PB4按键调高系统温度设定阈值

短按PB5按键调低系统温度设定阈值

当采集到的温度值大于设定的温度值后蜂鸣器报警。

系统通过蓝牙模块连接手机后,手机APP可收到系统发送上来的温度值及系统状态。

主要功能模块原理图:

电源时钟烧录接口:

单片机和按键输入电路:

传感器采集电路:

资料获取地址

系统主要功能模块代码

初始化代码:
 

  /* USER CODE BEGIN 1 */


  /* USER CODE END 1 */


  /* MCU Configuration--------------------------------------------------------*/


  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */

  HAL_Init();


  /* USER CODE BEGIN Init */

    InitVar();

  /* USER CODE END Init */


  /* Configure the system clock */

  SystemClock_Config();


  /* USER CODE BEGIN SysInit */


  /* USER CODE END SysInit */


  /* Initialize all configured peripherals */

  MX_GPIO_Init();

  MX_USART1_UART_Init();

  MX_USART2_UART_Init();

  MX_ADC1_Init();

  /* USER CODE BEGIN 2 */

//在HAL库初始化串口1后调用

    HAL_Delay(100);

    SetUart1RxToInput();

    HAL_Delay(50);

//uart1打开接收中断

    HAL_UART_Receive_IT(&huart1, (uint8_t*)&uart1RecBuff, 1);

    InitOled();

    InitOledDisp();


    if(InitDS18B20()==0)

    {

//        printf("%s", "DS18B20初始化成功");

//DS18B20在上电第一次读取时显示温度为85℃,这是正常的。

//85℃是DS18B20在上电复位后在温度寄存器内的对应数字量,

//这里DS18B20初始化成功后读一次值,避免出现85℃

        DS18B20GetTemp_SkipRom();

    }

  /* USER CODE END 2 */

系统控制代码:

//系统信息更新

void SystemControl(void)

{

    static uint8_t updateCnt = 0;

   

    updateCnt++;   

    if(updateCnt>=SYS_UPDATE_INTER)

    {

        updateCnt = 0;

        ds18b20Temp = DS18B20GetTemp_SkipRom();

    }

    UpdateBleData();

    ReadSensorVal();

}

OLED显示:
 

//系统显示

void SystemDisplay(void)

{

    char textBuf[20];

  

//显示采集到的输入电压值

    sprintf(textBuf,"InputVol:%4.1fV", inputVol);

    OledShowString(0, 0, (uint8_t*)textBuf, OLED_FONT_8X16); 

//显示采集到的输出电压值

    sprintf(textBuf,"OutputVol:%4.1fV", outputVol);

    OledShowString(0, 2, (uint8_t*)textBuf, OLED_FONT_8X16);

//显示获取到的电池温度

    sprintf(textBuf,"getTemp:%2d", getTempVal);

    OledShowString(0, 4, (uint8_t*)textBuf, OLED_FONT_8X16); 

//显示设定的电池温度

    sprintf(textBuf,"setTemp:%2d", setTempVal);

    OledShowString(0, 6, (uint8_t*)textBuf, OLED_FONT_8X16); 

}

此设计提供的资料包含原理图PCB(包含PDF,AD,立创EDA三个版本),源代码,系统框图,主程序流程图,物料清单(包含使用到的器件手册),功能操作说明等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1920814.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux杂货铺】1.环境变量

1.环境变量基本概念 环境变量( environment variables )一般是指在操作系统中用来指定操作系统运行环境的一些参数。如:我们在编写 C / C +代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪…

信创会不会烂尾

最近又有不少人开始忽悠信创概念了,感觉这又是部分人发财的噱头,集体资源浪费的开始! 我们软件业几代人和全世界的差距能短时间内追上?人家会本着友谊第一比赛第二的原则,站在原地等你追?然后和你一起相扶到美好的未来&#xff1…

华为HCIP Datacom H12-821 卷37

1.多选题 下面关于Network- Summary-LSA 描述正确的是 A、Network- Summary-LSA中的Metric被设置成从该ABR到达目的网段的开销值 B、Network- Sumary-LSA中的Net mask 被设置成目的网段的网络掩码 C、Network- Summary-LSA 是由ASBR产生的 D、Network- Summary-LSA 中的Li…

年度必看|2024全球工业网络市场份额预测报告

重点摘要 每年,HMS Networks 都会对工业网络市场进行全面分析,旨在估计工厂自动化中按类型和协议划分的新连接节点的分布情况。最新研究表明,工业网络市场继续扩张,预计 2024 年将增长 7%。值得注意的是,工业以太网仍然…

python 实验八 数据分析与展示

一、实验目的 掌握掌握matplotlib库中pyplot模块的使用。 二、实验环境 Window10(x64),Python 3.8(x64),PyCharm Community Edition 2020.3.2(x64) 三、实验内容 现有列表hight…

WAV 和 FLAC 哪个音质好?常见音频格式又如何转换?

音频文件的格式种类繁多,每种格式都有其独特的优势和应用场景。其中,WAV 和 FLAC 作为两种常见的无损音频格式,备受音频发烧友和专业人士的青睐。它们不仅能够保留原始录音的全部细节,还为听众提供了近乎 CD 品质的听觉体验。然而…

文字转语音免费工具有哪些?嘎嘎好使的配音工具推荐

每天刷视频看多了大家随手创作的各种生活小段子,自己不免也心痒痒地想玩上一把,可奈何却搞不懂各种旁白配音怎么弄。 好在经过一番摸索之后,可算是被我整明白免费文字转语音该怎么操作了!接下来就把我搜集到的4款宝藏配音神器整理…

Windows 怎么删除D盘?多种方法详解!

有关Windows电脑的文件整理,文章详细介绍了怎么删除D盘的多种方法,释放不必要的空间。 “我最近在整理电脑文件的时候遇到一个问题,我想请教一下大家。我的Windows电脑上有一个D盘,里面存放了一些不需要的文件,我想彻…

PE73_D_E6_BLE

产品参数 产品型号 PE73_D_E6_BLE 尺寸(mm) 176.2*137.15*80mm 显示技术 电子墨水屏双面显示 显示区域(mm) 163.2(H) * 97.92(V) 分辨率(像素) 800*480 外观颜色 银色 显示颜色 黑/白/红/黄/蓝/绿 视觉角度 180 工作温度 15-35℃ 产品重量 268g 电池容…

ABAQUS广东正版代理商:亿达四方——达索官方授权

在粤港澳大湾区建设的浪潮中,广东作为中国改革开放的前沿阵地,始终走在科技创新的最前线。亿达四方,作为国际领先的仿真软件ABAQUS在广东地区的官方授权代理商,正以先进的技术和服务,推动着广东地区制造业向智能化、高…

自然语言处理:第四十二章 RAG与LLM原先知识冲突时,大模型会如何处理?

文章链接:7B?13B?175B?解读大模型的参数 (qq.com) 写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!! 写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!! 写在前面: 笔者更新…

vue 使用腾讯地图 标点 自定义瓦片 折线配置

vue 使用腾讯地图 标点 自定义瓦片 折线配置 申请腾讯地图秘钥 key 腾讯地图开发者 https://lbs.qq.com/dev/console/application/mine 腾讯地图开发文档 https://lbs.qq.com/webApi/javascriptGL/glGuide/glOverview 添加 key 代码中引入 // 入口文件 index.html // 填…

Ambari Hive 创建函数无权限

作者:櫰木 1、创建udf函数 参考文档:https://blog.csdn.net/helloxiaozhe/article/details/102498567 如果已经编写好,请使用自己的。如果没有请参考以上链接进行udf函数编写。 2、创建函数遇到的问题 由于集群开启了kerberos&#xff0…

UART编程

Q:为什么使用串口前要先在电脑上安装CH340驱动? 三种编程方式简介 也可以通过DMA方式减小CPU资源的消耗 直接把数据在SRAM内存和UART模块进行传输 ,流程: 把数据在DMA中配置好数据传输产生中断,CPU介入 编程方式改进 1、查询…

求职学习笔记day1

自己一直算是一个内耗拖延的人,内耗着考了研,内耗着拖着不找工作,一直拖到了毕业。研究生没考上,工作没有,也羡慕着别人成功的生活,最后毕业的也不太开心。 一、最近总结 游戏 高考结束以来和大学期间作息…

Proteus + Keil单片机仿真教程(六)多位LED数码管的动态显示

上一节我们通过锁存器和八个八位数码管实现了多个数码管的静态显示,这节主要讲解多位数码管的动态显示,所谓的动态显示就是对两个锁存器的控制。考虑一个问题,现在给WS位锁存器增加一个循环,让它从1111 1110到0111 1111会发生什么事情?话不多说,先上代码: #include<…

护(H)网(W)行动正当时:你对HW知多少,一文带你全面了解护网行动

引言&#xff1a;2016年我国发布了《网络安全法》&#xff08;于2017年6月1日正式生效&#xff09;&#xff0c;明确规定了关键信息基础设施的运营者必须制定网络安全事件应急预案&#xff0c;并定期进行演练&#xff0c;为HW行动的开展提供了法律依据&#xff0c;通过红蓝对抗…

加入鲲鹏原生开发训练营,共驭技术创新巨浪

随着生态的不断成熟&#xff0c;鲲鹏逐渐从迁移为主发展到原生开发阶段&#xff0c;与此同时&#xff0c;鲲鹏也面临着让开发者能够在变道后提档加速的新任务&#xff0c;从应用迁移走向原生开发。 开发者是计算技术创新的关键力量。为了让开发者全面了解鲲鹏原生开发理论知识…

html——常用标签

HTML标签 1. 结构说明 标签由<、>、/、英文单词或字母组成 标签<>中包裹起来的英文单词或字母称为标签名 2. 标签种类 常见标签由两部分组成&#xff0c;称之为双标签&#xff0c;前部分称为开始标签&#xff0c;后部分称为为 结束标签&#xff0c;两部分之间包…

全国排名第一的起名大师颜廷利:唯有量力而行,才能。。。

在探索成功与个人成长的旅程中&#xff0c;中国传统哲学提供了一个独特的视角&#xff1a;量力而行&#xff0c;以展现最靓丽的自我。这一理念不仅深植于中国丰富的文化传统之中&#xff0c;而且与现代社会的实用主义不谋而合。 中国最受欢迎的起名大师颜廷利教授&#xff0c;一…