Страница 1 из 1

Включение светодиодов по их номеру, вводимому с клавиатуры

Добавлено: Ср ноя 07, 2012 21:26:14
kirix
Здравия всем..!
Имеется 164 светодиода.
Необходимо при наборе на клавиатуре цифры, зажечь светодиод под набранным номером.
Интересуют любые предложения.
Спасибо :)

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Ср ноя 07, 2012 21:38:21
Engineer_Keen
Что за клавиатура? От ПК или просто цифровая с кнопками 0-9?

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Чт ноя 08, 2012 15:51:30
kirix
кнопки 0-9

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Чт ноя 08, 2012 16:13:52
SERJ
Курсовой что ли?
Задача элементарная и реализуется на любой элементной базе начиная от рассыпухи и заканчивая применением МК.
Хотя бы написали какая должна быть элементная база.
Если на жесткой логике, то здесь на форуме даже тема похожая была несколько лет назад. Там тоже курсовой делали.

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Чт ноя 08, 2012 17:49:48
kirix
Нет, не курсовая. Есть плакат, на котором светодиодами обозначены различные части танка(всего 164 части). Плакат на военной кафедре.
Относительно элементарной базы - на чем дешевле.

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Чт ноя 08, 2012 18:28:30
petrenko
При нажатии одной цифры получится не более, чем одноразрядное число, а Ваше число "164"- трёхразрядное.
Если будете делать на ИМС малой интеграции, то сами они обойдутся в 0.5р. ~ 2р. за корпус, а труд по пайке там за _пайку_ доп.паёк видимо.. Пардон, за довольствие, но не денежное.. :)))
Поскольку кнопок 10, то напрашивается любая ТТЛ ИМС xxxИВ3 , далее три регистра, причём {выходы младшего}=>{входы среднего} ,а {выходы среднего}=>{входы старшего} . Когда три нажатия будут произведены, в регистрах будут три BinaryCodedDecimal числа, их на кучу( маленькая кучка, а в кучке три штучки :))) ) дешифраторов типа BCD4->10позиц. и через токоограничивающие резисторы на те самые светодиоды.
Кнопки желательно переключательного типа, чтоб проще такты защёлкивания в регистры сделать - как именно - это рисовать надо, поэтому уж извините, может сами справитесь.. :dont_know:

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Чт ноя 08, 2012 18:36:52
B@R5uk
petrenko писал(а):...в регистрах будут три BinaryCodedDecimal числа, их на кучу дешифраторов типа xxxИД6 и через токоограничивающие резисторы на те самые светодиоды...
Хотите сказать, что от дешифраторов должно идти 164 линии? :o По условию необходимо зажечь только один светодиод, следовательно же, их необходимо организовать в матрицу, к примеру, 12 х 14 или 16 х 10 для уменьшения количества линий (26 против 165).

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Чт ноя 08, 2012 19:06:14
Engineer_Keen
Матрицы можно сделать две 10х10 (одна не полная), дешифраторов всего 3 (один 74hc2048 с прямыми выходами, 2 74hc42 с инверсными), один задает строку, два других один из столбцов. Переключение между столбцами - простенькая логика подающая на один из дешифраторов число "15" в зависимости от сотен (0хх или 1хх).
В остальном согласен - двоичный шифратор 10 в 4->три регистра->дешифраторы. Кнопки через диоды объединить на тактовые входы регистров, ну и антидребезг не забыть.
Если взять МК с 5-ю портами, можно обойтись без дополнительной логики. Можно взять с 3 портами, и использовать чарлиплексинг, но соединять светодиоды - умрете. Можно обойтись 2мя портами (tiny2313 к примеру), но тогда остаются дешифраторы.

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Чт ноя 08, 2012 19:08:23
kotpalych
Что-то похожее http://radio-hobby.org/modules/news/art ... toryid=531 , но управление с компьютера.

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Чт ноя 08, 2012 20:46:32
petrenko
Engineer_Keen писал(а):Матрицы можно сделать две 10х10 (одна не полная), дешифраторов всего 3 (один 74hc2048 с прямыми выходами, 2 74hc42 с инверсными), один задает строку, два других один из столбцов. Переключение между столбцами - простенькая логика подающая на один из дешифраторов число "15" в зависимости от сотен (0хх или 1хх).
В остальном согласен - двоичный шифратор 10 в 4->три регистра->дешифраторы. Кнопки через диоды объединить на тактовые входы регистров, ну и антидребезг не забыть.
.
Да !
Именно, Вы верно понимаете ! Надеюсь T.S. тоже поймёт, как именно это делать, просто рисовать, да вставлять сюда с моего недобука зело утомительно, но схема действительно довольно проста.
До 200 светодиодиков таким образом легко и непринуждённо можно иметь в матрице.
А микроконтроллер (IMHO) в механоинфантерии - это уже излишество. :solder:

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Пт ноя 09, 2012 19:55:09
kirix
двоичный шифратор 10 в 4->три регистра->дешифраторы
Можно тут подробней..?
Какие регистры можно взять?

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Вс ноя 11, 2012 00:12:42
kirix
10 кнопок => шифратор 10в4 => 3 регистра => 3 дешифратора на индикаторы => 3 дешифратора на две матрицы 10x10
Набросал схему и возникло несколько вопросов.
1. Как соединить кнопки и входы тактовых импульсов регистров? (Тут писали про замыкание всех кнопок на диоды - как это можно реализовать)
2. У меня на схеме вводимые цифры бесконечно сдвигаются на один разряд влево.
Как остановить набор после ввода 3 цифр или(и)
Как лучше реализовать сброс? (думаю, можно при нажатии на 4ую цифру(при уже занятых всех трех разрядах) - Как лучше это сделать? Поставить счетчик импульсов?)
3. Как можно сделать переключение между матрицами при вводе трехзначного числа?
Как вообще в общем подключать матрицы Через дешифраторы к регистрам?
Например: при включении схемы во все регистры записываются 0(может быть так делать нельзя??? Как нужно?). Соответственно на всех выходах регистров 0000. Что соответствует логической 1е на 0ом выходе дешифратора. Т.е. светодиод на пересечении выходов дешифраторов уже горит. Можно 0ой выход перекинуть на нижнюю строку, но как поправить сдвиг всей нижней строки из-за светодиода под номером 0?

