# ESPNow Remote Controller
**Repository Path**: walkline/espnow-remote-controller
## Basic Information
- **Project Name**: ESPNow Remote Controller
- **Description**: 基于安信可 ESP-C3-12F 模组,使用 ESPNow 协议实现的遥控器
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 1
- **Created**: 2022-12-14
- **Last Updated**: 2023-10-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
ESPNow Remote Controller

### 项目介绍
基于`安信可ESP-C3-12F`模组,使用`ESPNow`协议实现的遥控器
### 电阻分压
由于`ESP32C3 ADC`采样电压范围的原因,所以需要使用电阻分压进行`ADC 采样`
#### 电阻分压公式
欧姆定律主要公式:
U = I * R
I = U / R
R = U / I

上图中,电阻串联,流过电阻的电流相等,根据公式计算电流:
```python
I = U / R
= U / (R1 + R2)
= 12 / (11_000 + 1_000)
= 0.001 A
```
根据公式计算`R1`分得的电压:
```python
U = I * R
= I * R1
= 0.001 * 11_000
= 11 V
```
`Vb`(即采样点)电压为:
```python
# Va = 12 V
# Vc = 0 V
Vb = 输入电压 - R1 分得的电压
= 12 - 11
= 1 V
```
电阻分压与两个电阻比值有关,与阻值无关
#### `ESP32`系列芯片`ADC`相关参数
- `ESP32`
| 衰减 | 可测量电压范围(单位:mV) | 误差(单位:mV) |
| :-: | :-: | :-: |
| `ADC_ATTEN_DB_0` | 100 ~ 950 | ±23 |
| `ADC_ATTEN_DB_2_5` | 100 ~ 1250 | ±30 |
| `ADC_ATTEN_DB_6` | 150 ~ 1750 | ±40 |
| `ADC_ATTEN_DB_11` | 150 ~ 2450 | ±60 |
**ADC1:**
- 8 通道: GPIO32 - GPIO39
**ADC2:**
- 10 通道: GPIO0, GPIO2, GPIO4, GPIO12 - GPIO15, GOIO25 - GPIO27
- `ESP32C3`
| 衰减 | 可测量电压范围(单位:mV) | 误差(单位:mV) |
| :-: | :-: | :-: |
| `ADC_ATTEN_DB_0` | 0 ~ 750 | ±10 |
| `ADC_ATTEN_DB_2_5` | 0 ~ 1050 | ±10 |
| `ADC_ATTEN_DB_6` | 0 ~ 1300 | ±10 |
| `ADC_ATTEN_DB_11` | 0 ~ 2500 | ±35 |
**ADC1:**
- 5 通道: GPIO0 - GPIO4
**ADC2:**
- 1 channels: GPIO5
综上所述,输入电压选择`3.3V`,`R1`选择`10K`阻值的电阻,摇杆`X轴`和`Y轴`作为电位器`RP1`,即可使用`ADC`采集`0 ~ 1100mV`之间变化的采样值,既满足采样电压范围又可以减小误差值

### 合作交流
* 联系邮箱:
* QQ 交流群:
* 走线物联:[163271910](https://jq.qq.com/?_wv=1027&k=xtPoHgwL)
* 扇贝物联:[31324057](https://jq.qq.com/?_wv=1027&k=yp4FrpWh)

