
#第七届立创电赛#N32G430闹钟
简介
(1)、天气时钟: 在LCD上显示当前的日期、时间、天气情况以及三日的天气预报。 (2)、闹钟:设置好闹钟时间后,当到达闹钟时间是,蜂鸣器响起,持续一分钟。 (3)、小风扇:按下按键4后,电机转动。
简介:(1)、天气时钟: 在LCD上显示当前的日期、时间、天气情况以及三日的天气预报。 (2)、闹钟:设置好闹钟时间后,当到达闹钟时间是,蜂鸣器响起,持续一分钟。 (3)、小风扇:按下按键4后,电机转动。开源协议
:GPL 3.0
描述
* 1、项目功能介绍
(1)、天气时钟:在LCD上显示当前的日期、时间、天气情况以及三日的天气预报。
(2)、闹钟:设置好闹钟时间后,当到达闹钟时间是,蜂鸣器响起,持续一分钟。
(3)、小风扇:按下按键4后,电机转动。
*2、项目属性
ESP8266天气时钟部分代码参考:oled天气时钟 - 嘉立创EDA开源硬件平台 (oshwhub.com)
其余部分自己写的,项目未参加过比赛及答辩。
* 3、开源协议
GPL3.0
*4、硬件部分
(1)、主控MCU:N32G430C8L6,ESP8266
(2)、程序下载调试:PCB上的H3排针,从左往右依次是SWCLK,SWDIO,GND,VCC,RX,TX;PCB上SW1为复位,SW2为boot选择
(3)、N32G430C8L6与ESP8266采用串口通信,可以将ESP8266直接接在H3排针上(ESP8266用的是淘宝买的模块)<需要注意ESP8266下载程序用的也是串口,所以要先将8266的程序下载进ESP8266后才可以与N32相连>
(4)、供电可用TYPE-C口的数据线,经过AMS1117转为3.3V后供给主控MCU
(5)、板子上有四个按键,接的是PB6,7,8,9,使用时需要用跳线帽(或杜邦线)短接H9\10\11\12,才可正常使用;两个LED灯接的是PD12,13
(6)、H4,6为LCD屏幕接口,用哪个焊那个就行<注意一下,买排母的时候要买对,排母不能像排针那样两个两个拼起来用,不要学我,我就是只买了两脚的排母,发现焊不上去,所以才用的排针>
(7)、只焊接MCU、晶振电路和电源电路就可以作为一个最小系统板使用
*5、软件部分
(1)、usart_proc():使用串口接收中断,当接收到'\n'时表示一次接收结束将UsartFlag置1,后根据接收到的内容进行相应的数据处理
(2)、key_proc():按键扫描函数,当按键1按下后进入闹钟设置,此时按下按键2 小时数增加,按下按键3 分钟数增加,再次按下按键1 退出闹钟设置,并且将闹钟数据存入EEPROM中;按下按键4切换电机运行状态
(3)、LCD_proc():LCD屏显示函数
(4)、GPIO.c GPIO.h:GPIO引脚的定义及初始化文件
(5)、LCD部分:LCD使用的是3.5寸TFT-LCD(ILI9488 软件仿真SPI驱动),使用时需要将LCD.c\LCD.h\GUI.c\GUI.h\font.h加入到工程中(为了防止重复包含报错,不要在main.c里面#include "font.h"),该LCD屏用的是RGB-24位色,在使用图片取模时须注意,图片用24位取模调用函数void Paint_Bmp(int x0,int y0,const unsigned char bmp[]);
采用单色取模时调用void Paint_Bmp1(int x0,int y0,const unsigned char bmp[],u32 color,u32 bc);调用函数void Lcd_Draw_Num32(uint16_t x, uint16_t y, uint32_t fc, uint32_t bc, uint16_t num ,uint8_t len);可以显示数码管字体,使用void Show_Str(u16 x, u16 y, u32 fc, u32 bc, u8 *str,u8 size,u8 mode);可以显示中文和英文字符(需要是字库里面有的);汉字取模采用横向取模C51格式;在LCD.h中更改#define USE_HORIZONTAL(108行)可以改变LCD显示的方向
6、BOM清单
注:项目涉及的BOM清单。这个位置请上传BOM的截图。清单详情请以PDF的格式上传到附件中。建议包括型号、品牌、名称、封装、采购渠道、用途等内容。具体内容和形式应以表达清楚项目构成为准。
7、大赛LOGO验证
8、演示视频
设计图

BOM


评论