Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 26.01.2015, 14:45  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Считывание с семисегментного индикатора

Сообщение от Boba_spb Посмотреть сообщение
Да вряд ли тяжелая - на каждый сегмент по три площадки, а далее просто мажоритарно определять включен сегмент или нет.
Во-во. Правда, как уже сказали, в обоих случаях придется выдумывать алгоритм обработки динамической индикации: в веб-камере можно суммировать изображения, а потом обрабатывать. Но это не спасет от фиксации момента переключения (скажем, сменилась единичка на шестерку, а вебка покажет восьмерку) → при смене цифры надо первое же значение не использовать, а проверять по следующему.
Аналогичная проблема при мониторинге выходов микроконтроллером: да, при помощи логической "ИЛИ" устанавливаем флаги. Здесь аналогично: как только получаем 2-3 последовательно совпадающих числа, выплевываем это число как новое.

Думаю, по трудозатратам второе проще, но первое интересней.
Реклама:
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 26.01.2015, 15:01  
elon
Почётный гражданин KAZUS.RU
 
Аватар для elon
 
Регистрация: 29.12.2004
Адрес: Bернулся в San Jose,CA,USA,Beach BLVD,свой дом,окна на океан-ничего личного,просто бизнес!
Сообщений: 1,098
Сказал спасибо: 22
Сказали Спасибо 423 раз(а) в 316 сообщении(ях)
elon на пути к лучшему
По умолчанию Re: Считывание с семисегментного индикатора

Сообщение от eddy Посмотреть сообщение
Во-во. Правда, как уже сказали, в обоих случаях придется выдумывать алгоритм обработки динамической индикации: в веб-камере можно суммировать изображения, а потом обрабатывать. Но это не спасет от фиксации момента переключения (скажем, сменилась единичка на шестерку, а вебка покажет восьмерку) → при смене цифры надо первое же значение не использовать, а проверять по следующему.
Аналогичная проблема при мониторинге выходов микроконтроллером: да, при помощи логической "ИЛИ" устанавливаем флаги. Здесь аналогично: как только получаем 2-3 последовательно совпадающих числа, выплевываем это число как новое.

Думаю, по трудозатратам второе проще, но первое интересней.
вопрос лишь в том зачем здесь мажоритарность ) включение ключа анода или катода индикатора однозначно дает вам код цифры изображаемой на индикаторе , просто читаете и все .
__________________
"Дворяне и их младые отроки должны всегда меж собою говорить на ВЫ и на иностранных языках, дабы тем навыкнуть могли, и чтобы их можно было от других незнающих болванов распознать."
Уложение о поведении (с) царь Пётр I
elon вне форума  
Непрочитано 26.01.2015, 17:45  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Считывание с семисегментного индикатора

Сообщение от elon Посмотреть сообщение
вопрос лишь в том зачем здесь мажоритарность ) включение ключа анода или катода индикатора однозначно дает вам код цифры изображаемой на индикаторе , просто читаете и все .
Лишь в том случае, если цифра выводится разом. Потому как может быть динамическая индикация и по сегментам. Хотя, конечно, это значительно реже бывает, чем поцифровая динамическая. В общем, надо плясать от конкретного устройства: проснифить логическим анализатором цикл-другой и посмотреть, как реально это работает.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 26.01.2015, 17:55  
elon
Почётный гражданин KAZUS.RU
 
Аватар для elon
 
Регистрация: 29.12.2004
Адрес: Bернулся в San Jose,CA,USA,Beach BLVD,свой дом,окна на океан-ничего личного,просто бизнес!
Сообщений: 1,098
Сказал спасибо: 22
Сказали Спасибо 423 раз(а) в 316 сообщении(ях)
elon на пути к лучшему
Сообщение Re: Считывание с семисегментного индикатора

