Пн ноя 28, 2022 22:27:33
#include <CustomStepper.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#define verh 0
#define niz 8
long schet = 0; //Счетчик шагов
long shagi = 0;
CustomStepper stepper(32, 33, 25, 26);
const char* ssid = "xxxxx";
const char* password = "xxxxx";
ESP8266WebServer server(80);
void setup() {
Serial.begin(115200);
delay(100);
Serial.println("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(1000);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected..!");
Serial.print("Got IP: ");
Serial.println(WiFi.localIP());
server.on("/get1", get1);
server.on("/get2", get2);
server.begin();
Serial.println("HTTP server started");
stepper.setRPM(12); // Устанавливаем кол-во оборотов в минуту
stepper.setSPR(2048);
}
void get1()
{
shagi = niz;
server.send ( 200, "text/plain", "works well" );
}
void get2()
{
shagi = verh;
server.send ( 200, "text/plain", "works well" );
}
void loop() {
server.handleClient(); // обработка входящих WEB запросов
if (stepper.isDone() && schet < shagi){
Serial.println("Up");
stepper.setDirection(CCW); // Устанавливает направление вращения. Может принимать 3 значения: CW - по часовой, CCW - против часовой
stepper.rotateDegrees(45); // В градусах
schet++;
}
if (stepper.isDone() && schet > shagi){
Serial.println("Down");
stepper.setDirection(CW);
stepper.rotateDegrees(45);
schet--;
}
stepper.run();
}
Вт ноя 29, 2022 07:12:21
Вт ноя 29, 2022 10:42:13
Вт ноя 29, 2022 16:33:56
16:29:34.052 -> shagi Up
16:29:34.052 -> 8
16:29:34.052 -> schet Up
16:29:34.052 -> 0
16:29:34.683 -> shagi Up
16:29:34.683 -> 8
16:29:34.683 -> schet Up
16:29:34.683 -> 1
16:29:35.302 -> shagi Up
16:29:35.302 -> 8
16:29:35.302 -> schet Up
16:29:35.302 -> 2
16:29:35.962 -> shagi Up
16:29:35.962 -> 8
16:29:35.962 -> schet Up
16:29:35.962 -> 3
#include <CustomStepper.h>
#include "GyverButton.h"
#define verh 0
#define niz 4 //Число шагов для положения
#define seredina 2
boolean stop = 0;
long schet = 0; //Счетчик шагов
long shagi = 0;
CustomStepper stepper(32, 33, 25, 26);
GButton butt1(17); // Кнопка
void setup() {
Serial.begin(9600);
stepper.setRPM(12);
stepper.setSPR(2048);
butt1.setTimeout(700);
butt1.setType(LOW_PULL);
butt1.setDirection(NORM_CLOSE); // NORM_OPEN - кнопка нормально-разомкнутая NORM_CLOSE - нормально-замкнутая
butt1.setTickMode(AUTO); //Выставляем опрос кнопок в режим АВТО
}
void loop() {
if (butt1.isSingle()){shagi = niz;} //одно нажатие
if (butt1.isDouble()){shagi = verh;} //два нажатия
if (butt1.isHolded()){shagi = schet; stop = 1;}
if (stepper.isDone() && schet < shagi){
Serial.println("Time1");
stepper.setDirection(CCW);
stepper.rotate(1);
schet++;
}
if (stepper.isDone() && schet > shagi){
Serial.println("Time2");
stepper.setDirection(CW);
stepper.rotate(1);
schet--;
}
if (stepper.isDone() && stop == 1){
Serial.println("Time3");
stepper.setDirection(STOP);
stepper.rotate();
stop = 0;
}
stepper.run();
}