//Servo and Button
//#include <Servo.h>
#include <ESP32Servo.h>
Servo myservo; // create servo object to control a servo
int potpin = 35; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
bool flag = true;
//ADC_MODE(ADC_VCC);
//int Volt = ESP.getVcc();
//Serial.println(Volt);
void setup() {
//линия, к которой подключена кнопка
#define BUTTON_INPUT 27
#define BUTTON_PROTECTION 50
myservo.attach(13); // attaches the servo on pin 9 to the servo object
//--------------------------------------------------
//настройка периферии микроконтроллера
//настраиваем порт для обработки кнопки
//вход с подтяжкой к плюсу питания
pinMode(BUTTON_INPUT, INPUT_PULLUP);
//настройки для передачи данных в терминал
Serial.begin(9600);
char a = 125;
Serial.println(a);
byte myArray[] = {1, 2, 3, 4, 5};
// выведет 1 2 3 4 5
for (byte i = 0; i < 5; i++) {
Serial.print(*(myArray + i));
Serial.print(' ');
}
Serial.println();
}
void loop() {
//проверка нажатия кнопки
if(digitalRead(BUTTON_INPUT) == LOW){
//пауза для защиты от дребезга
delay(BUTTON_PROTECTION);
//повторный опрос кнопки
if(digitalRead(BUTTON_INPUT) == LOW){
//один раз выводим текст
Serial.println("button pressed\r");
//ничего не делаем, пока кнопка нажата
while(digitalRead(BUTTON_INPUT) == LOW);
}
}
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 4095, 0, 180); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15);
int val2 = map(val, 0, 4095, 100, 4000);
Serial.println(val2);
if (flag) {
for (byte i = 0; i < 16; i++) { // i от 0 до 16
int j = i;
Serial.print(i); // степень
Serial.print("\t"); // табуляция
Serial.println(round(pow(2, i))); // 2 в степени i
}
flag = false;
}
}