Сообщение от eddy Посмотреть сообщение
Лишь в том случае, если цифра выводится разом. Потому как может быть динамическая индикация и по сегментам. Хотя, конечно, это значительно реже бывает, чем поцифровая динамическая. В общем, надо плясать от конкретного устройства: проснифить логическим анализатором цикл-другой и посмотреть, как реально это работает.
Помилуйте друг мой .... а разница то какая как вы будете в контроллере дешифрировать по строкам или по столбцам ))) судя то тем отрывочным данным что предоставил первоисточник задачи все тривиально просто , обычная динамика , 4-10 индикаторов , общий анод , ( может быть производитель исхитрился и поставил туда что то вроде мах ... драйвера ) но суть решения проблемы это не меняет . Вы правы .. можно снифить можно без этого потому что на 99% все стандартно , достаточно ткнуть осцилом в индикатор и все сразу станет ясно
__________________
"Дворяне и их младые отроки должны всегда меж собою говорить на ВЫ и на иностранных языках, дабы тем навыкнуть могли, и чтобы их можно было от других незнающих болванов распознать."
Уложение о поведении (с) царь Пётр I
elon вне форума  
Непрочитано 26.05.2015, 16:36  
spamkerdyk
Почётный гражданин KAZUS.RU
 
Аватар для spamkerdyk
 
Регистрация: 27.01.2008
Адрес: Москва Щукино
Сообщений: 1,490
Сказал спасибо: 359
Сказали Спасибо 863 раз(а) в 362 сообщении(ях)
spamkerdyk на пути к лучшему
По умолчанию Re: Считывание с семисегментного индикатора

Сообщение от eddy Посмотреть сообщение
Проще уж веб-камеру присобачить напротив и распознавать цифры.
В этом виде задача мной уже успешно решена. Соответствующий софт написан. Но работает не в онлайн режиме - софт обрабатывает скриншоты, снятые во время эксперимента. Обрабатывал данные с суточных экспериментов с ежесекундным снятием скриншота (более 80000 скриншотов на эксперимент). Время обработки вполне приемлемое. Ошибки случаются, но редко и на случай ошибок есть посткорректор, который убирает из текста явные ошибки и исправляет то, что можно исправить.
Суточные изменения освещенности влияют, но во-первых можно накрыть прибор с камерой чем-нибудь (я делал картонный тубус), во-вторых скриншоты легко разбиваются на группы со сходным освещением и группы обрабатываются отдельно (я с этого начинал, потом додумался до тубуса).
spamkerdyk вне форума  
Непрочитано 26.05.2015, 18:56  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Считывание с семисегментного индикатора

Сообщение от spamkerdyk Посмотреть сообщение
Но работает не в онлайн режиме - софт обрабатывает скриншоты, снятые во время эксперимента.
Там же элементарно все: преобразованиями Хафа находим параллельные прямые → вот и наш индикатор. Набрасываем сетку и распознаем сегменты. Это ж довольно-таки несложно. В реальном времени должно работать.

Если камеру жестко зафиксировать, то можно и вообще "гвоздями" приколотить нужные области.
Чтобы увеличить контраст, можно взять два поляризатора со старого разбитого ЖК. Один на экран, один (в той же ориентации) — на камеру. В итоге в 2 раза снизится интенсивность аддитивной помехи.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 27.05.2015, 16:52  
spamkerdyk
Почётный гражданин KAZUS.RU
 
Аватар для spamkerdyk
 
Регистрация: 27.01.2008
Адрес: Москва Щукино
Сообщений: 1,490
Сказал спасибо: 359
Сказали Спасибо 863 раз(а) в 362 сообщении(ях)
spamkerdyk на пути к лучшему
По умолчанию Re: Считывание с семисегментного индикатора

