Как работают поворотные энкодеры и как их использовать с Arduino — Производство печатных плат и сборка печатных плат
Технология, которую мы используем сегодня, развивается с экспоненциальной скоростью! Знание всех основ этих инновационных новых технологий необходимо, чтобы идти в ногу со временем. Большинство электронных устройств сегодня полагаются на датчики для измерения и обнаружения информации. Вы когда-нибудь слышали о поворотном энкодере? Когда вы используете поворотный энкодер, вы поймете, что это гораздо больше, чем просто переключатель! Вращающийся диск на переключателе отправляет данные на Arduino, показывая свое положение. Как это помогает? Я объясню все технические детали позже.
Что такое поворотный энкодер?Энкодер — это электронный компонент, который подсчитывает, сколько раз вы поворачиваете ручку. Он делает это, посылая электрический сигнал, когда вы поворачиваете его и его направление. Таким образом, вы можете точно сказать, сколько изменений произошло в вашем проекте и что происходит в настоящее время. Это может показаться не очень простым, но это очень просто. Если вы знакомы с тем, как работает потенциометр, это то же самое. Вы можете вращать потенциометр только от 0 до максимума и обратно. Поворотный энкодер может вращаться непрерывно. Это позволяет вам иметь больше контроля над вашим проектом.
Как работает поворотный энкодер?Датчик этого устройства напрямую подключается к цифровым контактам на плате Arduino через кабель. Нам нужно использовать только два цифровых контакта, чтобы поворотный энкодер работал. Мы используем один для ввода данных и направления. При движении сигнал на эти контакты отправляет информацию о том, как далеко вы повернулись. Двоичные числа представляют сигнал. Каждая группа из четырех представляет собой один ход. Arduino преобразует эти двоичные числа, чтобы отправить микроконтроллеру сигнал включения или выключения. Теперь, когда у вас есть технические детали, давайте перейдем к их использованию!
Мы можем установить энкодер на вал двигателя или установить непосредственно над валом, аналогично потенциометру. После установки датчика он будет работать автоматически без дополнительных действий. Если в вашем двигателе есть редуктор или другие движущиеся части, вам нужно установить датчик прямо над этими частями, чтобы получить точные показания. Если вы работаете с коробкой передач и хотите измерить скорость различных передач, это отличный способ сделать это. Мы прикрепляем энкодер, используемый в этом проекте, прямо над валом.
Об ArduinoArduino — это аппаратно-программная платформа с открытым исходным кодом, разработанная на плате микроконтроллера. В нем используются специальные интегральные микросхемы. Эта дружественная к ИТ платформа позволяет создавать объекты, которые легко взаимодействуют с вашим миром. Платы Arduino в настоящее время доступны по цене от 35 до 80 долларов у большинства крупных производителей, таких как Rayming PCB & Assembly . Мы можем использовать и другие доски, но о них мы поговорим позже. Для этого проекта вам понадобится как минимум плата Arduino Uno и среда разработки Arduino IDE. Вы также можете купить стартовый комплект Arduino примерно за 100 долларов. Он состоит из множества компонентов и поставляется с несколькими руководствами и проектами, которые помогут вам начать работу.
Установка энкодераС помощью микроконтроллера Arduino установить энкодер очень просто. Первый шаг — загрузить и установить Arduino IDE из библиотеки энкодера Arduino. Сделав это, войдите в меню «Инструменты» в начальном окне и нажмите «Доска: ARDUINO UNO». Это вызовет новое окно, в котором вы затем выберите Tools -> Board Manager. Затем установите соответствующую версию Arduino для вашей системы. После этого вы можете установить наш поворотный энкодер. Вернитесь в меню Tools и выберите Tools -> Board: MKS GEN3. Это вызовет новое окно, в котором вы затем выберите Tools -> Boards Manager. Первое, что вы хотите сделать, это найти роторный и проверить эту опцию.
Что дальше?Нажмите кнопку установки и дождитесь завершения процесса установки. Затем мы можем перейти к установке нашего кодировщика. Вернитесь в меню Tools и выберите Tools -> Board: SINAMICS ENCODER. Это создаст новое окно, в котором вы затем выберите Доски -> Неизвестный тип. Если все пойдет хорошо, сообщение должно быть ОК. Теперь мы можем перейти к установке нашего поворотного энкодера.
Вернитесь в главное окно Arduino IDE, выберите «Файл». Затем откройте, чтобы найти папку, в которой вы сохранили свои файлы, и откройте эту папку в начальном окне. Следующий шаг — выбрать Tools -> Boards и поставить галочку напротив Standard 16MHz Arduino boards и платы, которую вы только что установили. После этого вернитесь в Инструменты -> Порты и выберите свой порт из списка. Последняя часть — выбрать «Инструменты» -> «Последовательный порт» и выбрать любой последовательный порт, соответствующий вашей установке. Если все пойдет хорошо, вы должны увидеть мигающий свет там, где находится ваша Arduino IDE. После этого загрузите код в свою IDE и загрузите его на плату Arduino.
Как использовать поворотный энкодерПроект довольно прост, единственное требуемое аппаратное обеспечение — поворотный энкодер. После установки Arduino и энкодера подключите его к Arduino IDE. После этого загрузите код из Arduino IDE и загрузите его на плату Arduino. Использование поворотного энкодера Arduino даст вам больше контроля над тем, что делают ваши двигатели, чем использование простого переключателя. Вы сможете двигаться вперед, назад и поворачиваться для большего контроля. Код довольно прост в использовании. Вы можете изменить его, чтобы иметь различные эффекты. Кроме того, вы можете манипулировать несколькими переменными для получения различных эффектов.
Схема контактов модуля поворотного энкодераУгловой энкодер представляет собой небольшой модуль с тремя контактами в качестве входов и заземлением.
Это контакты, которые вам понадобятся для подключения к плате Arduino. Используемые контакты зависят от приобретенной платы Arduino, но наиболее распространенными являются:
Этот модуль имеет пять контактов. Единственные два, которые нам нужно использовать, это вывод данных и вывод направления, но вы можете использовать их по-другому, если хотите!
К ним относятся:
- CLK: это контакт синхронизации
- DT: это контакт данных
- VCC: это положительная мощность для запуска модуля
- GND: это контакт заземления, соединяющий нашу плату Arduino,
- SW : Это контакт переключателя
Необходимые материалы
- Arduino IDE (программное обеспечение)
- Провода-перемычки «папа-папа» (аппаратное обеспечение)
- Модуль поворотного энкодера с нажимным переключателем (аппаратное обеспечение) 7
- Arduino UNO R9 (аппаратное обеспечение)0088 Определение положения вала энкодера
Вал энкодера представляет собой резиновый подшипник, прикрепленный к валу с помощью пластикового кольца. Глядя на внутреннюю часть подшипника, вы можете увидеть, как он крепится к валу.
Вокруг центрального отверстия есть маленькие отверстия. Они немного больше, чем отверстия в нашем модуле энкодера.
Изображение энкодера, установленного на механизме ременного привода с датчиком энкодера, показывает, как они вписываются в наш проект.
Подключите + к 5V, а – к земле нашей Arduino
Затем подключите CLK, DT и VCC к нашей плате Arduino
Наконец, подключите GND и SW к нашей плате Arduino, как показано выше
Позиционирование поворотного энкодераЧтобы поместиться на ремне, вам необходимо отрезать небольшую часть пластикового кольца. Его размер зависит от вашего модуля кодировщика. Таким образом, вы можете методом проб и ошибок выяснить, какой размер лучше всего подходит для вашего приложения.
Чтобы определить, где вы разместите энкодер, измерьте расстояние от центра до центра по оси ремня.
ПЕРЕКРЕСТКА:
Если бы мы повернули наш ремень по часовой стрелке на несколько отверстий, мы бы сместили положение поворотного энкодера вправо примерно на 1/4 оборота. Чтобы настроить это, нам нужно сдвинуть наш поворотный энкодер ближе на 1/4 оборота в любом направлении.
Затем мы точно измерим, насколько далеко от центра нашей оси находится поворотный энкодер.
Переместите ремень (или одну сторону каретки) лицом от себя и потяните ремень в исходное положение. Затем измерьте, как далеко он перемещается, считая по одному отверстию за раз и перемещая его на 1/4 оборота. В нашем примере нам нужно переместить ремень на 1 отверстие вправо или на 3/4 оборота.
Как подключить энкодер к Arduino UNOМы хотим подключить его к контактам синхронизации, данных, заземления и переключателя Arduino.
Если мы посмотрим на заднюю часть нашего энкодера, мы увидим пять контактов.
Три контакта слева: VCC, Ground (GND), VCC и Switch (SW).
Далее нам нужно выяснить, какой вывод является Data (DT) и Clock (CLK).
Мы делаем это, используя мультиметр, чтобы определить, какой контакт имеет высокий уровень, когда он не нажат.
Как только вы получите эту информацию, вам нужно подключить ее к Arduino.
Подключите Arduino к USB-порту компьютера.
Убедитесь, что вы не подключаете плату Arduino ни к чему другому, иначе она не обнаружит.
Какой контакт Arduino для сигнала энкодера vexСигнал энкодера представляет собой двухпроводной последовательный интерфейс. Arduino использует вывод прерывания для энкодера. Какой из них вам нужно использовать, зависит от вашего кодировщика Arduino. В моделях Arduino UNO или Nano вы будете использовать цифровой контакт 2 (D2). Arduino Mega и Leonardo используют цифровой контакт 3 (D3). Вы можете изменить линию прерывания, изменив переменную encoder_pin в коде.
Как создать меню с помощью поворотного энкодера в Arduino
Это меню имеет четыре функции: вперед, назад, влево и вправо.
Энкодер представляет собой поворотное устройство, которое можно вращать по часовой стрелке или против часовой стрелки. Вращающийся энкодер представляет собой механизм для кодирования входного значения в виде количества шагов, за которое он делает полный оборот. Механический механизм состоит из трехпозиционных датчиков и электронного энкодера. Каждая из этих частей состоит из четырех компонентов. «Датчик положения» имеет набор катушек (катод, анод, экран). Он заставляет датчик реагировать, когда через него проходит электрический ток. Вся конструкция механизма основана на одноосевом вращающемся валу с параллельными осями.
Теперь давайте начнем изучать распиновку поворотного энкодера в Arduino IDE.
Выберите Инструменты > Доска и выберите доску, которую хотите использовать.
Далее заходим в Инструменты > Порт и там тоже выбираем порт.
После этого вы получите новый проект (Файл>Новый):
В этом случае мы выбираем Arduino UNO R3:
Этот код работает с Arduino UNO R3 с энкодером, который выводит 8 бит данных.
Код простой и легко читаемый. Что вам нужно сделать, так это изменить значения в начале вашей программы, а именно:
- encoder_pin = 2
- encoder_show = 1
- encoder_mode = 0
- shift = 0
- goToStep=0
- step=0
Существует несколько типов поворотных энкодеров, которые вы можете приобрести. Поэтому важно знать разницу между ними.
1. Механические абсолютные энкодерыМеханический абсолютный энкодер измеряет вращение вала энкодера по фиксированной круговой траектории. Каждый щелчок представляет собой один оборот. Внутренний упор не позволит валу дальше вращаться. Мы используем этот тип энкодера в приложениях, требующих ограниченного количества положений, таких как включение комплекта освещения или управление лифтом. Эти энкодеры дешевле, но имеют более ограниченные возможности.
Это распространенный недорогой вариант для продукции небольшого объема.
2. Оптические абсолютные энкодерыОптические абсолютные энкодеры измеряют вращение, испуская световой луч. Он также измеряет отражение с помощью фотоэлектрического датчика.
Этот тип энкодера имеет очень долгий срок службы, прост в установке и более надежен, чем его родственник.
Это правильный выбор для приложений, которым необходимо измерять положение двигателя в суровых условиях. Эти типы, как правило, имеют более высокие ценники, но могут быть оправданы, если они будут использоваться постоянно.
Вы можете сделать их из пластика или стекла. Мы монтируем вал таким образом, чтобы предотвратить повреждение энкодера.
Они также доступны с инкрементальными оптическими энкодерами. Это позволяет увеличить вращение и дает вам больше контроля над вашим приложением.
3. Магнитные абсолютные энкодерыМагнитные абсолютные энкодеры используют магнитные поля для определения степени вращения вала.
Отлично подходят для приложений с высокой точностью. Им нужен более высокий уровень точности.
Вы можете использовать их даже на низких скоростях, и они отлично подходят, если вам нужно определить положение вашего двигателя в экстремальных условиях.
Этот тип энкодера обычно дороже, но может стоить того, если вам нужен такой уровень точности в вашем приложении.
Инкрементальный энкодерИнкрементальный энкодер дешевле, чем абсолютный энкодер. Но они обеспечивают только пошаговое вращение.
Это означает, что они сообщают вам только направление вращения, но не количество поворотов.
Они идеально подходят для приложений, которым не нужно знать точное положение вашего двигателя, например, двигатель холодильника. Они также позволяют повторять корректировки в вашем приложении для поддержания того же уровня точности.
Важно отметить, что разрешение инкрементальных поворотных энкодеров обычно не такое высокое, как у абсолютных энкодеров.
Инкрементальные поворотные энкодеры обычно имеют центральную фиксацию. Это означает, что, когда мы «домашим» свой мотор, наш индекс будет в полдень.
Они просты в использовании и являются первым вариантом, который вы должны рассмотреть, если вам нужно только определить вращение.
Они дешевле, чем абсолютные энкодеры, и могут быть очень маленькими.
Поворотные энкодеры и потенциометрыПоворотные энкодеры могут измерять вращение в небольшом пространстве.
Из-за ограниченного пространства поворотные энкодеры затрудняют достижение точных положений, которые нам нужны.
Используя вместо этого потенциометр, мы можем легко получить точное положение. Вы делаете это, устанавливая двигатель на нашу печатную плату и регулируя потенциометр оттуда. Затем мы можем «достать» наш двигатель, повернув потенциометр в центральное положение.
Потенциометры отлично подходят, если вы хотите добиться точного позиционирования, но не даете нам обратную связь об абсолютном положении. Поэтому мы должны использовать поворотный энкодер и передавать данные Arduino для выполнения этой задачи.
В нашем приложении выход датчика представляет собой 8 бит данных, и наша программа затем преобразует их в 0 и 1.
Мы знаем, что Arduino всегда будет возвращать 1, когда энкодер находится дома, и 0, когда нет.
Мы можем использовать 16-битную программу для этого преобразования, если мы учтем ограничения поворотного энкодера Arduino.
Существуют библиотеки, которые помогут с этим переводом, и вы можете найти их через свою среду разработки Arduino IDE.
Чем выходные данные могут вам помочь?Выходы являются неотъемлемой частью любого робототехнического приложения. Они позволяют нам отслеживать, что происходит в наших приложениях, чтобы при необходимости вносить коррективы. Это сэкономит время, поскольку мы устраняем неполадки в процессе разработки.
Выходные данные также позволяют нашим программам принимать решения и соответствующим образом изменять свое поведение. Например, цифровой выход может сообщить нам, когда наш двигатель находится в рабочем состоянии и простаивает. Это позволит нам разомкнуть цепь к нашим устройствам, не перегревая двигатель. Если мотора нет дома, он может сообщить нам об этом, выключив реле. Мы также обычно можем ожидать, что наша программа сама решит, должна ли она работать на низкой или высокой скорости. Это решение будет зависеть от того, как долго работает двигатель.
Выбор энкодераСуществует множество различных типов энкодеров. Вы должны знать о преимуществах и недостатках каждого из них.
У каждого типа есть преимущества, которых нет у других типов. Например, абсолютные энкодеры более точны, чем инкрементные энкодеры. Но они, как правило, дороже.
Таким образом, перед покупкой поворотного энкодера вам следует изучить область применения. Тип, который вы выберете, будет зависеть от приложения, которое вы пытаетесь реализовать.
1. Поворотный энкодер с переключателемПервый поворотный энкодер, на который следует обратить внимание, — это ручка и переключатель.
Они отлично подходят для таких приложений, как часы, где вы хотите внести коррективы в свое приложение.
Вы можете настроить этот тип энкодера так, как вам нужно, отрегулировав значение ручки переключения. Кроме того, они также очень экономичны по сравнению с другими типами.
2. РощаУ Grove большой выбор различных поворотных энкодеров. Они включают в себя некоторые со светодиодными индикаторами и кнопками.
Гроув имеет еще одно существенное преимущество. Они предоставляют нам печатную плату и необходимые компоненты для монтажа в Arduino Uno.
Grove упрощает создание вашего продукта, и существует огромное сообщество, которое использует его детали. Это позволяет вам получить помощь от других производителей, если у вас возникнут какие-либо проблемы.
Поворотные энкодеры Grove являются королем поворотных энкодеров из-за их низкой цены и уникального сообщества. Однако Grove не так хорош для приложений, которым нужна обратная связь.
ПрименениеСуществует множество различных применений поворотного энкодера. Мы можем использовать данные от поворотного энкодера, чтобы сообщить нам, когда наш двигатель достиг дома, как быстро он работает и сколько оборотов он совершил. Все это будет зависеть от нашего руководства по настройке поворотного энкодера.
Grove также отслеживает значения, введенные вашим контроллером.
1. Датчик для кодирования «поверни и нажми»Это отличный способ связаться с двигателем и включить или выключить его. Мы можем установить датчик на верхнюю часть двигателя. Когда вы отходите от мотора, он его включает, а когда вы приближаетесь к мотору, он его выключает.
Мы могли бы использовать это для многих вещей. Например, включение света, когда вы выходите из дома, или выключение кондиционера, когда вы выходите из офиса. Этот датчик может иметь множество других применений в наших различных проектах.
2. Датчик движения, скорости и направленияМы можем использовать наши поворотные энкодеры, чтобы сказать нам, сколько оборотов совершил наш двигатель и находится ли он в исходном положении (по центру) или нет. Мы также можем использовать наши поворотные энкодеры для измерения скорости и направления вращения двигателя.
Кроме того, поворотный энкодер может точно сказать нам, как далеко мы находимся от заданной точки. Затем мы можем вычислить эти данные на графике для достижения большей точности.
3. Датчик точного положения для энкодераДатчики этого типа можно использовать в любых приложениях, требующих точных измерений. Эти датчики будут очень точными и будут измерять не только наш мотор.
Преимуществом этих датчиков является их точность и долговечность. Однако ценник часто будет превышать стоимость других видов.
4. Автомобильные оптические датчикиЭти датчики звучат именно так: оптический датчик крепится к нижней части двигателя. Этот тип датчика может сказать нам, как быстро двигался наш двигатель и в каком направлении он двигался. Теперь вы должны понимать, что это такое, как они работают и сколько различных типов вы можете использовать в своих проектах. Вы также сможете определить преимущества каждого типа ввода и вывода в зависимости от вашего приложения.
Следующим шагом является внедрение эффективного руководства по настройке поворотного энкодера в вашу среду программирования.
Поворотный энкодер — 1024 P/R (квадратурный) — COM-11102
3,9 из 5
На основании 9 оценок:
Сейчас просматриваются все отзывы покупателей.
Показаны результаты со звездным рейтингом.
2 из 2 нашел это полезным:
довольно круто, но может плохо справляться со стрессом
от участника № 595097 проверенный покупатель
Я построил светодиодный дисплей с постоянным движением для настенных часов, используя одного из этих плохих парней.
Размеры указаны в метрической системе, поэтому найти в хозяйственном магазине 6-миллиметровый болт для соединения с осью было довольно сложно.
Четыре звезды, потому что он работает в заявленных пределах, но мне бы хотелось, чтобы он был немного прочнее для моего проекта. Я собираюсь купить еще один и надеюсь, что я его повредил во время строительства или транспортировки, а не регулярного использования.
1 из 1 нашел это полезным:
Выполняет, как ожидалось
от пользователя #780792 проверенный покупатель
Этот энкодер прекрасно работал для моего приложения, которое представляло собой линейный измерительный прибор с длинным ходом.
Крепежные винты M3 хороши. С форм-фактором легко работать в САПР, чтобы распечатать монтажное оборудование на 3D-принтере и т. д.
Вал кажется устойчивым, и на кабелях есть по крайней мере некоторое умеренное натяжение, так как я немного дернул их, и они все еще работают. Электрически он достаточно надежен на макетной плате, чтобы с ним можно было работать, и не нужно беспокоиться о том, чтобы поджарить его, если вы случайно зажжете несколько проводов или перепутаете полярность на шине питания и т. Д. (Не то чтобы я бы сделал это, хе-хе … ..)
Довольно прост в использовании с хорошим широким диапазоном входного напряжения. Вся тяжелая работа выполняется за вас с точки зрения кодирования с микроконтроллерами — в диспетчере библиотек arduino есть несколько библиотек, которые, по сути, подключаются к этому устройству.
Довольно хороший энкодер по отличной цене, но есть одна загвоздка…
от участника #665489 проверенный покупатель
Мне нужен был недорогой энкодер, чтобы я мог смоделировать установку аппаратного обеспечения на своем столе для тестирования. Я нашел, что сборка была довольно хорошей. Было много кабеля, и это в значительной степени именно то, что вы ожидаете. Это за исключением выхода Z. В спецификации сказано, что выход низкий и дает высокий сигнал один раз за оборот. Я обнаружил, что z out на самом деле является обратным этому, он высокий и снижается после одного оборота. В итоге мне пришлось использовать транзистор и подтяжку, чтобы сделать мою фиктивную настройку согласованной, но я все еще немного расстроен тем, что спецификация на самом деле не соответствует энкодеру.
Хорошо работает в раннем тестировании
от участника #153871 проверенный покупатель
Я объединил это с интерфейсом USB-кодировщика Phidgets 1047, и комбинация работает очень хорошо. Сигнал индексной метки очень полезен для центрирования показаний энкодера. Это будет инсталляция, где она будет активно использоваться, и я надеюсь, что она хорошо продержится со временем.
отлично работает
от Фред4 проверенный покупатель
Кодировщики работают очень хорошо. Они легко монтируются, а гибкие муфты отлично справляются с любым неправильным выравниванием. Они также поставляются с большим количеством дополнительных проводов, поэтому их можно использовать на довольно большом расстоянии, что я оценил. Одна вещь, о которой следует знать, это то, что у них большое разрешение с 1024 тиками на оборот. Это здорово, но пользователи должны знать, что в зависимости от ожидаемых оборотов может быть слишком много для чего-то вроде Arduino, чтобы не отставать. Например, я запускаю 4 из них со скоростью 50 об / мин, что составляет более 2 миллионов прерываний в секунду. Мне пришлось использовать плату phidgets FPGA, чтобы не отставать от количества прерываний. Это не проблема, просто пользователи должны знать об этом. У меня есть небольшая критика, проводные выходы имеют очень забавную цветовую маркировку. Например, коричневый — это VCC, синий — заземление, а оранжевый — Z-выход. Это не проблема, но поначалу это немного сбивало с толку.
Делает именно то, что написано на банке
от участника #1145375 проверенный покупатель
Доволен этим энкодером, пока все хорошо. Когда этого сайта не было в наличии в течение длительного времени, сами Yumo были достаточно любезны, чтобы отправить их напрямую. Могу порекомендовать.
Просто и надежно 🙂
от пользователя № 1494237 проверенный покупатель
Для своей стоимости это довольно хороший оптический энкодер с 1024 импульсами на оборот. Если вы подсчитаете нарастающие и падающие импульсы для «A» и «B», вы получите 4-кратное разрешение (4096 импульсов на оборот) энкодер! Также не забывайте, что Z-соединение этого энкодера дает один импульс на оборот для абсолютного позиционирования 🙂
Плохие характеристики.
…от участника #1072730 проверенный покупатель
Спецификации этого энкодера предполагают, что выход 2 кОм к напряжению шины (коричневый провод), а затем транзистор к земле. Я пытался подключить это к плате fpga, которая принимает уровни напряжения LVTTL. <=3,3 Самый быстрый и дешевый способ добиться этого — использовать делитель напряжения. Это предполагает, что резистор 1,8 кОм от выхода к земле должен помочь. НЕТ.
Если вы измерите сопротивление между каналами, вы получите 6,6 кОм. (Не забудьте отключить питание для этого теста.) Это говорит о том, что сопротивление составляет 3,3 кОм по отношению к рельсу.
Осторожно открыв заднюю крышку, я обнаружил три резистора для поверхностного монтажа 3,3 кОм.
Но подождите… Выход высокого уровня без нагрузки должен быть равен напряжению коричневого провода, верно? Опять неправильно. Если на коричневый провод подается 5 В, выход высокого уровня составляет ~ 4,2 В.
Я не буду сильно расстраиваться из-за высокого уровня выходного напряжения. Может это защита от обратной полярности? Однако я не буду проверять эту теорию. (Что-то вроде полной проверки предохранителей перед вводом их в эксплуатацию.) Это все еще кое-что, о чем нужно знать.
Я думаю, что попробую другую стратегию: Zener каналы? Диод на рейку? Или, возможно, удалить 3.3k и сделать энкодер с открытым коллектором.
Хорошие кодировщики
от участника № 796323 проверенный покупатель
В целом хорошие энкодеры, они немного больше, чем я ожидал, но это не проблема. В целом, они довольно надежны и отлично работают в паре с комбинированным контроллером мотора «саблезубый зуб» и «кенгуру».
- encoder_pin = 2