赞
踩
感觉 Si5351 只有方波还是少点意思。
看到有人做 AD9833 ,成品卖355元。https://www.bilibili.com/video/av463721457/
上面视频里卖家做了一个豪华底板,有屏幕编码器按键等,能够有不少附加值(增加售价)。
不过真的需要搞这么复杂?
看看视频觉得有 DIY 价值,做成了不就节约355元了吗。
想起个笑话: “今天下班一回家,没有挤上公交车,实在等不住了,就跑回了家,我赶紧给老婆报喜,我说:“老婆,今天我省了一块钱,我跟着公交跑回来的!”老婆说:“这么厉害,明天你跟着出租车跑回来,要省好几十块钱呢!”我想了想,我说:“对呀,我咋那么笨啊,还是老婆聪明!”
找到模块是左图这样的,16元。没选右图那样带SMA接口的,既贵也手里也没配套线材。
真需要严谨高频波形时估计会上更高指标的,这个也就练练手。
再仔细看了看,右图多了一级AD8051放大,并且使用了数字电位器,贵还是有贵的道理。
“ Ctrl+Alt+I ” 打开库管理界面,搜的一下,arduino 已经有这个库,尝试编译也通过了。
那接下来就等模块到货了。。。几天之后。。。快递在疫情期间准点到达
------------------------------------------------------------------------------------------------------------------
先焊接排针(左图)。如图 5个数字脚 和 2个模拟脚 上下分开,有字一面向上方便看引脚标识。
看了下PDF,AD9833电流很小,可以像之前做OLED实验一样,用数字引脚供电。
实拍测试场景:先用的UNO测试,后因用到蓝牙改用 ESP32 。如果和上图一样插在 UNO的 D7-D3 ,直接用如下代码:( D7 Vcc ,D6 Gnd )
代码很简洁,比SI5351易读。关键是 SI5351 例程代码频率需要校准,AD9833就不需要的。
- #include <MD_AD9833.h>
- #include <SPI.h>
-
- MD_AD9833 AD(/*DATA*/5, /*CLK*/4, /*FSYNC*/3);
-
- void setup(void)
- {
- pinMode(7, OUTPUT); digitalWrite(7, HIGH); // 数字引脚供电(仅限极低低功耗模块)
- pinMode(6, OUTPUT); digitalWrite(6, LOW);
-
- AD.begin();
- AD.setMode(MD_AD9833::MODE_TRIANGLE); // MODE_SINE MODE_TRIANGLE MODE_SQUARE1
- AD.setFrequency(MD_AD9833::CHAN_0, 1000000);
- }
-
- void loop(void)
- {
- }
----------------------------------------------------------------------------------------------------------------------
如没有示波器,把 AD9833 频率降到 1KHz,可以用 ADC 采样并输出到 串口绘图器。
UNO ADC 默认采样速度 10KHz ,可以提高到 67KHz。 代码如下:
- #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
- #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
-
- int i;
- int ch0_adc[600];
-
- void setup(void) {
- Serial.begin(2000000);
- sbi(ADCSRA,ADPS2) ;
- cbi(ADCSRA,ADPS1) ;
- cbi(ADCSRA,ADPS0) ;
- }
-
- void loop(void) {
- for ( i = 0 ; i < 600 ; i++){ ch0_adc[i] = analogRead(A0); }
- for ( i = 0 ; i < 600 ; i++){ Serial.println(ch0_adc[i]); }
- delay(1000); // 单位 毫秒
- }
“ Ctrl+Alt+L ” 打开 Arduino IDE 串口绘图器 ,即可看到下面这样的波形
-----------------------------------------------------------------------------------------------------------------------
最后,总要有别于其他已经有的波形发生器才算对得起折腾。
ESP32不是有蓝牙吗?程序移植到ESP32是及其容易的,注意几个引脚号即可。
AD9833 插在ESP32上,外加一块电池。
不打板不做外壳还能比这更简洁?
示波器也配合用手持的,这样摆拍方便。
下面是 手机控制参数 的 演示视频 。( 模块黑乎乎的在右上角 )
手机 App 用的是 汇承 的,帮他家宣传下,不买他的模块也可看看资料。
附:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。