Здравствуйте, уважаемые! Для пром прибора ищу не дорогие и примитивные варианты вывода цифровой информации. Приглянулась мне статья на вики про 7 сегментные индикаторы Не могу понять, а как с помощью драйверов выводить числа с точкой? Например у меня 4 индикатора. 4 драйвера Я хочу вывести значение переменной на индикаторы, которые выглядит скажем 51.12 Не совсем понимаю, как в таком случае будет выглядеть функция вывода. Подкиньте мысль ...
Пришла мысль ... Использовать целые числа, т.е. вместо 51.12 использовать 5112 Но может есть более резумные варианты ...
счетчиками/декодерами обслуживают сегменты a-g, сегмент h, он-же dp (точка) обслуживается отдельно. Просто запитайте точку и будет она всегда светиться. Второй вариант - точку рисуют на приборной панели в нужном месте
А как оперировать с самим числом? Сдвинуть запятую чтобы ее не было? Т.е. вместо 21.12 я буду использовать 2112 ?
Проблемы подключить точку нет. Т.е. если у меня 4 индикатора и 4 драйвера, то для вывода числа 1111 я в цикле считаю это число, и драйверы со сдвигом отображают его. Понял. Пожалуй по коду достаточно компактно получится ...
Ребят! Подскажите чем можно заменить данные индикаторы, на что опираться при выборе Нашел новые на сайте https://dartelektronik.eu/LTS4002KR-15623i, но хрен пойми как их от туда заказать, и ценник наверное будет за доставку, хотелось бы найти местные аналоги
1. Понять они с общим анодом или катодом 2. Вызвонить распиновку 3. Замерить размеры 4. Вспомнить какой был цвет Тогда можно искать аналоги
маркировка же видна - вас в гугле забанили? https://www.jameco.com/Jameco/Products/ProdDS/2045683.pdf
Я для индикаторов использую регистр 74hc595 С регистром удобно - можно подцепить их "паравозиком" и подрубать любое количество сегментов Важно перед подключением еще раз проверить правильность выводов согласно даташиту (есть много разных версий этого регистра и там выводы поменяны местами). ну и еще сами индикаторы бывают разные - с общим катодом или общим анодом. В случае с регистром 74hc595 нужен индикатор с общим катодом. Кстати на этом же форуме я когда-то нашел очень хороший пост с скетчем, при правильном подходе он очень сильно облегчит работу с индикаторами, я в нём добавил заполнения ячеек регистра чтобы показывались цифры на 7 сегментом индикаторе: Код (C++): const byte latchPin = 3; const byte clockPin = 4; const byte dataPin = 2; byte number[] = { 0b00000000, // Выключено 0b00000001, // точка 0b01111110, // 0 0b00010010, // 1 0b10111100, // 2 0b10110110, // 3 0b11010010, // 4 0b11100110, // 5 0b11101110, // 6 0b00110010, // 7 0b11111110, // 8 0b11110110 // 9 }; void setup() { pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); } void loop() { digitalWrite (latchPin, LOW); shiftOut(dataPin, clockPin, MSBFIRST, number[11]); // здесь пишем номер байта которому соответствует цифра на индикаторе digitalWrite (latchPin, HIGH); }
Точка включается и выключается одной логической операцией над байтом с закодированной цифрой. Если она есть на индикаторе, конечно.
МАХ 7219 / 7221 - до 8 8ми разрядных индикаторов ТМ1640 - 16 8ми разрядных или 8 16ти разрядных индикатора... проще некуда... и также можно лепить цепочкой .... обе по СПИ протоколу есть готовые библиотеки для них - проще вообще некуда... ну и как сказали - надо точк - добавьте в байт её |= B00000001