PHP код:
#include <Encoder.h>
#define PIN_ENCODER_CLK 8
#define PIN_ENCODER_DT 9
#define PIN_ENCODER_SW 10
Encoder myEnc(PIN_ENCODER_DT, PIN_ENCODER_CLK);
int motorPin = 11;
int motorSpeed = 75; // Изначальная скорость двигателя
int accel = 1;
int i = 0;
long oldPosition = 0;
void setup() {
Serial.begin(9600);
pinMode(motorPin, OUTPUT);
}
void loop(){
analogWrite(motorPin, motorSpeed); // Устанавливаем первоначальную скорость
//=== ручка энкодера/регулироака
long newPosition = myEnc.read() / accel;
if (newPosition > oldPosition)
{
analogWrite(motorPin, newPosition);
motorSpeed += 5; // Прибавляем скорость
Serial.println(">>>");
if ( motorSpeed > 255 )
motorSpeed = 255;
}
else
if (newPosition < oldPosition)
{
analogWrite(motorPin, newPosition);
motorSpeed -= 5; // Убавляем скорость
Serial.println("<<<");
if ( motorSpeed < 75 )
motorSpeed = 75;
}
if ( newPosition != oldPosition)
{
i = (i + 1)%16;
oldPosition = newPosition;
analogWrite( motorPin, motorSpeed );
}
}