#include <Stepper.h>
const int stepsPerRevolution = 200;
Stepper myStepper(stepsPerRevolution, 4, 5, 6, 7);
const int potentiom = A0;
void setup() {
Serial.begin(9600);
}
void loop() {
int position = analogRead(potentiom);
int positionrot = map(position, 0, 1023, 0, 10)*102.4;
if (positionrot < 512) {
int sped1 = positionrot;
myStepper.setSpeed(sped1 / 4);
myStepper.step(-200);
}
else if (positionrot > 512) {
int sped2 = positionrot;
myStepper.setSpeed(sped2 / 4);
myStepper.step(200);
}
Serial.println(positionrot);
}
//Вопрос 1
//Цифровые порты ввода используются для считывания состояния внешних устройств(например кнопки). Каждое состояние может быть HIGH или LOW.
//Для считывания используются кнопки Digital.Read и digital.write. Эти порты позволяют взаимодейстовать с внешними устройствами.
//Функции: Pin.mode: устанавливает режим работы порта, может быть INPUT - вход или OUTPUT - выход.
//Также цифрововй порт может использоваться для считывания аналоговых значений с помощью PWM(Широтно импульсная модуляция)
//С помощью широтно импульсной модуляции можно также управлять цифровыми устройствами считывая аналоговый сигнал
//Аналоговый функции analogWrite - установка состояния, analogRead - чтение
//Вопрос 2
//Основные отличия между языками С и С++ это пприменение объектно ориентированного программирования(создания классов в языке С++)
//В С код более глобальный(глобальные переменные, функции) и там нельзя создать класс. В языке С++ можно использовать ООП и сделать код более читаемым и логичным
//Принципы ООП - Инкапсуляция(скрытие функций в одном классе), наследование(можно создавать новые классы на основе существующих), полиморфизм(способность
//обьекта использовать разные методы для реализации методов исходя из контекста. Конвертировать из С в С++ структурировав код и разбив на классы,
//использовать методы(функции записанные в класс), использовать объекты классов вместо глобальных перременных.
//Конвертация проекта с языка C в C++ для микроконтроллеров дает возможность использовать объектно-ориентированные принципы программирования для улучшения структуры и
//читаемости кода. Применение классов и методов позволяет организовать проект, повысить его гибкость и упростить его дальнейшее расширение.