基于树莓派Pico的嵌入式数字钢琴设计与实现:从键盘矩阵到PWM音频合成
1. 项目概述用树莓派Pico打造一台数字钢琴前阵子我琢磨着能不能用一块小小的树莓派Pico做点既有趣又有挑战性的东西。作为一个电子爱好者和音乐爱好者我立刻想到了“数字钢琴”这个点子。这听起来可能有点天马行空毕竟Pico只是一块微控制器而钢琴是那么复杂的乐器。但恰恰是这种“不可能”让我来了兴致。我的目标很明确不追求复刻一台88键的三角钢琴而是打造一个能弹奏、能发声、能体验音乐创作乐趣的微型数字乐器。这个项目的核心就是用树莓派Pico作为大脑通过编程来处理按键输入并驱动扬声器或耳机发出不同音高的声音。它解决的不仅仅是“做一个能响的玩具”而是如何在一个资源极其有限的硬件平台上实现音乐制作中最基础的要素——音准、响应和可玩性。这背后涉及到微控制器的GPIO通用输入输出管理、音频信号生成、按键扫描算法甚至是简单的音乐理论应用。无论你是刚接触嵌入式开发的爱好者想找一个综合性的练手项目还是对电子音乐合成原理感兴趣的音乐玩家这个项目都能让你从硬件连接到软件编程再到音乐实践获得一次完整的、充满成就感的体验。2. 核心硬件选型与电路设计思路2.1 为什么是树莓派Pico选择树莓派Pico作为核心绝非偶然。首先它的性价比极高一块基础版Pico的价格非常亲民降低了项目的入门门槛。其次RP2040微控制器芯片虽然主频不高133MHz双核但其PIO可编程输入输出状态机是真正的“杀手锏”。对于音频生成这类需要精确时序的任务PIO可以独立于CPU运行实现极高精度的波形输出这对于保证音准至关重要。最后Pico丰富的GPIO引脚26个多功能引脚为我们连接多个按键和音频输出提供了充足的空间。对比其他常见的微控制器比如Arduino UnoPico在计算能力、内存264KB SRAM和专用外设如PIO上优势明显能更从容地处理多路按键扫描和实时音频合成。而对比功能更强大的树莓派单板计算机Pico又显得更加专注和“底层”没有复杂的操作系统开销能让开发者更直接地控制硬件理解信号产生的每一个细节。2.2 输入部分键盘矩阵的设计与优化一台钢琴的灵魂在于其键盘。我们不可能为每个琴键都单独占用一个GPIO引脚那样资源很快就会耗尽。标准的解决方案是使用键盘矩阵。矩阵设计原理假设我们要做一个包含12个琴键一个八度内的所有半音的迷你键盘。我们可以将其排列成3行4列的矩阵。这样12个按键只需要347个GPIO引脚来控制而不是12个。具体连接时将每个按键跨接在特定的行线和列线上。扫描逻辑程序会周期性地进行扫描。先给某一行输出低电平其他行设为高阻态或高电平然后读取所有列线的状态。如果某个按键被按下电流就会从该列线流向低电平的行线导致该列线也被拉低。通过检测哪一列变成了低电平就能唯一确定被按下的按键是哪一个行号列号。然后快速切换到下一行继续扫描。注意为了防止多个按键同时按下时产生的“鬼影”现象误判出实际未按下的按键需要在硬件或软件上做防冲突设计。一个简单有效的软件方法是在检测到有按键按下后改为逐列输出低电平并读取行线状态进行二次验证。按键选型对于音乐项目按键的手感很重要。常见的微动开关Tactile Switch虽然便宜但触发感生硬没有“行程”。我推荐使用轻触按键或专门的小型键盘开关它们有一定的键程能提供更接近乐器的按压反馈。如果追求更好的体验甚至可以尝试用导电硅胶和PCB自制琴键。2.3 输出部分从数字信号到可听声音让Pico“唱歌”是另一个技术核心。RP2040没有专用的模拟音频输出DAC所以我们需要用数字方法来“模拟”出模拟音频信号。PWM音频原理最直接的方法是使用PWM脉冲宽度调制。Pico的PWM发生器非常强大。我们可以将一个GPIO引脚配置为PWM输出。声音的本质是空气的振动对应电信号就是特定频率的模拟波形如正弦波。PWM通过快速切换引脚的高低电平并通过一个低通滤波器通常是一个简单的RC电路一个电阻串联一个电容到地将数字脉冲平滑成模拟电压。改变PWM脉冲的占空比就改变了平均输出电压从而可以模拟出声音波形的形状。如何产生不同音高音乐中每个音高都有其标准的频率。例如中央CC4的频率是261.63 Hz。我们要产生这个音本质上就是让PWM输出一个261.63 Hz的方波经过滤波后近似正弦波。在RP2040上我们可以通过精确设置PWM的时钟分频器和计数周期值来生成任意所需的频率精度足以满足音乐演奏的需求。输出电路直接驱动将PWM引脚通过一个RC低通滤波器例如一个100-300欧姆的电阻串联一个0.1uF的电容到地后可以直接连接到一个压电蜂鸣器。这种方法最简单但音质较差音量小且单薄。音频放大器驱动为了获得更好的音质和音量必须使用音频放大器。滤波后的PWM信号接入一个微型音频放大器模块如PAM8403、LM386等再由放大器驱动一个4欧姆或8欧姆的动圈式扬声器。这是推荐方案能获得足够响亮且音质相对较好的声音。外接音频接口对于最高音质的追求可以使用I2S接口芯片如MAX98357它是一款集成了DAC和Class D放大器的芯片通过I2S数字音频接口从Pico接收数字音频数据转换成高质量模拟音频输出。这超出了基础项目的范围但却是升级的方向。3. 软件架构与核心代码实现3.1 开发环境与基础工程搭建我选择使用MicroPython进行开发因为它语法简洁交互性强非常适合快速原型开发。对于音乐项目我们可以直接利用其内置的machine.PWM类。当然如果你追求极致的性能和可控性使用 C/C 和 Pico SDK 是最终选择。首先需要将最新的 MicroPython 固件刷写到 Pico 上。然后使用 Thonny、VS Code 搭配 Pico-W-Go 插件等 IDE 进行编程和文件上传。工程的文件结构可以这样组织pico_piano/ ├── main.py # 主程序入口 ├── keyboard.py # 键盘矩阵扫描驱动 ├── sound.py # 音频生成与播放模块 ├── notes.py # 音高频率定义表 └── lib/ # 可能的第三方库3.2 键盘扫描驱动的实现在keyboard.py中我们需要实现一个高效的、防抖的键盘扫描类。import machine import utime class KeyboardMatrix: def __init__(self, rows_pins, cols_pins): # 初始化行线为输出列线为输入上拉 self.rows [machine.Pin(pin, machine.Pin.OUT) for pin in rows_pins] self.cols [machine.Pin(pin, machine.Pin.IN, machine.Pin.PULL_UP) for pin in cols_pins] self.key_state [0] * (len(rows_pins) * len(cols_pins)) # 保存当前状态 self.last_key_state [0] * len(self.key_state) # 保存上一轮状态 self.debounce_time [0] * len(self.key_state) # 防抖计时 self.debounce_delay 20 # 防抖延时单位毫秒 def scan(self): current_time utime.ticks_ms() key_event [] # 返回触发事件的列表格式(键索引, 事件类型) 事件类型1按下0释放 key_index 0 for r_idx, row_pin in enumerate(self.rows): # 将当前行拉低其他行置高或高阻这里简化置高 for r in self.rows: r.value(1) row_pin.value(0) utime.sleep_us(10) # 短暂延时等待信号稳定 # 读取列线 for c_idx, col_pin in enumerate(self.cols): current_state 0 if col_pin.value() 0 else 1 # 按下为0故取反逻辑 # 键索引计算 idx r_idx * len(self.cols) c_idx # 状态变化检测 if current_state ! self.last_key_state[idx]: self.debounce_time[idx] current_time # 防抖判定状态稳定时间超过防抖延时 if (current_time - self.debounce_time[idx]) self.debounce_delay: if self.key_state[idx] ! current_state: self.key_state[idx] current_state key_event.append((idx, current_state)) # 记录事件 self.last_key_state[idx] current_state key_index 1 return key_event这个类实现了带消抖的矩阵扫描并返回一个事件列表告知主程序哪个键被按下或释放了。这是实现钢琴“按下发声、松开止音”功能的基础。3.3 音频合成与播放引擎在sound.py中我们创建音频引擎。这里采用一个简单的方波合成器作为示例。import machine import utime class SimpleSynth: def __init__(self, pwm_pin_num): self.pwm_pin machine.Pin(pwm_pin_num) self.pwm machine.PWM(self.pwm_pin) self.current_freq 0 self.is_playing False def play_tone(self, frequency): 播放指定频率的音调 if frequency 0: self.stop_tone() return if frequency ! self.current_freq: # 设置PWM频率为目标音频频率占空比固定为50%方波 self.pwm.freq(int(frequency)) self.pwm.duty_u16(32768) # 50% 占空比 (65536/2) self.current_freq frequency self.is_playing True def stop_tone(self): 停止播放 self.pwm.duty_u16(0) # 占空比设为0即无输出 self.is_playing False self.current_freq 0在notes.py中我们预定义一个音名到频率的字典方便调用NOTE_FREQS { C4: 261.63, C#4: 277.18, D4: 293.66, D#4: 311.13, E4: 329.63, F4: 349.23, F#4: 369.99, G4: 392.00, G#4: 415.30, A4: 440.00, # 标准音 A#4: 466.16, B4: 493.88, C5: 523.25, # ... 可以继续扩展 }3.4 主程序逻辑与事件循环最后在main.py中我们将所有模块整合起来形成一个响应式的演奏系统。import utime from keyboard import KeyboardMatrix from sound import SimpleSynth from notes import NOTE_FREQS # 硬件引脚定义 (请根据实际焊接调整) ROW_PINS [0, 1, 2] # 3行 COL_PINS [3, 4, 5, 6] # 4列 AUDIO_PIN 15 # 初始化键盘和合成器 keyboard KeyboardMatrix(ROW_PINS, COL_PINS) synth SimpleSynth(AUDIO_PIN) # 将键盘矩阵的索引映射到音名 # 假设我们的3x4矩阵对应一个八度的12个半音从左到右从上到下 KEY_TO_NOTE [ C4, C#4, D4, D#4, E4, F4, F#4, G4, G#4, A4, A#4, B4 ] print(Pico Piano Ready! Press any key...) # 主事件循环 while True: events keyboard.scan() for key_index, event_type in events: if key_index len(KEY_TO_NOTE): note_name KEY_TO_NOTE[key_index] if event_type 1: # 按键按下 freq NOTE_FREQS.get(note_name, 0) synth.play_tone(freq) print(fKey Pressed: {note_name} ({freq:.2f} Hz)) elif event_type 0: # 按键释放 # 简单的处理释放即停止。更高级的实现可以支持延音。 # 这里为了演示我们检查是否所有键都释放了才停止。 # 更好的做法是跟踪每个按键的状态。 synth.stop_tone() print(fKey Released: {note_name}) utime.sleep_ms(5) # 主循环延时降低CPU占用这个主循环不断扫描键盘一旦检测到按键事件就查找对应的音高频率并命令合成器开始或停止发声。4. 系统调试与音质优化实战4.1 硬件焊接与常见故障排查焊接是第一个挑战。对于键盘矩阵建议使用洞洞板或自己设计PCB。确保行线、列线之间没有短路每个按键在按下时能可靠导通。使用万用表的“通断档”逐一测试每个按键是必不可少的步骤。常见问题1按键无反应或反应混乱可能原因GPIO引脚配置错误输入/输出弄反、上拉电阻未启用、行列扫描顺序逻辑有bug、按键接触不良。排查先写一个简单的测试程序让某一行输出低电平时用print语句打印所有列线的读数观察按下对应按键时该列是否从1变为0。逐步缩小问题范围。常见问题2声音失真、噪音大或音量小可能原因PWM频率设置不当、低通滤波器参数R、C值不匹配、电源噪声、放大器增益不足或自激振荡。排查PWM频率音频PWM频率载波频率必须远高于音频频率至少10倍以上通常选择几十到几百kHz否则滤波后会严重失真。在MicroPython中pwm.freq()设置的是输出波形的基频对于方波音调这就是音高频率。但PWM硬件本身还有一个“顶层”时钟确保其足够高通常系统默认即可。滤波器调校RC滤波器的截止频率f_c 1/(2πRC)。应使其略高于你需要的最高音频频率比如2kHz以保留音色同时滤除PWM载波。例如目标截止频率为3kHz取 R1kΩ则 C ≈ 1/(2π10003000) ≈ 53nF选用47nF或56nF的标准电容。可以尝试更换不同容值的电容来听感调整。电源去耦在Pico的电源引脚VSYS、3V3和地之间靠近芯片的位置焊接一个10uF电解电容和一个100nF陶瓷电容能有效抑制电源噪声让声音更干净。放大器检查如果使用放大器模块确保其供电电压通常是5V稳定、充足。检查输入信号线是否远离电源线输出喇叭线是否接触良好。4.2 从方波到更悦耳的音色基础的方波音色尖锐、电子味浓。我们可以通过软件来改善音色这涉及到数字合成技术的基本概念。1. 波形生成除了方波我们可以让Pico在内存中预计算或实时计算其他波形的一个周期数据比如正弦波、三角波、锯齿波然后通过PWM的动态占空比变化来播放这个波形表。这需要更高的计算能力和更精确的定时控制。# 简化的正弦波表示例概念性代码 import math import array SAMPLE_RATE 8000 # 采样率 FREQ 440 # 目标频率 samples_per_cycle int(SAMPLE_RATE / FREQ) sine_wave_table array.array(H, [0] * samples_per_cycle) # ‘H’ 表示无符号短整型 for i in range(samples_per_cycle): # 生成正弦值范围[-1, 1]映射到PWM占空比范围[0, 65535] sine_value math.sin(2 * math.pi * i / samples_per_cycle) duty int((sine_value 1) / 2 * 65535) sine_wave_table[i] duty # 然后需要一个高精度定时器如Timer在每个采样间隔更新PWM的duty_u16值为表中的下一个值。2. 包络控制真实乐器的声音不是“啪”一声出现和消失的。我们可以为每个音符添加一个ADSR包络Attack起音、Decay衰减、Sustain延音、Release释音通过控制音量的变化来模拟。Attack按下键后音量从0快速上升到最大。Decay从最大音量下降到 Sustain 电平。Sustain按住键期间维持的音量电平。Release松开键后音量从 Sustain 电平缓慢下降到0。在代码中这需要为每个活跃的音符维护一个状态机和音量乘数在每次更新PWM占空比前用当前音量乘数去调制波形振幅。4.3 功能扩展与进阶玩法当基础的单音钢琴工作稳定后你可以尝试以下扩展让项目更具挑战性和趣味性1. 实现复音同时按下多个键发声这是从“单音乐器”到“真正乐器”的关键一步。RP2040有两个核心我们可以利用这一点。方案A单核时分复用快速轮流播放多个音符的波形片段。这要求音频更新频率足够高否则会感觉到卡顿。对CPU要求高。方案BPIO驱动这是更优雅的方案。利用RP2040的PIO状态机可以编程让它自动从内存中读取多个音频通道的混合数据并输出PWM。一个PIO状态机可以同时处理多个声音的混合几乎不占用CPU资源。这是专业嵌入式音频项目的常用手段。2. 添加节奏与录音功能利用Pico的Flash存储可以设计一个简单的步进音序器。定义一个小节和拍子让用户预先录制每个拍子按下的键然后像音乐盒一样自动循环播放。这涉及到状态管理、定时序列和数据的存储/读取。3. 连接MIDI将你的Pico钢琴变成一个MIDI控制器。通过UART或USBPico支持USB Device输出标准的MIDI消息如Note On, Note Off。这样你就可以用它来控制电脑上的任何虚拟乐器软件如GarageBand, FL Studio音色和功能将得到质的飞跃。实现MIDI需要你理解MIDI协议规范并编写相应的编码代码。4. 加入效果器在软件音频流水线中可以加入简单的数字效果比如延迟Echo或混响Reverb效果。延迟效果可以通过一个循环音频缓冲区来实现将过去的采样数据以衰减后的音量混合到当前输出中。5. 项目总结与个人心得折腾完这个Pico钢琴项目最大的感触是嵌入式开发与音乐的结合充满了令人兴奋的挑战。它不像单纯点亮一个LED那么简单也不像在电脑上写个音乐播放器那么抽象。你需要同时考虑硬件的电气特性、软件的实时性以及对音乐艺术性的那一点点追求。有几个坑是我印象特别深的。最初我用的是简单的RC滤波直接推扬声器声音又小又难听一度让我想放弃。直到我接上了一个便宜的PAM8403小功放模块整个世界都清亮了——充足的驱动能力是基础。另一个是关于定时器的精度用utime.sleep()来控制音符时长是非常不准的后来换成了machine.Timer硬件定时器节奏才稳定下来。对于想复现或改进这个项目的朋友我的建议是分步进行逐步验证。先确保键盘矩阵的每一个按键都能被正确扫描到用打印信息调试。然后单独测试音频部分写个程序循环播放一个八度的音阶听音准对不对。最后再把两者结合起来。遇到问题多用逻辑分析仪或者至少用示波器看看PWM引脚输出的波形这是硬件调试最直观的方法。这个项目的魅力在于它的可扩展性极强。从最初刺耳的方波单音到后来我用PIO尝试混合两个正弦波做出了一点简单的和声那种成就感是无与伦比的。你完全可以把它当作一个平台去实验不同的合成算法、去添加各种传感器比如用电位器当调音旋钮用光敏电阻控制颤音甚至做成一个迷你合成器。树莓派Pico这片小小的天地足以承载你对音乐和电子的无限想象。