Да я не сомневаюсь, что онлайн столь же прост. Просто мне это было не нужно, а я писал именно под свои нужды и на скорую руку. Эксперимент шел сутками в режиме нон стоп, только снимали данные (и от скуки читали анекдоты), а обработкой занимались математики уже потом. Когда серия заканчивалась, я ее прогонял через обработчик и отсылал текст математикам.
И принцип считывания у меня был тупой, проще некуда. На каждый сегмент индикатора устанавливалась точка (в начале считывания серии нужно было мышкой на первом скриншоте щелкнуть по каждому сегменту, зафиксировать область считывания). "Точка" состояла из четырех пикселов. При считывании пикселы усреднялись, а распознавался их цвет: красный - горящий сегмент, черный - погасший (то есть, фактически яркость красного). При разности темного-яркого сегмента примерно 200, диапазон уверенного считывания был 100-150 - более, чем достаточно, чтобы читать без ошибок.
Поляризаторы - мысль хорошая, но по-моему уже излишняя. Даже при открытой камере, засвечиваемой из окна, программа давала мизер ошибок. Я разбивал суточную серию на примерно пятичасовые части и в пределах части было три - четыре ошибки. В основном в моменты, когда кто-то проходил около камеры и своим белым халатом подсвечивал табло вольтметра. А когда я закрыл камеру тубусом, ошибки вообще пропали.

Вот картинка, как это все выглядело. Картинка на экране программы - просто заставка. При таком изображении вольтметра об ошибках вообще речь не шла. Реальное изображение могло быть значительно хуже, менее контрастное, с пятнами засветки, все равно все нормально распознавалось.
К сожалению ни одной реальной картинки с эксперимента не осталось. После распознавания я все эти гигабайты bmp-шек удалял.
Миниатюры:
Нажмите на изображение для увеличения
Название: VoltReader.jpg
Просмотров: 126
Размер:	192.1 Кб
ID:	79733  

Последний раз редактировалось spamkerdyk; 27.05.2015 в 17:57.
spamkerdyk вне форума  
Непрочитано 27.05.2015, 18:45  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Считывание с семисегментного индикатора

spamkerdyk, что ж за прибор такой хитрый, что нельзя было собрать аналог либо вмешаться в его схему?
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 27.05.2015, 23:14  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Считывание с семисегментного индикатора

Вмешательство в работу опломбированных и поверенных приборов считается дурным тоном.
omercury вне форума  
Непрочитано 28.05.2015, 07:12  
ankirus
Частый гость
 
Регистрация: 30.05.2009
Сообщений: 25
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
ankirus на пути к лучшему
По умолчанию Re: Считывание с семисегментного индикатора

Сообщение от driverz Посмотреть сообщение
Возникла небольшая как на меня интересная задача.Есть прибор который выводит данные только на семисегментный индикатор, а их нужно получить на pc.Лезть в устройство прибора не возможно, возможно ли считать данные с индикатора (контролер на данный момент не известен) ? К примеру какой то arduino (для упрощения задачи)
Если есть доступ к индикатору самое простое и быстрое:
- взять по одному микроконтроллеру(а) (самый простой и дешевый) на каждую цифру, сколько всего цифр вы не написали.
- Подцепить сегменты на вход/порт контроллера. Написать простейшую программу, которая будет выводить на выход каждого контроллера значение цифры в 4-ричном виде. (4 пина на выходе надо).
- Еще один контроллер (б)должен по очереди опрашивать те контроллеры, которые стоят на сегментах и выводить значения по очереди на LPT порт РС. Останется на ПС сделать простейшую программу, которая будет эти значения собирать в 10-ричный формат и писать в файл каждую секунду.

Контроллер б должен иметь всего 4*(кол-во цифр)+8(наLPT) портов.
Работы на несколько дней.
Если цифр мало, можно обойтись одним контроллером ног на 60.
__________________
"При отрыве шестой ноги таракан теряет слух"
ankirus вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
Помогите пожалуйста с подключением семисегментного двухразрядного индикатора takker Микроконтроллеры, АЦП, память и т.д 8 07.02.2011 23:40
Подключение семисегментного индикатора к МК AVRmaga8 sergx1300 Микроконтроллеры, АЦП, память и т.д 25 11.08.2010 00:14
ATtiny2313 в качестве драйвера семисегментного индикатора Djakovskij Микроконтроллеры, АЦП, память и т.д 173 26.07.2010 12:47
Нужна схема контроллера индикатора cherepanova Информация по радиокомпонентам 1 09.07.2008 14:48


Часовой пояс GMT +4, время: 17:45.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot