Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Вс янв 22, 2023 22:00:52
Здравствуйте, есть проблема с написанием программы на основе ардуино уно, в которой нужно сделать так, чтобы при нажатии на клавишу (в данном случае "q"), двигатель делал определённое количество оборотов (здесь 2). Программа выглядит примерно так :
#include <Encoder.h>
Encoder encoder(2,3);
long position = 0;
int rotation = 0;
void setup()
{
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
Serial.begin(9600);
}
void loop()
{
if (Serial.available() > 0)
{
int inByte = Serial.read();
position = encoder.read() / 10;
rotation = abs(position) / 10;
Serial.print("pos: ");
Serial.println(position);
Serial.print("rot: ");
Serial.println(rotation);
switch (inByte)
{
case 'q':
while (rotation < 2)
{
analogWrite(5, 30);
analogWrite(6,0);
position = encoder.read() / 10;
rotation = abs(position) / 10;
Serial.print("pos: ");
Serial.println(position);
Serial.print("rot: ");
Serial.println(rotation);
}
}
}
}
Пн янв 23, 2023 09:07:30
показатели позиции и количества поворотов всегда выводят ноль