Друзья помогите, изломал уже всю голову:
суть вот в чем. Дисплей, Энкодер, Кнопка(переключения режимов А - Р) все отрабатывает норм. Включаю все это дело, система думает что стоит стопка на контакте А0 (горит красным) нажимаем в ручном режиме наливать, загорается желтый светодиод далее по истечении времени в зависимости от того сколько грамм выставлено загорается зеленый светодиод, на концевики не как не реагирует, отпаивал проводки концевиков от ардуинки и все равно думает что стоит стопка на А0. Отпаял от Ардуинки все кроме кнопки (переключения режимов А - Р) Контакт D7 и провода D6 - который идет на DIN на светодиод. и вся эта хрень один фиг думает что стопка на А0 стоит
(Ардуино Леонардо)
что за фигня, помогите люди добрые.
// зажигаем светодиоды от кнопок
for (byte i = 0; i < NUM_SHOTS; i++)
{
DEBUG(i); // смотрим число которое в переменной i
if (!digitalRead(SW_pins[i]))
{
strip.setLED(i, mCOLOR(GREEN));
DEBUG(SW_pins[i]); //выводим пин с числом которое хранится в переменной I
}
else
{
strip.setLED(i, mCOLOR(BLACK));
}
strip.show();
}
}
и получаем вот такой результат
0
1
2
3
18 ---- откуда это число взялось ?
// наливайка, опрос кнопок
void flowTick() {
if (FLOWdebounce.isReady()) {
for (byte i = 0; i < NUM_SHOTS; i++) {
if (!digitalRead(SW_pins[i]) && shotStates[i] == NO_GLASS) { // поставили пустую рюмку
timeoutReset(); // сброс таймаута
shotStates[i] = EMPTY; // флаг на заправку
strip.setLED(i, mCOLOR(RED)); // подсветили
LEDchanged = true;
DEBUG("set glass");
DEBUG(i);
DEBUG(SW_pins[i]); // добавил вывод дебага
}
получаем результат:
set glass
0
18 - откуда это число взялось ?
timeout