Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Движение джойстика и соответствующие значения АЦП

Когда вы двигаете джойстик по оси X или Y, он выдаёт аналоговый сигнал, напряжение которого меняется от 0 до 3,3 В (или до 5 В, если подключить его к питанию 5 В). Когда джойстик находится в центральном (нейтральном) положении, выходное напряжение примерно равно 1,65 В, то есть половине VCC (в нашем случае VCC равен 3,3 В).

Note

Причина, по которой в центре напряжение 1,65 В, в том, что потенциометр работает как делитель напряжения. Когда потенциометр перемещается, его сопротивление меняется, и делитель выдаёт соответствующее напряжение. См. раздел о делителе напряжения.

У джойстика всего 5 выводов, и мы вскоре разберём, за что отвечает каждый из них. Два из них передают положение по осям X и Y, их нужно подключить к выводам АЦП микроконтроллера.

Как вы, возможно, уже знаете, ESP32 имеет 12-битный АЦП, который преобразует аналоговые сигналы (разности напряжений) в цифровые значения. Поскольку АЦП 12-битный, аналоговые значения будут представлены цифровыми значениями от 0 до 4095. Если вы не знакомы с АЦП, см. раздел об АЦП, который мы рассматривали ранее.

движение джойстика и соответствующие значения АЦП ESP32

Примечание:

Значения АЦП на изображении — лишь приблизительные ориентиры, они не будут точными. Например, я получил около 1850 по X и Y в центральном положении. Когда я двигал ручку к стороне с распиновкой, X падал до 0, а в противоположную сторону — до 4095. То же самое относится и к оси Y. Поэтому вам, возможно, придётся откалибровать свой джойстик.