Замена delay не в loop, поиском пользовался, мне не помогло(

gosha2393
Offline
Зарегистрирован: 08.12.2014

Доброго времени суток. Помогите, пожалуйста решить проблему: как обойтись без delay. форумы перечитал, много чего пробовал но мне почему то это не помогало и программа начинала работать совсем плохо. Сама железяка представляет собой энкодер подключённый к ардуино и с ардуино выходит два транзистора имитирующие нажатие кнопки vol+ и vol- на магнитоле. Железка рабочая полностью. С delay работает когда энкодер вращаешь не слишком быстро. Как только скорость вращения увеличиваешь всё ложиться крахом.... 

Вот мой код:

#include <Encoder.h>                 // библиотека энкодера
int b;

Encoder myEnc(2, 3);                 // пины куда подключен энкодер

void setup() {
   pinMode(14, OUTPUT);              // назначаем 14 пин выходом
   pinMode(15, OUTPUT);              // назначаем 15 пин выходом
}

long oldPosition  = -999;            // переменная для нормальной работы энкодера

void loop() {
  long newPosition = myEnc.read();   // считываем значения с энкодера
    if (newPosition != oldPosition)  // этот участок кода тоже нужен для нормальной работы энкодера
   {                                       
    oldPosition = newPosition;       // этот участок кода тоже нужен для нормальной работы энкодера
   }                                        
 if(newPosition > b)                 // если крутили в большую сторону то выполняем функцию vol_plus
 {
  vol_plus();
  b=newPosition;
 }
 if(newPosition < b)                 // если крутили в большую сторону то выполняем функцию vol_minus
 {
  vol_minus();
  b=newPosition;
 }
}

void vol_minus() {
  digitalWrite(15,HIGH);
  delay(60);
  digitalWrite(15,LOW);
  delay(60);  
}
void vol_plus() {
  digitalWrite(14,HIGH);
  delay(60);
  digitalWrite(14,LOW);
  delay(60);  
}

Заранее очень благодарен за помощь)

okta
Offline
Зарегистрирован: 10.01.2015

регистрация 2014 год, и опять как обойтись без делэй - это ппц... извините, не сдержался, обычно я более чем толерантен.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

okta пишет:

регистрация 2014 год, и опять как обойтись без делэй - это ппц... извините, не сдержался, обычно я более чем толерантен.

на войне человек был.Зарегистрировался и пошел в Армию. Вернулся и занялся Ардуиной.