Потенциометр считывает буквы

Мой потенциометр считывает буквы «t» или «u» в моем серийном номере. Я считаю, что мой потенциометр подключен правильно. Что я упускаю? Вот мой код:

#include <VarSpeedServo.h>

VarSpeedServo servo;
const byte buttonLeft = 2;
const byte buttonRight = 3;
const int led = 7;
const int potentioPin = A0;
int potentioVal = 0;

void setup() {
  Serial.begin(9600);
  servo.attach(11);

  // РЕЖИМЫ ПИН
  pinMode(buttonLeft, INPUT);
  pinMode(buttonRight, INPUT);
  pinMode(led, OUTPUT);

  // ПРЕРЫВАТЬ
  attachInterrupt(digitalPinToInterrupt(buttonLeft), turnServo, FALLING);
}

void loop() {
  int stateBtnLeft = digitalRead(buttonLeft);
  int stateBtnRight = digitalRead(buttonRight);

  if(stateBtnLeft == 0 && stateBtnRight == 0){
    digitalWrite(led, HIGH);
  } else {
    digitalWrite(led, LOW);
  }
}

void turnServo(){
  Serial.println("Button was pushed");
  potentioVal = analogRead(0);
  Serial.write("Servo moving with speed ");
  Serial.write(potentioVal);
  Serial.println("");
  //servo.write(180, potentioVal, true);
  //Serial.write("Достигнуто положение двигателя");
  //lightLed();
}

void lightLed(){
  digitalWrite(led, HIGH);
  delay(2000);
  digitalWrite(led, LOW);
}

, 👍0


2 ответа


4

Вам необходимо использовать Serial.print вместо Serial.write.

,

3

write() — это функция для двоичных данных. Если вы хотите распечатать число как текст, используйте print() или println().

Serial.println(potentioVal);

,