Энкодер изменение значений ряда переменных

Advan
Advan аватар
Offline
Зарегистрирован: 20.09.2018

Здравия желаю есть ряд переменных R1 R2 R3 хочу переключаться между ними по нажатию кнопки энкодера и регулировать величину значений переменных вращением энкодера в определенном диапазоне например от (0 до 20)

#define S1 5 
#define S2 6
#define key 7


int prevS1;
int curS1, curS2;

int val = 0;

//////////////////////////////
int R1 =5;
int R2 =5;
int R3 =5;

////////////////////////////

bool flag=false;

int curKey;
unsigned long whenKeyPress = 0;

void setup() {
  // put your setup code here, to run once:
  
  pinMode (S1, INPUT);
  pinMode (S2, INPUT);
  pinMode (key, INPUT);
  prevS1 = digitalRead(S1); 
  Serial.begin (9600);
}

void loop() {
  // put your main code here, to run repeatedly:

  curS1 = digitalRead(S1);
  
  if (curS1!=prevS1){
    curS2 = digitalRead(S2);
    if (flag){
        if (curS2==curS1){
            val++;
         }
         else {
            val--;
         }
         Serial.print ("Value = ");
         Serial.println (val);
         flag=false;
    }
    else {
      flag=true;
    }

  }
  prevS1=curS1;

  int curKey = digitalRead(key);
  if (curKey == LOW) {
    if (millis() - whenKeyPress > 50) {
      Serial.println("Key down");
    
    }
    
    whenKeyPress = millis();
  }
}

 

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Advan пишет:

хочу переключаться между ними по нажатию кнопки энкодера и регулировать величину значений переменных

Что-то в коде таких «хотелок» не видно.
Если не хочешь/не можешь сделать сам, обратись в раздел «Ищу исполнителя».

nik182
Offline
Зарегистрирован: 04.05.2015

Надо ввести переменную - номер резистора и по нажатию кнопки циклически менять от 0 до 2. В цикле loop или создать switch с тремя case 0,1,2 и в них в зависимости от поворота енкодера менять значение соответствующего резистора или создать массивы резисторов и в зависимости от номера резистора менять значение соответствующего элемента массива или создать класс резистор с соответствующими свойствами и сделать массив. Решений много. выбрать можно любое.

Advan
Advan аватар
Offline
Зарегистрирован: 20.09.2018

Вам бы лишь деньги подавай даже за малую помощь может закрыть все разделы и оставить только за деньги?)

Advan
Advan аватар
Offline
Зарегистрирован: 20.09.2018

Где он супер герой готовый помочь нуждающимся ?))

sadman41
Offline
Зарегистрирован: 19.10.2016

Героев тут нет, одни нуждающиеся остались.

Logik
Offline
Зарегистрирован: 05.08.2014

Та хрена ты ноешь? Поиск в помощь про энкодер. А писать код для твоего периода не интересно просто.

b707
Offline
Зарегистрирован: 26.05.2017

Advan пишет:

Где он супер герой готовый помочь нуждающимся ?))

тебе в сообщении 2 все подробно расписали. А писать за тебя код бесплатно никому, похоже, не интересно.