| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Регистрирование световых сигналов в Делфи |
| Автор: Alex103 7.7.2006, 22:53 |
| У меня задача следующая. Мне нужно регестрировать световые сигналы которые создаються в окружающей среде. Фоторезистор будет играть роль приемника. Он в свою очередь изменяет сопротивление от определенного освещения. Далее он может менять напряжение. Каким образом сделать программу которая могла бы распознавать эти изменения. Программа может работать с любыми портами компа. Заранее благодарен!!!!!!! |
| Автор: Alexeis 7.7.2006, 23:51 |
| Можно попробовать промодулировать сигналом с фоторезистора звуковой генератор и затем подать этот сигнал на АЦП звуковой карты, дальше получить сигнал(записать например с line in) Цифровой сигнал детектировать будет легко, а полученная амплитуда пропорциональна освещению. |
| Автор: Alex103 8.7.2006, 00:50 | ||
Хороший вариант! Подскажи что-то еще! |
| Автор: Alexeis 8.7.2006, 01:01 |
| Alex103, Если есть глубокие познания в электроние, можно вообще АЦП самому спаять, а уже цифру гнать например по COM порту, а если совсем в этом деле дока и Ethernet к АЦП приделать или USB. Если использовать последнее, то без драйвера вообще не обойтись. В любом случае понадобится оцифровка сигнала, так как комп с аналоговым вообще работать не умеет. |
| Автор: Alex103 8.7.2006, 09:50 |
| ОК подскажи как можно сделать оцифровку сигнала!!!!!! Добавлено @ 09:53 А как можно загнать в компьютер сигнал без оцифровки. Может на звуковую карту ведь там цифровой сигнал необязателен! Добавлено @ 09:58 О и еще каким образом можно считывать програмно сигналы на звуковой карте и сравнивать их! |
| Автор: Wing 8.7.2006, 14:21 |
| Еще как вариант через микроконтроллер какой-нибудь. У ATMega например и встроенный АЦП и интерфейс UART, если я не ошибаюсь это тот же COM только назвали по другому. |
| Автор: Alex103 8.7.2006, 15:59 |
| От какого датчика! дело в том что звуковая карта не пропускает сигналы с частотой менее 20 Гц, такой который и получается от датчика |
| Автор: Alexeis 8.7.2006, 16:12 |
С каких пор фоторезистор не является датчиком Добавлено @ 16:15 датчик дает плавно меняющийся сигнал с очень низкой частотой. |
| Автор: Alex103 8.7.2006, 16:21 |
| Можешь конкретно подсказать что мне делать! Добавлено @ 16:22 И плиз Все по-порядку! Добавлено @ 16:23 Каким еще способом можно увеличить частоту. Ато микроконтролеры дорогое нужно подешевле! Мне не обязательно это делатьчерез звуковуху можно и через ЛПТ или СОМ |
| Автор: Alexeis 8.7.2006, 16:29 |
Сигнал с фоторезистора имеет низкую скорость наростания и убывания, потому что освещение обычно меняется медленно. Аналоговый блок звуковой карты не пропускает медленно меняющиеся сигналы - попросту на выходе будет ноль. Если использовать свое АЦП с собственным аналоговым входом (без разделительного конденсатора), то можно оцифровывать сигналы сколь угодно медленно меняющиеся. Добавлено @ 16:31 с цифровым сигналом все просто - чем больше число тем выше или ниже освещенность (зависит от схемы включения фоторезистора). |
| Автор: Alex103 8.7.2006, 16:35 |
| ОК. Подскажи какой АЦП мне использовать. И смогу ли я его купить в Киеве. И какая его стоимость. И еще расскажи если можешь как с ним работать! И еще у тебя есть ICQ дай номер! |
| Автор: Alexeis 8.7.2006, 16:35 |
Частоту можно увеличить если дополнительно использовать электрический звуковой генератор, сигнал с фоторезистора будет менять его амплитуду - точь в точь как в АМ радиоприемнике. |
| Автор: Romikgy 8.7.2006, 16:36 |
| Имхо проще уже через микрофоный вход |
| Автор: Alexeis 8.7.2006, 16:41 | ||
На этом мои познания в радиоэлектронике заканчиваются, подобного ни разу не делал, но в интернете это жутко популярная тема, так что с выбором микросхемы я думаю проблем не будет. Мой ICQ 246-674-160(<offtop>только я в аське новичок даже не знаю толком что тут нажимать</offtop>) Добавлено @ 16:43
ЛПТ или СОМ могут работать только в случае использования внешнего АЦП Добавлено @ 16:44 Разве он идет без разделительного конденсатора? |
| Автор: Romikgy 8.7.2006, 16:55 |
имхо без, в этом и прелесть , к данной задаче, т.к. надо же еще на фоторезистор напругу подать дабы что то измерить |
| Автор: Alex103 8.7.2006, 16:59 | ||
А что с микрофонным входом! |
| Автор: Alexeis 8.7.2006, 17:03 |
Не только напругу, надо будет и схемку согласования сделать с ограничирелем амплитуды, а то не дай бог сдохнет звуковуха. |
| Автор: Mechanic 10.7.2006, 01:13 |
| А как насчет встроенного в Game Port примитивного ADC (АЦП)? Это там, куда допотопный джойстик втыкается. При отсутствии можно найти звуковуху с таким девайсом на борту. Там принцип простой, от подключенного сопротивления изменяется скорость разряда встроенного кондесатора. Примерный вес резистора на входе = 100 К. Подробнее можно почитать в доках про подключение аналогового джойстика. И дрова генерик джойстика в винде есть. И ДиректИнпут с ним работать должен.. А если делать на микроконтроллере, то посоветовал бы Atmel типа AT90S2313 - там ресурсов более чем достаточно, можно даже несложную логику обработки датчика организовать, его калибровочные данные, к примеру на борту микрика (EEPROM) хранить. Сделать отслеживание допустимых "алярмовых" диапазонов, чтоб комп без нужды его не опрашивал, но чтоб он сам в комп кричал при превышении некоторых заданных порогов. Такой датчик можно будет даже без компа использовать после предварительной настройки и калибровки. |
| Автор: Romikgy 10.7.2006, 10:05 |
Логично и для данной задачи имхо само то, только управление его как ? |
| Автор: Mechanic 10.7.2006, 11:35 | ||
Вот как раз с управлением (получением данных) проблем-то должно быть меньше всего. Если залезть в MSDN, и в строке поиска набрать "Joysticks", то найдётся всё, что нужно. Другое дело - помехоустойчивость. Скорее всего, датчик должен стоять вдали от компа, а передача уровня на большие расстояния... Понятно, что точность таких измерений оставит желать лучшего. Нужно что-то, что без потерь можно передавать на приличные расстояния. Вариант с контроллером в этом смысле намного предпочтительнее, т.к. сам микрик можно расположить в непосредственной близости от датчика (внутри корпуса), и передавать оцифрованные данные можно например через RS232 (RS485), а для токовой петли, да на 9600, даже километр - не расстояние. Или же можно передавать не уровень, но частоту, обычный аудио-сигнал, который тоже дойдёт без искажений, и который можно усиливать при необходимости. Тогда понадобится преобразователь Уровень-частота. Помнится, была книжица "Подключение измерительной аппаратуры к ZX-Spectrum", так там такой генератор был ядром всех подключений, и обслуживался через 1-битный вход (магнитофонный, с разделительным конденсатором). Просто частота сигнала этого генератора должна изменяться в зависимости от значения измеряемой величины. И если настроить этот генератор так, чтоб предельные значения с датчика умещались в звуковой диапазон, понимаемый звуковой картой, то проблем при распознавании этой частоты на аудио-входе не должно быть. |