#include "GyverPWM.h"
int32_t count = 0;
bool flag = false;
bool k = 0;
bool kl =1 ;
uint32_t tmr=0;
boolean LEDflag = false;
uint32_t myTimer; // переменная времени
void setup() {
Serial.begin(9600);
pinMode(9, OUTPUT);
pinMode(8, INPUT);
delay(500);
//motor(100000, 10000);
}
void loop() {
if (Serial.available()>0) {
char data[30];
int amount = Serial.readBytesUntil(';',data,30);
data[amount]=NULL;
float val = atof(data);
Serial.println(val);
motor (100000, val);}
k = digitalRead(8);
if (k==kl) {count++; kl=!kl; // Serial.println(count);
}
if (count == 100000) {Serial.print("шаги ="); Serial.print(count); Serial.print(" мс: "); Serial.print(tmr); Serial.println("");}
if (millis() - myTimer >= 1) {
myTimer = millis(); // сбросить таймер
tmr ++; // вкл/выкл
// Serial.println(count);
}
}
void motor (int32_t step, float speed) { // количество шагов, количество шагов в сек
PWM_square_D9(speed);
count = 0;
tmr=0;}