相关新闻

直流电压测量:分压电路设计、软件校准与工程实践全解析

直流电压测量:分压电路设计、软件校准与工程实践全解析

1. 项目概述:分压电路直流电压传感方案在嵌入式系统、电池管理系统或者任何需要监控电源状态的电子项目中,测量直流电压是一个基础但至关重要的环节。你可能遇到过这样的需求:想用一块3.3V或5V的单片机去监测一个12V的电池电压,或…

2026/8/19 3:53:20 阅读更多 →
2026年佛山青少儿编程教育机构选购指南 iCoding爱编程等优质机构梳理

2026年佛山青少儿编程教育机构选购指南 iCoding爱编程等优质机构梳理

佛山青少儿编程市场现状与受众分析近年来佛山素质教育消费持续升级,青少儿编程作为培养逻辑思维、信息素养的重要素质教育品类,市场需求逐年攀升。据公开调研数据显示,佛山3-16岁青少年家庭中,近6成家长有计划为孩子报名编程类课程…

2026/8/19 3:53:20 阅读更多 →
基于IFX007T的直流电机驱动:从芯片解析到全桥控制实践

基于IFX007T的直流电机驱动:从芯片解析到全桥控制实践

1. 项目缘起:从一块“智能”电机驱动板说起最近在整理工作室的物料箱,翻出来一块几年前买的英飞凌IFX007T电机驱动评估板。这块板子买来的时候,兴致勃勃地焊好,跑了个最基础的PWM调速Demo,然后……就没有然后了&#x…

