一、内容简介:
Esp8266模块自带一个ADC接口(A0,取值范围0-1023),用于处理模拟信号数据,摇杆模块输出X、Y、Z数据,其中X、Y为模拟信号,Z为数字信号,按下为0,未按下为1;这里暂时链接X、Z脚信号,通过LCD1602进行展示变化量。后期可通过I2C接口加载ADC模块进行扩展。
二、线路接线:
2.1. 模块连接对照表
| Esp8266 | LCD1602 | 摇杆模块 | 可调电阻 | 5V电源 |
|---|---|---|---|---|
| VIN | VCC | +5V | 正极 | |
| GND | GND | GND | GND | 负极 |
| A0 | 2脚 | |||
| D5 | SW | |||
| D1 | SDA | |||
| D2 | SCL | |||
| URX | 1脚 | |||
| 3脚 | 负极 |
2.2. 连接示意图

三、源代码
注释:(本代码采用限幅滤波法)
1)针对按钮,增加了防抖动代码;
2)格式化展示采集到的模拟信号,摇杆居中点采集的数据是500左右,通过过滤偏移量来防止信号波动;
#include <LCDI2C_Multilingual.h>
//使用SPI线模式初始化lcd
LCDI2C_Vietnamese lcd(0x27, 16, 2); // I2C address = 0x27; LCD1602A (16 columns, 2 rows)
#define A 5
#define B 10
char XY_Value[] = "X:00";
char Z_Value[] = "000";
int Value = 0;
int new_Value = 0;
int Key_Value = 0; // 未按下是0 按下是1
int Sensor_Port =

最低0.47元/天 解锁文章
1116

被折叠的 条评论
为什么被折叠?



