便携式可编程波形发生器,集成 OLED 显示与四按键控制,支持正弦波、方波、三角波输出
这是一款基于 Raspberry Pi Pico (RP2040) 和 AD9833 DDS 芯片的便携式信号发生器。 AD9833 是 Analog Devices 生产的低功耗直接数字合成 (DDS) 芯片,可产生高精度正弦波、三角波和方波信号。
设备配备 0.96 寸 OLED 显示屏和四按键操作界面,用户可以实时查看当前输出模式与频率, 并通过按键快速调节。设置参数自动保存到 EEPROM,断电后不丢失。
采用 Arduino (C++) 开发,通过 SPI 接口与 AD9833 通信,通过软件 I2C 驱动 OLED 显示屏。
| 模块 | 引脚 | 说明 |
|---|---|---|
| AD9833 | DATA=2, CLK=1, FSYNC=0 | SPI 通信接口 |
| OLED 显示屏 | SDA=29, SCL=28 | 软件 I2C (SSD1306 驱动) |
| 按键 UP | GPIO 14 | 增加频率值 |
| 按键 DOWN | GPIO 15 | 减少频率值 |
| 按键 MODE | GPIO 26 | 切换波形模式 (短按) / 恢复默认 (长按2秒) |
| 按键 DIGI | GPIO 27 | 切换编辑位 |
| 电源控制 | GPIO 3, 4 | 控制外部设备电源 |
提示:显示格式为 DDDDDDDD.D (8位整数 + 1位小数),直接使用 4 个按键即可快速设置 0-12500000.0 Hz 范围内的任意频率。参数自动保存到 EEPROM。
本项目使用 Arduino 开发平台编写,代码位于:
Pico_OLED_4key5/Pico_OLED_4key5.ino
依赖库:MD_AD9833、SoftI2C、SSD1306、EEPROM (RP2040 SDK)