Страница 1 из 1
работа с семисегментным дисплеем на 2 цифры
Добавлено: Пт авг 31, 2012 17:37:05
Andrey04784
Привет!
есть у меня 7 сегментный дисплей на 2 цифры. с общим анодом. всего 10 ножек. подключаю его к ардуине через tlc5940nt...
как с ним (дисплеем этим) работают вообще? т.е. как показать 2 цифры? нужно последовательно, быстро включать и выключать аноды? делаю так, но что-то видно моргание...

Re: работа с семисегментным дисплеем на 2 цифры
Добавлено: Пт авг 31, 2012 17:43:56
pyzhman
Быстрее переключайте. Вообще говоря, частота переключения должна быть не менее 50 Гц. В вашем случае на каждую цифру по 10 мсек.
Re: работа с семисегментным дисплеем на 2 цифры
Добавлено: Пт авг 31, 2012 18:25:53
Andrey04784
void loop()
{
digitalWrite(firstDig, LOW); digitalWrite(secondDig, LOW);
TlcMux_clear();
if(currentDig == 1) digitalWrite(firstDig, HIGH); else digitalWrite(secondDig, HIGH); delay (1);
TlcMux_set(0, 1, 4095);
TlcMux_set(0, 3, 4095);
TlcMux_set(0, 4, 4095);
if(currentDig == 1) TlcMux_set(0, 5, 4095);
TlcMux_set(0, 6, 4095);
TlcMux_set(0, 7, 4095);
TlcMux_set(0, 8, 4095);
delay(4);
currentDig += 1; if(currentDig > 2) currentDig = 1;
}
моргало пока delay(1); не вставил
Re: работа с семисегментным дисплеем на 2 цифры
Добавлено: Пт авг 31, 2012 18:28:13
vovik15
какой то код у вас мутный,непонятно ничего. приведите вессь исходник
Re: работа с семисегментным дисплеем на 2 цифры
Добавлено: Пт авг 31, 2012 19:31:04
Reloader
Описалово сей микрухи :
http://www.odduino.com/blog/primery_s_tlc5940nt/2011-07-25-2А можно вопрос, цель использования сего монстра?
Если для экономии ног - можно было обойтись и простым регистром сдвига 74HC595.
Или все же планируется использование ШИМ в tlc5940nt ?
Или по причине "оно у меня валяется - надо бы пристроить"?
Re: работа с семисегментным дисплеем на 2 цифры
Добавлено: Пт авг 31, 2012 20:09:42
Andrey04784
vovik15 писал(а):приведите вессь исходник
ну это практически весь исходник и есть. просто там еще библиотечка используется для использования tlc5940nt.
digitalWrite(firstDig, LOW); digitalWrite(secondDig, LOW); // аноды дисплея сбрасываются в ноль
TlcMux_clear(); коммутация всех выходов tlc5940nt сбрасывается.
if(currentDig == 1) digitalWrite(firstDig, HIGH); else digitalWrite(secondDig, HIGH); delay (1); подключение нужного анода - первая или вторая цифра дисплея
TlcMux_set(0, 1, 4095);
TlcMux_set(0, 3, 4095);
TlcMux_set(0, 4, 4095);
if(currentDig == 1) TlcMux_set(0, 5, 4095);
TlcMux_set(0, 6, 4095);
TlcMux_set(0, 7, 4095);
TlcMux_set(0, 8, 4095);
тут подключаются выходы tlc5940nt. если включен первый анод - будет цифра 8, если второй - 6.
потом задержка 4мс и смена цифры - попеременно чтоб одна и вторая включалась.
шим использовать не планируется, зачем он в дисплейчике этом?

разве что яркость менять, но это уж баловство.
Вы правы - просто валяется, нужно пристроить

74HC595 тоже валяется, но там дисплей нужен с общим катодом ведь, а вот он у меня не валяется

Re: работа с семисегментным дисплеем на 2 цифры
Добавлено: Пт авг 31, 2012 21:20:30
Reloader
Andrey04784 писал(а):но там дисплей нужен с общим катодом ведь(
Совсем не обязательно! Просто вместо 0 ставим 1 и наоборот - вот и будет с общим катодом. Для Arduino есть библиотека для работы с 74HC595 : "SPI.h". Просто ещё раз перечитайте про регистры :
http://avrproject.ru/publ/kak_podkljuchit/bascom_avr_74hc595/2-1-0-44