Помогите новичку написать код к проекту индикаторной панели

XoXoL007
Offline
Зарегистрирован: 09.01.2015

Добрый день уважаемые формумчане. Мне крайне срочно требуется помощь в важном для меня задании, индикация.

Точнее о задаче, планируется засветка цифр 3-х значных на 4-х панелях, всё должно работать через SPI как я понимаю и используется динамическая индикация, так как панель 3-х разрядные, так вот, к мк 4 панели будут подключены через всем известные сдвиговые регистры, по 2 регистра на 1 панель, я думаю догадались зачем) Вооот... Теперь мне нужен код который через ком порт будет получать цифру и засвечевать на конкретном индикаторе, а ещё внедрить в код строчку, суть которой заключается в том, чтобы получить следующую цифру для индикатора (т.е. каждому своя кнопочка), повторяюсь связь должна быть через RS-232, желательно с ответами, даже не желательно, а требуется, чтобы в терминале отображалось происходящее типа:

 

 

Terminal:

P1 - 232

P2 - 246

P1 - 233

 

 

ну короче говоря, приходил отчёт о том какая цифра где включена и когда получена следующая. Суть ясна или описать боооооолее подробнее? Уважаемые мне нужна ваша помощь в кратчайшие сроки.

 
Вот картинк плана действий:
1. Общий обзор
2. Работа с терминалом через Rx и Tx мк,  так называемый com
 
 
 
Действительно, может я был не тактичен указав RSR-232 в виде целевого, планируется использовать usb-uart переходник, точно такой же как в адруино уно, (собственно на ней всё и разрабатывается), но желательно мк со скетчем использовать отдельно от платы, но это уже другая история.
В общем нужен скетч, лучше всего написанный на чем то типа С++, чтобы код можно было компилировать под любой мк, код должен общаться с пк.
Вы спросили зачем 4 панели, если цифр 3, а для того чтобы на каждой панели были свои цифры, наверное будет понятно если я скажу проект "электронной очереди".
Об общении с пк, когда через терминал отправлена цифра на панель, мк должен дать ответ, что цифра засвечена, и когда получит новую, объявить что засвеченна новая, т.е. контролировать из терминала что сейчас твориться с панелями, не бегая и проверяя, что где и как горит.
я думаю сделать диапозон цифр для панелей т.е. :
1 -0-200
2 - 201-400
3- 401-600
4- 601-800
 
что то типа такого диапозона, чтобы не путались панели, хотя говоря о использовании SPI, этого вроде делать не обязательно, потому что если я правильно понял при использовании этого протокола, каждому регистру должен будет присвоен свой уникальный номер (имя, название, кому как угодно) и путаницы так и так возникать не будет, если мы скажем мк на какой из панелей хотим увидить нашу цифру.
 
Если у Вас есть желание помочь мне с написанием кода, как насчёт Вк? чтобы быстрее общаться, тут и дураку ясно что если бы я шарил в программировании, вопросов бы не возникло, строк хоть и много придётся написать, но задача не самая трудная как я понимаю.
 
Забыл упамянуть о кнопках, 4 кнопки к 4м панелям, как только кнопка нажимается панель должна получить следующую цифру, проще говоря время горения цифр на одной панели будет задаваться не таймером, а кнопкой "щёлк - следующий", вот зачем она нужна. Надеюсь на Вашу помощь.
 
У меня есть скетч, который непрерывно по SPI просто засвечивает цифры, найденный в интернете.
 

 

 
 
Тема была, начата, не в правильном отделе форума.
toc
Offline
Зарегистрирован: 09.02.2013

а принтер билетиков с номером очереди будет?

XoXoL007
Offline
Зарегистрирован: 09.01.2015

да, он разбработан, другой командой, для меня задача, засветка цифр

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Настоятельно рекомендую выбрать другую схему так как у вас получается много панелей.

Принцип предлагаемой схемы - на каждую цифру имеется свой регистр, на каждой панели имеется вход и выход - все регитры соединяются последовательно. Микроконтроллер отправляет пакет данных в регистры содержащий все цифры по порядку и дергает пином записи состояния. Никаких морганий, цифры останутся гореть даже если микроконтроллер временно отключится или сбросится. Пока есть питание на регистрах - все будет работать. И код получается довольно простой по сравнинию с динамической индикацией.

Писал код для одной такой панели с 4 цифрами(2 регистра по 16 бит или 4 по 8 бит). http://vk.com/video55003711_170468926 - как видите не мерцает, а с динамической будет мерцать.

Могу скинуть данный код или написать весь скетч для предлогаемой схемы - будет принимать строчку из цифр(4*3 цифры) по RS-232 и выводить на индикаторы. Могу подобрать компоненты и расчитать всю схему, выполнить разводку.