зы. прошу прощения за, возможно, криво сформулированные вопросы :sleep:

Схема
Не дождался я загрузки ее сюда почему-то...

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Вс ноя 11, 2012 03:04:47
petrenko
1.) Чтоб Вам было не слишком затруднительно, я и советовал Вам кнопки переключательного типа
|..|
../=]
.|
2.) Чтоб сдвигались правильно, надо тактировать не от генератора , а выдавать такт защёлкивания регистров только при нажатии любой кнопки ! ( ну только антидребезг не забудьте - Вам это уже говорили впрочем )
Сброс вообще не нужен ! Когда нажмёте ещё три раза кнопки в регистрах будут новые три BCD ! Если Вам надо, чтоб питание было подключено, а ни один из светодиодов не светился - введите допустим "1","6"и"5"- и всё ! Если введёте "9","8","5"- не страшно - будет тот же эффект.
3.) Господи, ну для тех, кто в танке :
.......|______________|--|_______________|<дешифраторы десятков 0~20
_.......| | | | | | | | | |....| | | | | | | | | |
.0|o--++++++++++-------+++++++ 17,18, 19 и 20-ую десятковые линии не подключают
.1|o--++++++++++-------+++++++
.2|o--++++++++++-------+++++++
.3|o--++++++++++-------+++++++
.4|o--++++++++++-------++++++
.5|o--++++++++++-------++++++
.6|o--++++++++++-------++++++
.7|o--++++++++++-------++++++
.8|o--++++++++++-------++++++
.9|o--++++++++++-------++++++
__|
^_дешифратор едениц
(дешифратора сотен нет ! Просто 0 или 1 с регистра сотен выбирают один из дешифраторов десятков. )
И ничего лишнего наворачивать не надо. а то такого наворотите, что десять профессоров не разберут..
Регистры (Но не сдвиговые, а параллельные - не перепутайте ! ) :
единиц..............десятков...............сотен
......___..^^^^......___..^^^^......___..^^^^
-->|....|-|-|-|-*->|....|-|-|-|-*->|....|-|-|-|-*->
-->|....|-|-|-*--->|....|-|-|-*--->|....|-|-|-*--->
-->|....|-|-*----->|....|-|-*----->|....|-|-*----->
-->|....|-*------->|....|-*------->|....|-*------->
....|___|..............|___|..............|___|
"Как подключать кнопки ?" :facepalm:
Вам было лениво посмотреть в справочнике типовое подключение их к к1533ив3 например ?
P.S. А Вы случайно не из СевероАмериканских Соединённых Штатов ? :))) (шутка юмора, здесь надо смеяться ) Если нет, то с Вас коньяк, а если оттуда, то половину гонорара (ещё шутка, но только для своих..) :beer:

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Вс ноя 11, 2012 17:41:39
kirix
Ахах..неет, что вы :) я из родного восточного полушария Земли. :))
Правда, я по-прежнему в танке :))

Сброс вообще не нужен ! Когда нажмёте ещё три раза кнопки в регистрах будут новые три BCD !
А если понадобится после 101 включить 10 светодиод? Получается числа нужно набирать с ведущими нулями, если в них не три разряда? :( Не по-людски это, да и там же военные)) как им это объяснить))
Если Вам надо, чтоб питание было подключено, а ни один из светодиодов не светился - введите допустим "1","6"и"5"- и всё ! Если введёте "9","8","5"- не страшно - будет тот же эффект.
Это ведь не удобно... :(
(дешифратора сотен нет ! Просто 0 или 1 с регистра сотен выбирают один из дешифраторов десятков. )
Собственно на этом я и в танке - не пойму как сделать. Объясните, пожалуйста, хотя бы словами :)

