#include <Servo.h>
Servo myServo;
int potentiom = A0;
int ledPin = 2;
void setup() {
Serial.begin(9600);
myServo.attach(3);
myServo.write(0);
pinMode(ledPin, OUTPUT);
}
void loop() {
int Angle = analogRead(potentiom);
int servoangle = map(Angle, 0, 1023, 0, 180);
myServo.write(servoangle);
int diode = myServo.read();
if (diode == 0) {
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
}
if (diode == 180) {
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
}
Serial.println(servoangle);
}
//Вопрос 1
//Основные типы циклов: for(цикл с параметром) - Используется для выполнения блока кода определенное количество раз. Он инициализирует счетчик(переменную), проверяет условие и изменяет счетчик на каждой итерации.
//while: выполняется до тех пор пока выполняется условие, если условие изначально ложно то ни разу не выполнится. do-while (предусловие) сначала выполняется потом проверяет, 1 раз точно выполняется
//Операторы ветвления: if: выполняет блок кода если условие истинно, и else если ложно, else if: если предыдущее ложно(и нужно еще условие).
//switch: Позволяет выбирать один из нескольких блоков кода в зависимости от значения переменной.
//Из циклов и операторов состоит вся логическая часть кода. Позволяет считывать данные, управлять устройствами, обрабатывать события, реализовать условия, реагировать на изменения
//внедрять алгоритмы обработки сигналов, переводить устройство в различные режими работы и многое другое.
//Вопрос 2
//Дискретный или цифровой сигнал - сигнал, который может принимать только два фиксированных состояния 1(включено) или 0(выключено). Считываются функцией digitalRead().
//дискретные устройства(кнопки, некотоорые датчики, переключатели) считывают цифровой сигнал включено или выключено.
//после считывания сигнала с устройства можно на основе полученных данных управлять другими устройствами или выполнять какое то условие, для установки сигнала есть функция digitalWrite().
//Для яустранения помех используются подтягивающие резисторы или для сглаживания резисторы и конденсаторы. Также существуют аппаратные(программные способы)
//Дебаунс - программный способ фильтрации ложных срабатываний за счет задержки(delay) или спец. алгоритма INPUT_PULLUP.