Servo and potentiometer

Привет!
Я хочу чтобы серво поворачивался так как потонцометр, на 360 градусов
но серво поворачиваеться только на 180 градусов.

Вот код:

#include <Servo.h>
Servo myservo;

int potpin = 0;   
int val;   

void setup() {
  myservo.attach(9); 
}

void loop() {
  val = analogRead(potpin);           
  val = map(val, 0, 1023, 0, 360); 
  myservo.write(val);              
  delay(15);                        
}

попробуйте поворачивать его не от 0 до 360, а от -180 до 180

Хотя обычные серво имеют ограничитель и не могут поворачиваться на полный оборот. Чтобы крутить больше, нужно так называемое серво непрерывного вращения (если я не переврал термин)

Серво постоянного вращения не поворачиваются на угол, а вращаются постоянно, как ни удивительно.

это предел

Обычные потенциометры поворачиваются не на 360, а примерно на 270 градусов. А обычные серво - на 180.
Если Вы хотите чего-то другого, то, вероятно, Вам придется изготавливать их самому.

Используйте шаговый двигатель. Его можно крутить на любой угол.

1 лайк

тогда поможет энкодер, они без ограничителя, выдают от 0 до 5 вольт, стоили в районе 1500 рублей, “но вчера”

это точно “энкодер”?

Да, энкодер положения, точность порядка 0,088 градуса

360 / 0.088 =4 090 (вероятно 4096)

И чем предлагается измерять на ардуино аналоговый сигнал от 0 до 5в с дискретизацией 12 бит ?

с потерей точности в 4 раза штатными средствами, для большинства приложений этого достаточно, без потери чипдип это предлагает

Насколько я помню, называлось это “поворотный датчик угла Холла”. Сейчас посмотрел: на корпусе написано P3022-V1-CW360.
И, насколько я помню, эта штуковина не захотела работать от 3.3В.
В принципе, может совместно с шаговым двигателем обеспечить то, что хочет ТС.

PS. Что-то подумал, какой смысл гнать сначала из цифру в аналог, а потом снова оцифровывать. Можно действительно купить энкодер (настоящий, а не “поворотный датчик”) с хорошим разрешением (те же полторы тыс/штука) и один в один или с нужным коэффициентом управлять им шаговым двигателем. Тип энкодера, например, E6B2-CWZ??. От 10 до 5000 на оборот. Тот, что у меня, как написано от 12 до 24 В, но - проверено - работает и от 5 В. Но есть те, которые официально от 5 В.

Посмотрел на цену…
Лучше Ардуино Дуе, БлуПилл или любой другой stm32 - у них у всех 12-разрядный АЦП (правда, шумит).

я о таком веду речь, но это было вчера, я о раках :smiley:

Но 3.3 вольта