Решил сделать робота для линии, всё на писал, спаял, всё работает,но не могу разобраться как использовать одновременно два датчика света, с одним датчиком всё работает. я пишу на avrstudio. помогите разобраться, а то уже два месяца мучаюсь. код прилагаю. и как вообще подключать >1 датчика на ацп.
На разные каналы АЦП цепляете фотодатчики, выбираете нужный вам канал при помощи мультиплексора, записав байт в регистр ADMUX (см. даташит) и запускаете АЦ преобразование, установив 6-ой бит ADCSRA в 1.
ну как бы хочется знать на сколько я заехал на линию или съехал,а не просто на линии датчик или нет, если так можно сделать при помощи компараторов расскажите. Я понял что раньше я сморозил полную глупость про АЦП.Простите я только учусь.
sema-lap писал(а):ну как бы хочется знать на сколько я заехал на линию или съехал,а не просто на линии датчик или нет, если так можно сделать при помощи компараторов расскажите.
А как это сделать на АЦП? Линия либо есть, либо нет.
На ацп это сделать элементарно. Напряжение на фототранзисторе пропорционально освещенности, а освещенность зависит от того, сколько в световом пятне черного и сколько белого.
Да, можно и так, но как это сделать программно? Я точно знаю, что на ATMEGE32 есть два входа АЦП.
Скачай нормальный даташит с оф. сайта и почитай описания регистров из раздела про АЦП, обрати внимание на то как каналы АЦП переключать (т.е. посмотри назначение битов регистра ADMUX). После этого должно стать понятно как сделать программно. В меге 32 8 каналов АЦП.
Radist писал(а):На ацп это сделать элементарно. Напряжение на фототранзисторе пропорционально освещенности, а освещенность зависит от того, сколько в световом пятне черного и сколько белого.
Странная у вас линия, у меня такой небыло. АЦП актуально если на свет ехать. И еще, изза инерции движения робот проскочит положение "половинной яркости", не успев на него среагировать.
Линия как у всех, черная на белом, ширина 2 см. Если у вас не получилось - это не значит что это не возможно. Сейчас мы говорим об одном датчике, который позволяет отслеживать край линии. Уже один этот датчик позволяет организовать ПИД управление. Попробуйте это сделать на одном компараторе. Два аналоговых датчика на краях линии еще круче. А если у вас линейка датчиков и с каждого приходит код АЦП, то можно получить смещение центра линии относительно центра робота с очень хорошим разрешением (а не несколько дискретов, как в случае с компараторами). Рекомендую посмотреть в подфоруме "Алгоритмы" мою темку, где я исследовал эти вопросы, а в подфоруме "Робоспорт/лайнтрейсеры" результаты заездов при разных линейках, дискретных и аналоговых.