TM1638 LED&KEY
Добавлено: 04 окт 2019, 09:23
[ref]Labu559[/ref], хотя ваша идея, изменять яркость только тогда когда она отличается от текущей, думаю очень даже правильная. Лишний раз не надо дёргать дисплей.
там просто запоминается текущее значение яркости, которое функция и возвращает.
это должно реализовываться в коде. функция должна выполнить свое дело.
Я тоже не нашёл. Хотя это бы не помешало. Зато узнал, что строка
Код: Выделить всё
currentBrightness = (newBrighness > 8) ? 8 : newBrighness;
Код: Выделить всё
if (newBrighness > 8) {
currentBrightness = 8;
} else {
currentBrightness = newBrighness;
}
называется тернарная условная операция
Код: Выделить всё
void updateDisplay(void)
Код: Выделить всё
void updateDisplay(bool a)
уберите в скобках void
Это "НО" есть следствием заявленой в то далёкое время поддержки в программе типа данных беззнакового 16-битного word (unsigned int, uint16_t), а по факту её отсутствия до сих пор. Всё надеялся, что вот-вот и исправлю, так как принципиально считаю "костылить", тем более со СТАНДАРТНЫМИ типами данных, дурным методом обучения программированию, тем более если FLProg являлась начальным, закладывающим основы, этапом этого обучения (лично у меня). Библиотечная (оригинальная от с. Батисты) функция сканирования кнопок сохраняет результат именно в переменную типа word. А так как всё сказанное до слова "НО" в реальной жизни не имеет никакого значения, то попробуйте этот [spoiler title= Проект/блок на костылях.] [/spoiler] Оговорюсь сразу, не имею желания устанавливать в системе биб-ку Батисты, на которую матерится компилятор, потому делал по-памяти/склерозу и тестирование за Вами. Если Вы не отпишитесь о результатах- эти проект/сообщение будут удалены, как блок не прошедший проверку и недостоверная информация. Извините, но другого способа борьбы с "мусором" на форуме не вижу. "Чисто там, где не сорят, а не где убирают!". Если не трудно, проверьте пожалуйста нет ли ошибки на опубликованой мной в #83 схеме относительно Вашего модуля QYF-TM1638, в плане наличия диодов IN4148 на кнопках. Спасибо! Кстати, Вам удалось победить SC6928B, в этом драйвере очень похожая система команд с ТМ1638 ?kipsa писал(а): 09 май 2021, 06:43 но есть одно НО - не работают кнопки с 9 по 16. Подскажите пожалуйста где и что дописать?
Это странно, потому как Вы же раньше его не добавляли, блок работал иkipsa писал(а): 09 май 2021, 19:37 ... сначала я скачал Ваш блок и при компиляции он мне выдал ошибку ( скрин ниже ). После чего я в заголовок добавил подключение библиотеки вот этой " #include <TM1638.h>" и всё отлично скомпилилось и залилось.
Нет, не нужно ничего "пилить"- всё распилено до насkipsa писал(а): 09 май 2021, 19:37 ...нет ли у Вас времени чуток допилить блок? Было бы идеально, если бы на входах на каждую точку был бы свой булевский вход.
Значит ли это, что диоды спрятаны под индикаторами? Когда нажимаете кнопки отдельные сегменты не гасятся или мерцают? Этого модуля никогда не имел, а фото тыльной стороны только сегодня нашёл в интернете:[spoiler title= Окочательная схема (исправленная) QYF-TM1638 ] [/spoiler] Спасибо за тестирование и отзыв!kipsa писал(а): 09 май 2021, 19:37 По поводу схемы №3 с 16-ю кнопками, у меня вроде всё как на схеме,
Очень хорошо, в том плане, что Вы придя за помощью, сами помогли форуму обнаружив этот аппаратный недостаток платы QYF-TM1638. Это следствие отсутствия диодов, потому как замыкая две/несколько разных кнопок на разных сегментах драйвера ес-но накоротко замыкаются соответствующие аноды (разряды) индикатора. Схему поправил (см.выше) с учётом информации от Вас, вот только S1 и S2 уходят на К1, K2 или K3? Уж, извините за надоедливость, платы у меня нет, и как-бы мне не особо нужно, но информация должна быть достоверной, а без Вас мне схему не поправить никак. В качестве благодарности предоставлю Вам свою биб-ку, если хотите конечно. С библиотекой для именно этой платы от с. Батисты тоже не всё в порядке (с точки зрения компилятора), а другие биб-ки на гитхабе есть по сути репликацией первой. Спасибо!kipsa писал(а): 10 май 2021, 19:45 у меня плата как на фото выше. Никаких диодов, нигде нет... с 5-й ноги ( по даташиту это SEG1) и у меня идет напрямую на кнопку S1 затем на S2 и дальше куда-то уходит.
...если нажать 2 кнопки ( любых ) то зажигаются некоторые сегменты...
ничё ничё, вы ж мне помогли, и не только мне. Я думаю если мы не будем помогать друг другу если есть возможность, то и смысла в форумах нет.
у меня вообще схема кнопок другая. Щас мультиков вызвонил ( фото ниже)
вы и так мне очень помогли - ваш блок отлично подходит для моих потребностей