# Create 2 编码器反转时计数不递减

> 原文链接：https://robotics.hellobike.com/pitfalls/2018-09-15-robotics-se-7229
> 频道：pitfalls | 更新日期：2018-09-15 | 标签：auto, stackexchange, irobot-create, roomba
> 核心摘要：Create 2 编码器是方波而非正交编码器，需依赖命令方向判断轮子方向。

# Create 2 编码器反转时计数不递减

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[iRobot Create 2: Encoder Counts](https://robotics.stackexchange.com/questions/7229/irobot-create-2-encoder-counts)（Robotics Stack Exchange #7229）

**状态**：已解决

## 问题

使用 Arduino Uno 读取 iRobot Create 2 轮编码器计数时，手动反向转动车轮计数仍增加、不会递减；用 RealTerm 有线连接也表现相同。

## 环境

iRobot Create 2；Arduino Uno；RealTerm；OI Spec Opcode `43`。

## 解决办法

1. 确认这是正常限制：Create 2 编码器是方波，不是正交编码器。
2. 方向判断依赖机器人被命令的运动方向：命令前进时计数增加，命令后退时计数减少。
3. 避免在机器人未运动时手动转轮，或让车轮按与命令相反方向运动，否则会得到错误结果。
4. 重新下载最新 OI Spec，查看 Opcode `43` 第 30 页相关说明。

原问题作者：JSycamore；采纳答案作者：Ben。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #7229：iRobot Create 2: Encoder Counts](https://robotics.stackexchange.com/questions/7229/irobot-create-2-encoder-counts)