Как преобразовать значения из 0: 270 в 0: 1023 в Python? - PullRequest
0 голосов
/ 16 февраля 2020

Привет, мне нужна помощь с моим скриптом для Arduino с Python У меня есть python скрипт, он выставляет угол между 0-270. Мне нужно преобразовать это значение в пригодное для сервопривода значение 0-1023. Может кто-нибудь от сообщества, помогите мне Спасибо

Ответы [ 3 ]

1 голос
/ 16 февраля 2020

То есть вы просто хотите конвертировать одно число в другое? Или список номеров? Звучит просто

new_angle = int(old_angle*3.78 )

3.78 # Потому что это 1023/270

А затем int () для преобразования в целое число

0 голосов
/ 17 февраля 2020

У меня есть еще один вопрос. Я смотрю на Inte rnet, но я ничего не могу найти. Я работаю над четвероногим роботом, мне нужен какой-то способ, если я остановлю своего робота под некоторым углом. Затем я перезагружаю его, я получаю эту позицию как дома как 0,0, но я подключаюсь к серво потенциометру. Есть ли в arduino какая-либо команда для обновления положения сервопривода по значению потенциометра, конвертированного в угол, но не перемещайте сервопривод ex. [Запуск сервопривода: 0 °, 0 ° - сейчас на 70 °, 50 °, но он движется], надеюсь, вы поняли мне

0 голосов
/ 16 февраля 2020

Вы имеете в виду что-то вроде функции карты? https://www.arduino.cc/reference/en/language/functions/math/map/ или https://processing.org/reference/map_.html

def maprange( a, b, s):
    (a1, a2), (b1, b2) = a, b
    return  b1 + ((s - a1) * (b2 - b1) / (a2 - a1))

maprange((0, 270), (0, 1023), value)

Взято из https://rosettacode.org/wiki/Map_range#Python

Надеюсь, это поможет: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...