Не работает функция map

nazananas
Offline
Зарегистрирован: 23.05.2022

Я написал код в котором данные с потенциометра считываются и преобразуются в диапазон от -255 до 255 и печатаются в com порт. Но код не работает. Просто выводит в com порт -255 и эти значения не изменяются

И с функцией constrain всё то же самое. И гуглил, но не нашёл ответа. Помогите пожалуйста.

void setup() {
  Serial.begin(9600);
}

void loop() {
  int val = analogRead(5);
  val = map(val, 0, 1023, -255, 255);
  val = constrain(val, -255, 255);
  Serial.println(val);
}

 

b707
Offline
Зарегистрирован: 26.05.2017

а если вывести в порт val после 6-й строчки?

nazananas
Offline
Зарегистрирован: 23.05.2022

Будут нули в ком порту, пробовал менять потенциометр, не помогло

void setup() {
  Serial.begin(9600);
}

void loop() {
  int val = analogRead(5);
  Serial.println(val);
}

 

b707
Offline
Зарегистрирован: 26.05.2017

nazananas пишет:

Будут нули в ком порту

и что вы хотите от функции map в этом случае? - она правильно работает, при нуле на входе и должно быть -255 на выходе...

nazananas
Offline
Зарегистрирован: 23.05.2022

Нет, значение застряло на -255, как бы я не крутил потенциометром

b707
Offline
Зарегистрирован: 26.05.2017

nazananas пишет:

Нет, значение застряло на -255, как бы я не крутил потенциометром

вы, простите, хорошо себя чувствуете? Думать не пробовали, прежде чем вопросы задавать?

Если у вас в коде в сообщении #2 на выходе с потенциометра всегда ноль - то ничего другого, кроме -255, вы от map и не получите.

Оставьте в покое map, она работает правильно, разбирайтесь с аналоговым портом, потенциометром. схемой...

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

"тяжело найти чёрную кошку в тёмной комнате особенно когда её там нет"

b707
Offline
Зарегистрирован: 26.05.2017

nazananas

Какая ардуина у вас?

Схему подключения потенциометра нарисуйте

nazananas
Offline
Зарегистрирован: 23.05.2022

Дело было в ардуине)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

nazananas пишет:

Дело было в ардуине)

что вы там с ними делаете )))

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

ua6em пишет:

nazananas пишет:

Дело было в ардуине)

что вы там с ними делаете )))

Хе-хе, попробуй подать на аналоговый вход +12 вольт и узнаешь )))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

v258 пишет:

Хе-хе, попробуй подать на аналоговый вход +12 вольт и узнаешь )))

"...если в голове опилки не беда..." )))

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

ua6em пишет:

v258 пишет:

Хе-хе, попробуй подать на аналоговый вход +12 вольт и узнаешь )))

"...если в голове опилки не беда..." )))

Ну так хоть что-то )))