一、项目概述
本项目旨在使用STM32单片机打造一款功能强大的蓝牙客制化键盘,它拥有以下特点:
- 九键布局,小巧便携: 满足日常使用需求,方便携带。
- 全键可编程: 所有按键和旋钮均可通过电脑软件自定义快捷键,实现个性化功能。
- 蓝牙无线连接: 摆脱线缆束缚,提供更自由的使用体验。
二、硬件设计
2.1 硬件平台
- 主控芯片: STM32F103C8T6
- 蓝牙模块: HC-05
- 按键: 机械轴*9
- 旋钮编码器: EC11
- 其他: 电焊、杜邦线、PCB板等
2.2 电路原理图
2.3 PCB设计
- 使用KiCad等EDA软件进行PCB设计,确保电路稳定可靠。
- 采用合理的布局,优化空间利用率,打造紧凑的外观。
三、软件设计
3.1 开发环境
- IDE: Keil MDK
- 编译器: ARMCC
- 调试器: ST-Link
3.2 软件架构
3.3 代码实现
3.3.1 蓝牙初始化
void Bluetooth_Init(void)
{
// 设置蓝牙模块波特率为9600
USART1_Init(9600);
// 发送AT指令进入AT模式
USART1_SendString("AT\r\n");
// 设置蓝牙模块名称
USART1_SendString("AT+NAME=CustomKeyboard\r\n");
// 设置蓝牙模块配对密码
USART1_SendString("AT+PIN=1234\r\n");
// 设置蓝牙模块为从模式
USART1_SendString("AT+ROLE=0\r\n");
// 开启蓝牙模块
USART1_SendString("AT+CMODE=1\r\n");
}
代码解释:
- 这部分代码首先初始化了STM32的USART1,用于与HC-05蓝牙模块通信。
- 随后,代码发送一系列AT指令配置蓝牙模