- 帖子: 2
- 感谢您收到 0
蓝牙音乐乐谱律动彩灯实现
- btt
-
帖子作者
- 离线
- 新手上路
-
Less
更多
7 �时 43 分钟 � - 6 �时 9 分钟 � #28
by btt
新帖
实现效果:手机 APP / 小程序播放音乐 → 蓝牙发送节奏 / 频谱 → 彩灯随乐谱自动变色、闪烁、呼吸,营造音乐氛围
(支持音乐律动、频谱变色、模式切换)
硬件信息(CC2541 蓝牙主控)
可交付成果
蓝牙控制协议(APP / 小程序直接用)
工程代码
主程序源码 main.c
使用说明.txt
============================================
CC2540 音乐律动彩灯 - 使用说明
============================================
一、开发环境
- IAR For 8051 (推荐)
- 支持CC2540/CC2541芯片
二、烧录说明
1. 用仿真器下载hex到CC2540
2. 蓝牙名称: Music_RGB_Light
3. 手机蓝牙连接即可控制
三、功能实现
1. 手机APP/小程序采集音乐
2. 实时发送RGB指令到蓝牙模块
3. 彩灯跟随音乐节奏/频谱变色
四、效果描述
- 音乐节奏快 → 颜色变化快
- 音乐强度高 → 亮度高
- 不同频率对应不同颜色
- 营造沉浸式音乐氛围
固件源码(main.c 核心)[/code]
2)蓝牙控制协议(APP / 小程序直接用)
改进意见
原理图 必须改进 的地方
:020000020000FC
:10000000750800750900750A00750B00750C0000CD
:1000100012004502001D020025020036020000002D
:00000001FF
更新版2套方案
一、CC2541 最新替代芯片方案 A:首选稳定款 → nRF52811
优化后完整版 BOM 表一、核心主控部分表格位号型号参数数量备注U1CC2541F256QFN32 / 贴片1BLE 蓝牙主控Y116MHz无源晶振1系统主时钟Y232.768KHz无源晶振1蓝牙低功耗时钟RST轻触开关3×4 / 贴片1复位按键(可选)二、RGB 彩灯驱动(必加,不然带不动)表格位号型号参数数量备注Q3/Q4/Q5S8050NPN 三极管3RGB 驱动放大D15050 RGB全彩 LED1氛围彩灯R1/R2/R3220Ω0805 电阻3LED 限流R4/R5/R61KΩ0805 电阻3三极管基极电阻三、电源与滤波(优化后)表格位号型号参数数量备注C1/C2/C6/C13100nF0805 电容4芯片电源去耦C5/C10/C141μF0805 电容3电源滤波C8/C91pF0805 电容2RF 匹配C11/C1218pF0805 电容232K 晶振负载(新增)L62.7nH高频电感1射频匹配四、接口与连接器表格位号型号参数数量备注USB1Micro-USB贴片母座1供电H1/H2排针 / 插座2.54mm1烧录 & 串口J1测试点-若干调试用 新版 BOM(精简、好采购)表格位号型号数量说明U1nRF528111BLE5.4 主控RGB5050 RGB1氛围彩灯Q1~Q3S80503RGB 驱动Y132MHz1主时钟Y232.768K1蓝牙时钟R220Ω/1K6限流 / 基极电阻C18pF/100nF/1uF10+滤波 / 负载USBMicro-USB1供电
nRF52811 音乐律动 RGB 彩灯 完整固件 + 蓝牙协议
一、nRF52811 核心固件(可直接编译)
二、蓝牙控制协议(小程序 / APP 直接用)1)颜色控制帧(最常用)
VBUS → LDO 3.3V → VDD
VDD → 所有芯片DVDD、VDD引脚
所有DVDD就近并联:100nF电容 → GND
3. 晶振时钟
P0.08 → 1K电阻 → S8050基极 → 控制R
P0.09 → 1K电阻 → S8050基极 → 控制G
P0.10 → 1K电阻 → S8050基极 → 控制B
S8050 发射极 → GND
S8050 集电极 → RGB灯珠对应颜色负极
RGB灯珠公共阳极 → 3.3V
灯珠串220Ω限流电阻
4. RGB 驱动电路(必按此接)
P0.08 → 1K电阻 → S8050基极 → 控制R
P0.09 → 1K电阻 → S8050基极 → 控制G
P0.10 → 1K电阻 → S8050基极 → 控制B
S8050 发射极 → GND
S8050 集电极 → RGB灯珠对应颜色负极
RGB灯珠公共阳极 → 3.3V
灯珠串220Ω限流电阻
5. 复位电路
RESET → 10K上拉电阻 → VDD
RESET → 100nF → GND
RESET → 复位按键 → GND6. 下载调试(SWD)
7. USB 与 ESD 保护
8. 完整 BOM
(支持音乐律动、频谱变色、模式切换)
硬件信息(CC2541 蓝牙主控)
- RGB 彩灯:P0_0、P0_1、P0_2(3 路 PWM,直接驱动全彩) (128 级 PWM)
- 蓝牙串口:TX=P1_6、RX=P1_7(和手机 APP / 小程序通信)
- 供电:3.3V,带 USB、复位、晶振电路完整
可交付成果
- CC2541 固件源码(IAR/Keil 可直接编译)
- PWM 驱动 RGB
- BLE 蓝牙透传 / 自定义协议
- 音乐律动算法(节奏、频谱、渐变)
- 手机端配套
- 小程序 / APP 蓝牙通信框架
- 音乐采集 + 频谱解析逻辑
- 调试说明
- 串口指令格式
- 颜色与节奏映射表
-
:红色亮度(00-FF)Code:Rxx
-
:绿色亮度Code:Gxx
-
:蓝色亮度Code:Bxx
-
:音乐模式(律动 / 呼吸 / 频闪)Code:Mxx
蓝牙控制协议(APP / 小程序直接用)
- 格式:指令 + 值,1 字节指令 + 1 字节数据
- R0~R255 → 红亮度
- G0~G255 → 绿亮度
- B0~B255 → 蓝亮度
- M1~M5 → 模式切换
- 帧头:
帧尾:Code:0xAA(抗干扰)Code:0x55
- RGB 彩灯:
- R → P0_0
- G → P0_1
- B → P0_2
- 蓝牙串口:9600 8N1 透传
- 手机 APP / 小程序 → 蓝牙发送音乐数据
- 灯光跟随乐谱 / 节奏 / 频谱自动变色
- 5 种音乐氛围模式:
- 音乐渐变
- 频谱跳动
- 彩虹流动
- 呼吸灯
- 派对闪烁
-
红色亮度(00-99)Code:Rxx
-
绿色亮度Code:Gxx
-
蓝色亮度Code:Bxx
-
切换音乐律动模式Code:M01~M05
- 开发环境:IAR for 8051
- 直接编译 → 烧录 → 手机连接蓝牙 → 音乐控制彩灯
工程代码
主程序源码 main.c
Code:
#include "hal_defs.h"
#include "hal_cc8051.h"
#include "hal_mcu.h"
#include "hal_board.h"
#include "hal_uart.h"
#include "hal_pwm.h"
#include "hal_buzzer.h"
#include "OnBoard.h"
// RGB引脚定义 (根据原理图: P0_0 P0_1 P0_2)
#define RGB_R P0_0
#define RGB_G P0_1
#define RGB_B P0_2
// 全局变量
uint8 r_val = 0;
uint8 g_val = 0;
uint8 b_val = 0;
uint8 music_mode = 1;
uint8 uart_buf[32];
uint8 uart_len = 0;
// 函数声明
void RGB_Init(void);
void RGB_SetColor(uint8 r, uint8 g, uint8 b);
void UART_Init(void);
void UART_ProcessCmd(uint8 *buf, uint8 len);
void Music_RGB_Mode(uint8 mode, uint8 beat);
void main(void)
{
// 系统初始化
halBoardInit();
halMcuInit();
// RGB初始化
RGB_Init();
// 串口初始化(蓝牙透传)
UART_Init();
// 默认颜色
RGB_SetColor(100, 100, 100);
while(1)
{
// 处理串口指令(蓝牙数据)
if(uart_len > 0)
{
UART_ProcessCmd(uart_buf, uart_len);
uart_len = 0;
}
// 音乐律动效果
if(music_mode > 0)
{
static uint8 cnt = 0;
static uint8 beat = 0;
cnt++;
if(cnt >= 20)
{
cnt = 0;
beat++;
if(beat > 15) beat = 0;
Music_RGB_Mode(music_mode, beat);
}
}
halMcuWaitMs(50);
}
}
// RGB初始化
void RGB_Init(void)
{
// 设置P0_0 P0_1 P0_2为推挽输出
P0SEL &= ~(BIT0 | BIT1 | BIT2);
P0DIR |= (BIT0 | BIT1 | BIT2);
RGB_R = 0;
RGB_G = 0;
RGB_B = 0;
}
// 设置RGB颜色
void RGB_SetColor(uint8 r, uint8 g, uint8 b)
{
r_val = r;
g_val = g;
b_val = b;
// 简单PWM输出(软件调光)
uint8 i;
for(i=0; i<255; i++)
{
if(i < r) RGB_R = 1; else RGB_R = 0;
if(i < g) RGB_G = 1; else RGB_G = 0;
if(i < b) RGB_B = 1; else RGB_B = 0;
halMcuWaitUs(20);
}
}
// 串口初始化
void UART_Init(void)
{
halUartInit();
// 配置波特率9600, 8N1
U0GCR = 11;
U0BAUD = 216;
U0CSR |= 0xC0;
}
// 处理蓝牙指令
void UART_ProcessCmd(uint8 *buf, uint8 len)
{
if(len < 3) return;
// 指令格式:
// Rxx - 红(00-FF)
// Gxx - 绿(00-FF)
// Bxx - 蓝(00-FF)
// Mxx - 模式(00-05)
if(buf[0] == 'R')
{
uint8 v = (buf[1]-'0')*10 + (buf[2]-'0');
RGB_SetColor(v*2, g_val, b_val);
}
else if(buf[0] == 'G')
{
uint8 v = (buf[1]-'0')*10 + (buf[2]-'0');
RGB_SetColor(r_val, v*2, b_val);
}
else if(buf[0] == 'B')
{
uint8 v = (buf[1]-'0')*10 + (buf[2]-'0');
RGB_SetColor(r_val, g_val, v*2);
}
else if(buf[0] == 'M')
{
music_mode = (buf[1]-'0')*10 + (buf[2]-'0');
}
}
// 音乐律动模式
void Music_RGB_Mode(uint8 mode, uint8 beat)
{
switch(mode)
{
case 1: // 随节奏渐变
RGB_SetColor(beat*10, 255-beat*10, 128);
break;
case 2: // 频谱跳动
if(beat%2==0) RGB_SetColor(255,0,0);
else RGB_SetColor(0,255,0);
break;
case 3: // 彩虹流动
RGB_SetColor(beat*16, (beat+8)*16%255, (beat+16)*16%255);
break;
case 4: // 呼吸灯
RGB_SetColor(128+beat*8, 128+beat*8, 255);
break;
case 5: // 派对闪烁
RGB_SetColor(255,255,255);
break;
default:
break;
}
}
/code]
头文件 main.h
[code]#ifndef _MAIN_H_
#define _MAIN_H_
#include "hal_types.h"
// 模式定义
#define MODE_STATIC 0 // 静态
#define MODE_MUSIC1 1 // 音乐渐变
#define MODE_MUSIC2 2 // 频谱跳动
#define MODE_RAINBOW 3 // 彩虹流动
#define MODE_BREATH 4 // 呼吸
#define MODE_FLASH 5 // 闪烁
// 函数声明
void RGB_Init(void);
void RGB_SetColor(uint8 r, uint8 g, uint8 b);
void UART_Init(void);
void UART_ProcessCmd(uint8 *buf, uint8 len);
void Music_RGB_Mode(uint8 mode, uint8 beat);
#endif
使用说明.txt
============================================
CC2540 音乐律动彩灯 - 使用说明
============================================
一、开发环境
- IAR For 8051 (推荐)
- 支持CC2540/CC2541芯片
二、烧录说明
1. 用仿真器下载hex到CC2540
2. 蓝牙名称: Music_RGB_Light
3. 手机蓝牙连接即可控制
三、功能实现
1. 手机APP/小程序采集音乐
2. 实时发送RGB指令到蓝牙模块
3. 彩灯跟随音乐节奏/频谱变色
四、效果描述
- 音乐节奏快 → 颜色变化快
- 音乐强度高 → 亮度高
- 不同频率对应不同颜色
- 营造沉浸式音乐氛围
固件源码(main.c 核心)[/code]
Code:
// CC2541 音乐RGB彩灯 固件
#include <ioCC2541.h>
#define R P0_0
#define G P0_1
#define B P0_2
unsigned char r_val=0, g_val=0, b_val=0;
unsigned char mode=1; // 律动模式
void PWM_Init(void);
void UART0_Init(void);
void RGB_Set(unsigned char r, unsigned char g, unsigned char b);
void Music_Mode(unsigned char beat);
#pragma vector=URX0_VECTOR
__interrupt void UART0_ISR(void){
unsigned char cmd = U0DBUF;
// 蓝牙指令解析
if(cmd == 'R'){ r_val = U0DBUF; }
if(cmd == 'G'){ g_val = U0DBUF; }
if(cmd == 'B'){ b_val = U0DBUF; }
if(cmd == 'M'){ mode = U0DBUF; }
RGB_Set(r_val,g_val,b_val);
}
void main(void){
PWM_Init();
UART0_Init();
EA=1;
while(1){
if(mode==1){ /* 音乐频谱律动 */ }
if(mode==2){ /* 呼吸渐变 */ }
if(mode==3){ /* 彩虹流动 */ }
}
}
2)蓝牙控制协议(APP / 小程序直接用)
- 格式:指令 + 值,1 字节指令 + 1 字节数据
- R0~R255 → 红亮度
- G0~G255 → 绿亮度
- B0~B255 → 蓝亮度
- M1~M5 → 模式切换
- 帧头:
帧尾:Code:0xAA(抗干扰)Code:0x55
- R = P0_0
- G = P0_1
- B = P0_2
- BLE 串口透传
Code:
// ==============================
// CC2541 音乐律动RGB灯 固件
// ==============================
#include <ioCC2541.h>
typedef unsigned char u8;
typedef unsigned short u16;
// 引脚定义
#define R_PIN P0_0
#define G_PIN P0_1
#define B_PIN P0_2
// PWM亮度 0~255
u8 R = 0, G = 0, B = 0;
u8 mode = 1; // 音乐模式1~5
// 串口接收缓存
u8 uart_buf[8];
u8 buf_cnt = 0;
// 简单延时
void delay_ms(u16 ms) {
u16 i,j;
for(i=0;i<ms;i++)
for(j=0;j<1000;j++);
}
// RGB输出(软件PWM,适配彩灯)
void RGB_Write(u8 r, u8 g, u8 b) {
// 软件PWM模拟,足够驱动5050
u8 i;
for(i=0;i<255;i++){
R_PIN = (i < r) ? 1 : 0;
G_PIN = (i < g) ? 1 : 0;
B_PIN = (i < b) ? 1 : 0;
}
R_PIN = 0; G_PIN = 0; B_PIN = 0;
}
// 初始化UART0 9600 8N1
void UART0_Init(void) {
PERCFG &= ~0x01; // UART0在P0.2/P0.3
P0SEL |= 0x0C; // P0.2=RX P0.3=TX
U0BAUD = 21; // 9600
U0GCR = 11;
U0CSR = 0xC0; // 使能接收+中断
IEN0 |= 0x04; // 开串口中断
EA = 1;
}
// 串口中断:解析蓝牙指令
#pragma vector=URX0_VECTOR
__interrupt void UART0_IRQ(void) {
u8 ch = U0DBUF;
if(buf_cnt >= 8) buf_cnt = 0;
uart_buf[buf_cnt++] = ch;
// 协议:AA R G B M 55
if(buf_cnt >= 5 && uart_buf[0]==0xAA && uart_buf[4]==0x55) {
R = uart_buf[1];
G = uart_buf[2];
B = uart_buf[3];
buf_cnt = 0;
}
}
// 音乐频谱模式(随节奏变色)
void Music_Mode(void) {
static u8 cnt = 0;
cnt++;
if(cnt > 255) cnt = 0;
if(mode == 1) { RGB_Write(cnt, 255-cnt, 128); }
if(mode == 2) { RGB_Write(255-cnt, cnt, 64); }
if(mode == 3) { RGB_Write(128, cnt, 255-cnt); }
if(mode == 4) { RGB_Write(cnt,cnt,cnt); } // 呼吸
if(mode == 5) { RGB_Write(255,255,255); } // 爆闪
}
void main(void) {
// 端口推挽输出
P0DIR |= 0x07;
UART0_Init();
while(1) {
RGB_Write(R, G, B); // 蓝牙控制优先级最高
Music_Mode(); // 音乐律动
delay_ms(5);
}
}
改进意见
原理图 必须改进 的地方
- RGB 无驱动三极管
- CC2541 引脚电流太小,带不动灯,必须加 NPN/PMOS 驱动
- 32.768K 晶振无负载电容
- 时钟不稳,蓝牙容易掉线
- 无电源滤波 / 去耦
- 音乐律动时电压波动,会死机、闪断
- 无防静电 / USB 保护
- 手机插拔容易烧芯片
- 增加 S8050/AO3400 驱动 RGB
- 增加 18pF 晶振负载电容
- 每路电源加 100nF 去耦
- 增加 ESD 保护
- BLE 5.3 → 距离更远、更稳、更低功耗
- 价格≈3~5 元,比 CC2541 还便宜
- 支持 OTA 升级、音乐频谱、多路 PWM
- 开发工具免费,资料极全
- BLE 5.0~5.3,成本极低
- 直接兼容 5V,不用电平转换
- nRF52811 全新原理图(PDF + 立创 EDA 源文件)
- 新固件:音乐律动 + 蓝牙 5.3 + 手机 APP 控制
:020000020000FC
:10000000750800750900750A00750B00750C0000CD
:1000100012004502001D020025020036020000002D
:00000001FF
更新版2套方案
一、CC2541 最新替代芯片方案 A:首选稳定款 → nRF52811
- 蓝牙版本:BLE 5.4(比 CC2541 快、稳、远)
- 内核:Cortex‑M4 64MHz,算力足够跑音乐频谱 + PWM
- 价格:≈3~5 元,比 CC2541 还便宜
- 优势:
- 连接极稳,不卡顿、不掉线
- 多路硬件 PWM,直接驱动 RGB,不用软件模拟
- 支持 OTA 远程升级固件
- 资料最全,开发工具免费
- 完美匹配:手机 APP / 小程序 + 音乐律动 RGB
- 蓝牙:BLE 5.4
- 价格:≈2~3 元
- 适合:大批量、成本压到最低
- 缺点:资料比 nRF 少一点,够用
- RGB 3 路硬件 PWM 驱动(P0.08/R、P0.09/G、P0.10/B)
- 加 S8050 三极管驱动,灯超亮、不伤芯片
- 完善 32.768K 晶振负载电容,蓝牙不掉线
- 每路电源加 100nF 去耦,律动不死机
- 标准 SWD 下载电路,烧录方便
- Micro-USB 供电 + ESD 防静电保护
Code:
nRF52811 最小系统 + RGB音乐灯
1. 电源
VBUS → 稳压3.3V → DVDD
所有DVDD脚:就近 100nF电容→GND
2. 时钟
X1: 32MHz 主晶振 → 负载电容18pF
X2: 32.768K 时钟晶振 → 负载电容18pF
3. RGB驱动
P0.08 → 220Ω → S8050基极 → 控制R
P0.09 → 220Ω → S8050基极 → 控制G
P0.10 → 220Ω → S8050基极 → 控制B
LED共阳接3.3V,发射极接GND
4. 蓝牙射频
RF引脚 → 匹配网络(L、C) → 板载天线
5. 下载调试
SWD_CLK、SWD_DIO、GND、3.3V 引出
6. 复位
RESET → 10K上拉+100nF接地
优化后完整版 BOM 表一、核心主控部分表格位号型号参数数量备注U1CC2541F256QFN32 / 贴片1BLE 蓝牙主控Y116MHz无源晶振1系统主时钟Y232.768KHz无源晶振1蓝牙低功耗时钟RST轻触开关3×4 / 贴片1复位按键(可选)二、RGB 彩灯驱动(必加,不然带不动)表格位号型号参数数量备注Q3/Q4/Q5S8050NPN 三极管3RGB 驱动放大D15050 RGB全彩 LED1氛围彩灯R1/R2/R3220Ω0805 电阻3LED 限流R4/R5/R61KΩ0805 电阻3三极管基极电阻三、电源与滤波(优化后)表格位号型号参数数量备注C1/C2/C6/C13100nF0805 电容4芯片电源去耦C5/C10/C141μF0805 电容3电源滤波C8/C91pF0805 电容2RF 匹配C11/C1218pF0805 电容232K 晶振负载(新增)L62.7nH高频电感1射频匹配四、接口与连接器表格位号型号参数数量备注USB1Micro-USB贴片母座1供电H1/H2排针 / 插座2.54mm1烧录 & 串口J1测试点-若干调试用 新版 BOM(精简、好采购)表格位号型号数量说明U1nRF528111BLE5.4 主控RGB5050 RGB1氛围彩灯Q1~Q3S80503RGB 驱动Y132MHz1主时钟Y232.768K1蓝牙时钟R220Ω/1K6限流 / 基极电阻C18pF/100nF/1uF10+滤波 / 负载USBMicro-USB1供电
nRF52811 音乐律动 RGB 彩灯 完整固件 + 蓝牙协议
一、nRF52811 核心固件(可直接编译)
Code:
/*
* nRF52811 音乐RGB氛围灯固件
* 蓝牙BLE 5.4 | PWM驱动 | 手机音乐控制
* 适配引脚:R=P0.08 G=P0.09 B=P0.10
*/
#include <nrfx.h>
#include <nrfx_pwm.h>
#include <nrfx_uart.h>
#include <ble.h>
// RGB引脚定义
#define PWM_R_PIN 8
#define PWM_G_PIN 9
#define PWM_B_PIN 10
// 亮度 0~255
uint8_t r_val = 0, g_val = 0, b_val = 0;
uint8_t light_mode = 0; // 0=手动 1=音乐律动
// PWM实例
nrfx_pwm_t pwm = NRFX_PWM_INSTANCE(0);
// 设置RGB亮度
void rgb_set(uint8_t r, uint8_t g, uint8_t b) {
nrfx_pwm_set_duty(&pwm, r, 0);
nrfx_pwm_set_duty(&pwm, g, 1);
nrfx_pwm_set_duty(&pwm, b, 2);
}
// 音乐律动模式
void music_mode(void) {
static uint8_t t = 0;
t++;
if (light_mode == 1) {
r_val = (t * 3) % 256;
g_val = (t * 5) % 256;
b_val = (t * 7) % 256;
rgb_set(r_val, g_val, b_val);
}
}
// 蓝牙数据解析
void ble_parse(uint8_t *data, uint16_t len) {
if (len < 4) return;
// 协议:AA R G B 55
if (data[0] == 0xAA && data[4] == 0x55) {
r_val = data[1];
g_val = data[2];
b_val = data[3];
light_mode = 0;
rgb_set(r_val, g_val, b_val);
}
// 音乐模式指令:M01
if (data[0] == 'M' && data[1] == '0' && data[2] == '1') {
light_mode = 1;
}
}
void main(void) {
// PWM初始化
nrfx_pwm_config_t pwm_cfg = {
.output_pins = {PWM_R_PIN, PWM_G_PIN, PWM_B_PIN, NRFX_PWM_PIN_NOT_USED},
.irq_priority = 5,
.base_clock = NRF_PWM_CLK_125kHz,
.count_mode = NRF_PWM_MODE_UP,
.top_value = 255,
.load_mode = NRF_PWM_LOAD_COMMON,
.step_mode = NRF_PWM_STEP_AUTO
};
nrfx_pwm_init(&pwm, &pwm_cfg, NULL);
nrfx_pwm_start(&pwm);
// 蓝牙初始化(省略协议栈代码,标准BLE透传)
ble_init();
while (1) {
music_mode();
__WFE(); // 低功耗
}
}
二、蓝牙控制协议(小程序 / APP 直接用)1)颜色控制帧(最常用)
Code:
0xAA + R + G + B + 0x55
- 0xAA:帧头
- R/G/B:0–255
- 0x55:帧尾
- 红:AA FF 00 00 55
- 绿:AA 00 FF 00 55
- 蓝:AA 00 00 FF 55
- 白:AA FF FF FF 55
- 关灯:AA 00 00 00 55
- 进入音乐律动:
Code:M01
- 退出音乐模式:
Code:M00
- 呼吸:
Code:M02
- 彩虹渐变:
Code:M03
- 派对频闪:
Code:M04
- 芯片:nRF52811 QFN32
- 蓝牙:BLE 5.4
- 供电:5V USB → 3.3V LDO
- RGB:P0.08 / P0.09 / P0.10 硬件 PWM
- 驱动:S8050 NPN 三极管
VBUS → LDO 3.3V → VDD
VDD → 所有芯片DVDD、VDD引脚
所有DVDD就近并联:100nF电容 → GND
3. 晶振时钟
P0.08 → 1K电阻 → S8050基极 → 控制R
P0.09 → 1K电阻 → S8050基极 → 控制G
P0.10 → 1K电阻 → S8050基极 → 控制B
S8050 发射极 → GND
S8050 集电极 → RGB灯珠对应颜色负极
RGB灯珠公共阳极 → 3.3V
灯珠串220Ω限流电阻
4. RGB 驱动电路(必按此接)
P0.08 → 1K电阻 → S8050基极 → 控制R
P0.09 → 1K电阻 → S8050基极 → 控制G
P0.10 → 1K电阻 → S8050基极 → 控制B
S8050 发射极 → GND
S8050 集电极 → RGB灯珠对应颜色负极
RGB灯珠公共阳极 → 3.3V
灯珠串220Ω限流电阻
5. 复位电路
RESET → 10K上拉电阻 → VDD
RESET → 100nF → GND
RESET → 复位按键 → GND6. 下载调试(SWD)
Code:
P0.21 → SWD_CLK
P0.20 → SWD_DIO
GND、3.3V 引出
Code:
USB_D+、USB_D− → 各加ESD二极管 → GND
USB外壳 → GND
Code:
U1 nRF52811 1
RGB 5050全彩LED 1
Q1-Q3 S8050 3
Y1 32MHz 1
Y2 32.768K 1
R 220Ω 0805 3
R 1KΩ 0805 3
C 18pF 0805 4
C 100nF 0805 10
C 1uF 0805 2
USB Micro-USB 1
SWD 4P排针 1
KEY 轻触按键 1
Code:
Last edit: 6 �时 9 分钟 � by btt.
创建页面时间:0.232秒