И еще, в общем-то наверное, не особо важно, но хотелось бы чтобы первым светодиодом в матрице была единица? Хочу чоб там нуля не было, как на скриншоте sssw.png внизу :))
В файле tbl.PNG нумерация светодиодов в матрице - как хотелось бы :)

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Вт ноя 13, 2012 06:18:57
petrenko
kirix писал(а):"Сброс вообще не нужен ! Когда нажмёте ещё три раза кнопки в регистрах будут новые три BCD" А если понадобится после 101 включить 10 светодиод? Получается числа нужно набирать с ведущими нулями*, если в них не три разряда? :( Не по-людски это, да и там же военные)) как им это объяснить**, ))!
"Если Вам надо, чтоб питание было подключено, а ни один из светодиодов не светился - введите допустим "1","6"и"5"- и всё ! Если введёте "9","8","5"- не страшно - будет тот же эффект."
Это ведь не удобно...*** :(
*_ Да, с ведущими нулями, то есть башня допустим "001", а трак гусеницы "010".
**_А в первый подъезд дома большой этажности и где много квартир на этаже,( то есть если в том первом подъезде могут быть номера от 0 до 101 например ) эти самые военные как номер на домофоне набирают ? Разве не "009", "090" ? Или они терпеливо по стойке "смирно" стоят у подъезда аки в карауле и первого попавшегося человека просят :"Здравия желаю. Помогите, пожалуйста, правильно набрать номер на домофоне." :) (шутка). Бывают конечно домофоны, где можно нажать только две или только одну кнопку с цифрой, но тогда там обязательно нажимают кнопку "Ввод"(ну называться только может "*" или "К") , но это потребует некоторого усложнения схемы.
***_Наши танки по сравнению с английскими тоже менее удобны, но вот зато проще и надёжнее, да и ТТХ у них до сих пор( несмотря на кучу проблем страны )лучше.
kirix писал(а):"(дешифратора сотен нет ! Просто 0 или 1 с регистра сотен выбирают один из дешифраторов десятков. )"
Собственно на этом я и в танке - не пойму как сделать. Объясните, пожалуйста, хотя бы словами :)
Ну это просто . Но схему Вы нарисовали криво и неправильно. Зачем регистры один под другим располагать, Вы же сами так запутаетесь. Я Вам уже "нарисовал" псевдографикой в сообщении - так и рисуйте.

единиц..............десятков...............сотен
......___..^^^^......___..^^^^......___..^^^^
-->|....|-|-|-|-*->|....|-|-|-|-*->|....|-|-|-|-*->*-->
-->|....|-|-|-*--->|....|-|-|-*--->|....|-|-|-*--->
-->|....|-|-*----->|....|-|-*----->|....|-|-*----->
-->|....|-*------->|....|-*------->|....|-*-----*->На "запрет" вывода десятков{00~90}-->
....|___|..............|___|..............|___|_______|
____________NOT-->На "запрет" вывода десятков{100~190}-->

Раз дешифраторы 555ид6 Вы выбрали, то буфера/инверторы другие нужны, с "запретом" выхода, и ставить их на десятки 00-90 и 100-190 , а не на единицы, как Вы поставили
kirix писал(а):И еще, в общем-то наверное, не особо важно, но хотелось бы чтобы первым светодиодом в матрице была единица? Хочу чоб там нуля не было, как на скриншоте sssw.png внизу :))
В файле tbl.PNG нумерация светодиодов в матрице - как хотелось бы :)
Посмотрел две таблицы. Таблица "Как есть"- правильная ! только светодиод нумер"000" не впаивают ! только и всего. А вот таблицу "Как должно быть" надо переименовать в "как быть не должно ни в коем случае" - ну подумайте - набираем "000"- горит "1", набираем "149"- горит "150"- безобразие какое.
Лирическое отступление : Изобрели как то тысяч... этак .. (много в общем) лет тому назад индусы "ноль", а у нас и доныне не все понимают. что это такое. В торговых "окраинах" иногда с парковки=этаж"-1" лифт едет сразу на этаж"+1", этаж "0" почему то в других странах в лифте присутствует (не только в США, но и во многих вполне восточных и даже в Африке(, где лифты есть) )

Да, вот ещё : Если невтерпёж сделать "сброс"- у 555ир15 ( раз вы их выбрали ) есть "clear"-вывод 15

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Вс ноя 18, 2012 17:53:13
petrenko
Ну как там поживает "TopickStarter" и его механоинфантерия ?
Доложите нам о выполнении "боевой" задачи ! :roll:
Интересно же..

Re: Включение светодиодов по их номеру, вводимому с клавиату

Добавлено: Вс фев 11, 2018 12:29:50
kirix
Топик стартер поживает хорошо, а вот моя поделка осталась недоделанной :(

Военная кафедра в то время закончилась, а доделывать было лениво и не получалось. Потом я уехал из славных казахских степей на город на Неве и вообще забыл про мои начинания в электронике.

Но тем не менее, была вытравлена и распаяна плата с контроллером, клавиатура хэнд-мэйд.
Написана прошивка, которая и не заработала. Насколько помню, там было две пары восьмибитных регистров, в которые я никак не мог задвинуть нужные последовательности по 16 бит. Хотя в симуляции в Proteus работало все отлично.

В общем, в гараже где-то все это валяется и врядли когда-то доделается, вот :)

Спасибо всем за помощь!