1、 功放板与 NodeMcu 供电干扰的问题
如果功放板与 NodeMcu 使用同一路电源供电,因为功放板的音频输入的 GND 与功放板的电源负极直接导通,功放板会输入电流声音。
2、Arduino Pro Mini 的动态内存大小
Arduino Pro Mini 只有 2M 的动态内存,如果程序中全局变量占用内存过大,则会有相应的报错。这也是在 TTS 那个项目中天气状况只保留『好』与『坏』两种情况的原因。
此时可将一部分常量保存在 flash 中,以节省动态内存。但是之前我自己在用的时候,出现读取值不正确的情况。
参考链接:Arduino Reference
3、NodeMcu 引脚号与 GPIO 端口不对应的问题
这个写程序的时候多留意就行了,多看一下引脚图。
4、MQTT 推送数据失败的问题
在改以前的一个小项目的时候发现 MQTT 推送总是失败,而如果减小字符串长度则能推送成功。检查库文件,发现了原因所在。
// MQTT_MAX_PACKET_SIZE : Maximum packet size
#ifndef MQTT_MAX_PACKET_SIZE
#define MQTT_MAX_PACKET_SIZE 128
#endif
在 PubSubClient.h 文件中,将 MQTT_MAX_PACKET_SIZE
宏定义的数值改大就可以了。
5、软件口发送数据丢失的问题
在之前的一个程序中,发现软串口延时时间过长,导致数据丢失的问题。如果你在项目中也遇到了类似的情况,可以尝试将延时改小。
6、Arduino 数字量端口不够使用的时候,可将模拟量端口作为数字量端口使用
参考链接:Analog Input Pins