2026/8/19 3:53:20 阅读更多 →

最新新闻

基于555定时器与计数器构建低成本电容测量仪的设计与实践

基于555定时器与计数器构建低成本电容测量仪的设计与实践

1. 项目缘起:为什么用555和计数器测电容?在电子制作和维修中,电容是个让人又爱又恨的元件。爱的是它在滤波、耦合、定时、振荡等电路中无处不在,恨的是它的参数——尤其是容量——不像电阻那样能用万用表直接读出来。贴片电容上那…

2026/8/19 4:33:18 阅读更多 →
嵌入式开发中的轻量级TCP/IP协议栈:设计、配置与实战优化

嵌入式开发中的轻量级TCP/IP协议栈:设计、配置与实战优化

1. 项目概述:为什么我们需要一个轻量级TCP/IP协议栈?在嵌入式开发领域,尤其是资源受限的单片机(MCU)环境中,网络连接的需求正变得无处不在。从智能家居的温控器到工业现场的传感器网关,设备联网…

2026/8/19 4:32:18 阅读更多 →
电容缓冲隔离技术:解决高阻抗信号源驱动容性负载的工程难题

电容缓冲隔离技术:解决高阻抗信号源驱动容性负载的工程难题

1. 项目概述:电容缓冲隔离的工程价值在模拟电路和混合信号系统的设计里,我们常常会遇到一个看似简单却暗藏玄机的问题:如何让一个高输出阻抗的敏感信号源(比如一个高精度的传感器、一个DAC的输出,或者一个滤波器的末级…

2026/8/19 4:32:18 阅读更多 →
AI智能体如何发现统计力学映射?探索物理问题的结构推理

AI智能体如何发现统计力学映射?探索物理问题的结构推理

1. 引言:当AI开始“思考”物理问题最近在物理和计算交叉领域,一个有趣的问题开始浮现:我们能否让AI,特别是那些大型语言模型,去主动“发现”物理问题中隐藏的数学结构?这听起来有点像科幻小说,但…

2026/8/19 4:32:18 阅读更多 →
从蠕动泵到配方引擎:构建高精度自动化鸡尾酒调酒机的全栈技术解析

从蠕动泵到配方引擎:构建高精度自动化鸡尾酒调酒机的全栈技术解析

1. 项目概述:当调酒师遇上工程师“Project Dionysus: The Cocktail Machine”, 这个名字本身就充满了浪漫的工程师色彩。狄俄尼索斯(Dionysus)是古希腊神话中的酒神,象征着狂欢、创造与灵感。而“机器”(Ma…

2026/8/19 4:32:18 阅读更多 →
GadgetSci MCA:模块化核心架构如何重塑硬件开发与物联网原型设计

GadgetSci MCA:模块化核心架构如何重塑硬件开发与物联网原型设计

1. 项目概述:GadgetSci MCA是什么?如果你是一个对硬件开发、嵌入式系统或者物联网设备感兴趣的技术爱好者,那么“GadgetSci MCA”这个名字很可能已经出现在你的雷达上了。简单来说,GadgetSci MCA是一个面向创客、硬件工程师和产品…

2026/8/19 4:32:18 阅读更多 →

日新闻

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/19 0:00:30 阅读更多 →
AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

1. 项目概述:当AI开始“猜”数学定理 最近在AI研究圈里,一个名为“Moonshine”的项目引起了不小的讨论。这名字本身就挺有意思,直译是“月光”,但在数学史上,它特指一个神秘而美丽的联系——魔群月光猜想,连…

2026/8/19 0:00:30 阅读更多 →
WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 一台刚配的新电脑,跑《魔兽争霸3》却卡成 PPT——这…

2026/8/19 0:02:31 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/18 9:15:35 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 9:06:28 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/18 9:04:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →