Оглавление:

Создайте свой собственный (дешевый!) Многофункциональный контроллер беспроводной камеры: 22 шага (с изображениями)
Создайте свой собственный (дешевый!) Многофункциональный контроллер беспроводной камеры: 22 шага (с изображениями)

Видео: Создайте свой собственный (дешевый!) Многофункциональный контроллер беспроводной камеры: 22 шага (с изображениями)

Видео: Создайте свой собственный (дешевый!) Многофункциональный контроллер беспроводной камеры: 22 шага (с изображениями)
Видео: Кто-то: Зачем тебе автокликер? Я: #мем #brawlstars #пабло 2024, Июль
Anonim
Создайте свой собственный (дешевый!) Многофункциональный контроллер беспроводной камеры
Создайте свой собственный (дешевый!) Многофункциональный контроллер беспроводной камеры
Создайте свой собственный (дешевый!) Многофункциональный контроллер беспроводной камеры
Создайте свой собственный (дешевый!) Многофункциональный контроллер беспроводной камеры
Создайте свой собственный (дешевый!) Многофункциональный контроллер беспроводной камеры
Создайте свой собственный (дешевый!) Многофункциональный контроллер беспроводной камеры

Введение Вы когда-нибудь мечтали создать свой собственный контроллер камеры? ВАЖНОЕ ПРИМЕЧАНИЕ: Емкость конденсаторов для MAX619 составляет 470n или 0,47u. Схема верна, но список компонентов неверен - обновлен. Это участие в конкурсе Digital Days, поэтому, если вы сочтете его полезным, пожалуйста, оцените / проголосуйте / прокомментируйте! Если вам это действительно нравится, и вы запинаетесь, нажмите "Мне нравится!":) Обновление: опубликовано на hackaday! hackaday.com/2009/10/13/a-different-breed-of-camera-controllers/ Обновление: новые фотографии лазерного триггера в действии! Обновление: первый приз = D, спасибо за голосование и / или рейтинг! Это руководство в основном предназначено для пользователей SLR, которые хотят получить немного больше от своих камер, однако, если есть какие-то точки и снимки с ИК-интерфейсами, вы можете найти это интересным. Конечно, это также будет работать (с небольшими изменениями) с хаками камеры, где вы можете подключить логические выходы к клеммам запуска камеры. Это началось как полноценное руководство, но из-за некоторых неожиданных ограничений, с которыми я столкнулся позже, это может быть скорее руководство о том, как выполнять различные задачи - я часто оставляю вам выбор, как вы могли бы делать то, что Я думаю, что это лучший способ делать что-то, чем просто слепо говорить «ты должен сделать это». Думайте об этом как об уроке дизайна контроллера камеры. Я предоставил схемы и полный код, так что вы всегда можете просто скопировать его. Для большинства людей это будет простой случай переноса дизайна на полосу и добавления ЖК-дисплея. Я рассмотрел, как его макетировать, так как процесс очень похож и позволяет исправлять ошибки, прежде чем вы сделаете дизайн постоянным! Особенности: Режим одиночного снимка Интервальный (замедленный) режим Режим срабатывания триггера (запуск от внешнего датчика) с изменяемыми условиями Включенный дизайн сенсора - свет, звук (возможно гораздо больше!) Общая стоимость - менее 25 фунтов стерлингов (без учета инструментов) ЖК-дисплей для легкого изменения настроек Совместимость с Nikon / Canon (кодируется), потенциальная поддержка (непроверенная) для Olympus / Pentax Нет прошивки необходима модификация. Использует ИК-порт, поэтому он является беспроводным и не повреждает вашу камеру. Я подумал об этом после того, как несколько часов просидел на улице на морозе, щелкая пультом дистанционного управления. Я делал 8-секундный интервал примерно на 1000 снимков. Я подумал, эй, это же просто ИК-светодиод, не так ли? Почему я не могу воспроизвести его и сделать свой собственный пульт со встроенной задержкой? Затем я узнал (несколько смущенно, потому что я думал, что у меня сильная мозговая волна), что это было сделано, и есть даже пара инструкций по этой теме. Моя реализация отличается от большинства интервалометров и самодельных пультов ДУ тем, что она допускает множество настроек и модульности, совместима как с Nikon / Canon (и, вероятно, с другими позже), так и сочетает в себе возможность делать снимки по определенному триггеру. Идея проста. Вы хотите сфотографировать что-то довольно быстрое (в настоящее время ограничено задержкой срабатывания затвора, для меня 6 мс). Для этого существует множество методов: 1. Проба и ошибка вы пытаетесь сделать снимок в нужный момент 2. Улучшенный метод проб и ошибок: вы затемняете комнату, кладете камеру на лампу (открытый затвор) и запускаете вспышку. в нужное время 3. Купите специальный триггерный контроллер, у которого есть какой-то датчик звука / света, чтобы делать снимок по вашей команде 4. Соберите его сами! Хорошо, 1 и 2 хороши для бездельничанья и могут дать очень хорошие снимки. Но я собираюсь показать вам, что можно построить схему, которая снова и снова будет давать стабильные результаты. Самое главное, что в эти трудные времена стоимость ниже, чем у альтернативных моделей (некоторые люди производили комплекты для такого рода вещей, но они стоят целое состояние, см. Ссылки). Универсальность конструкции заключается в следующем: если ваш датчик генерирует выходное напряжение от 0 до 5 В, вы можете использовать его для запуска камеры! На первый взгляд это скучное заявление, но как только вы начинаете понимать его значение, оно становится очень сильным. Просто отслеживая уровень напряжения, ваш триггер может быть основан на свете (LDR), на основе звука (микрофон или ультразвук), на основе температуры (термистор) или даже на простом потенциометре. На самом деле почти все. Вы даже можете подключить схему к другому контроллеру и при условии, что он может давать вам логический выход, таким образом, вы можете запускать с него. Единственным серьезным ограничением дизайна в настоящее время является то, что он работает только с ИК-интерфейсами, было бы довольно просто изменить программное и аппаратное обеспечение для вывода через mini-USB или какой-либо другой интерфейс. Примечание. Исходный код: на шаге 13 я предоставил несколько приложений. Код, который я запускаю на своем контроллере, находится в шестнадцатеричном файле вместе с основным файлом c и его зависимостями. Вы можете просто запустить мой код, если не уверены в компиляции. Я также включил несколько примеров кода, которые вы можете использовать на различных этапах (они явно называются remote_test, intervalometer test и adc test. Если я ссылаюсь на код на этапе, скорее всего, он там. EDIT: обновление о воздушные шары лопаются - кажется, я был немного близорук, когда сказал, что вы можете легко снимать фотографии лопающихся воздушных шаров. Оказывается, кожа в среднем воздушном шаре летит так быстро, что к моменту срабатывания камеры она полностью лопнет. Это проблема с большинством камер, а НЕ с контроллером (который определяет АЦП с частотой около 120 кГц). Можно использовать срабатывающую вспышку, что можно сделать, если вы добавите дополнительный провод и еще одну небольшую схему. сказал, теоретически вы могли бы использовать что-то еще, чтобы щелкнуть его и поиграть с задержкой (или даже изменить код задержки, чтобы включить микросекунды). Воздушная дробина, перемещающаяся на 1 м со скоростью 150 мс-1, занимает около 6-7 мс, достаточно времени, чтобы сработать и выстрелить. Простое перемещение пистолета обеспечило бы элементарную задержку в несколько микросекунд. с. Опять же, извиняюсь за это, я собираюсь поиграть сегодня вечером, если я смогу раздобыть несколько воздушных шаров, но есть еще много применений для звукового триггера, например, фейерверк! Я поместил быстрый и грязный таймлапс ниже, чтобы показать, что он работает:) Не забудьте прочитать, оценить и / или проголосовать! Ура, Джош Отказ от ответственности. В том маловероятном случае, если что-то пойдет не так, или вы каким-то образом заблокируете свою камеру / дремализируете свою кошку, я ни за что не несу ответственности. Начав проект, основанный на этой инструкции, вы принимаете ее и продолжаете на свой страх и риск. Если вы сделаете что-то из этого или воспользуетесь моими инструкциями, чтобы помочь вам - пришлите мне ссылку / фотографию, чтобы я мог разместить ее здесь! Пока отклик был ошеломляющим (по крайней мере, по моим меркам), поэтому было бы здорово увидеть, как люди это интерпретируют. Я работаю над ревизией 2, как я печатаю;)

Шаг 1. Некоторые начальные мысли…

Итак, как мы собираемся построить эту штуку? Микроконтроллер Сердце и душа этого проекта - AVR ATMega8. По сути, это слегка урезанная версия микросхемы ATMega168, которую использует Arduino. Он программируется на C или Assembly и имеет множество действительно полезных функций, которые мы можем использовать в наших интересах ». 28 контактов, большинство из которых являются входами / выходами (I / O)« Встроенный аналого-цифровой преобразователь »Низкое энергопотребление "3 встроенных таймера" Внутренний или внешний источник часов "Множество библиотек кода и примеров в Интернете. Наличие большого количества выводов - это хорошо. Мы можем взаимодействовать с ЖК-экраном, иметь 6 кнопочных входов, и у нас все еще остается достаточно заряда для ИК-светодиода для съемки и некоторых светодиодов состояния. Процессоры серии Atmel AVR имеют большую поддержку в Интернете, и есть много обучающих материалов, которые можно получить. началось (я кратко об этом расскажу, но есть и лучшие учебные пособия), а также кучи и кучи кода, над которыми нужно обдумать. Для справки я буду кодировать этот проект на C с использованием библиотеки AVR-LibC. Я мог бы легко использовать PIC для этого, но AVR хорошо поддерживается, и все примеры, которые я нашел для пультов дистанционного управления, основаны на AVR! ЖК-дисплей бывают два основных типа отображения: графический и буквенно-цифровой. Графические дисплеи имеют разрешение, и вы можете размещать пиксели где угодно. Обратной стороной является то, что для них труднее кодировать (хотя библиотеки существуют). Буквенно-цифровые дисплеи представляют собой просто одну или несколько строк символов, ЖК-дисплей имеет встроенное хранилище основных символов (например, алфавита, некоторых чисел и символов), и выводить строки и так далее относительно легко. Обратной стороной является то, что они не такие гибкие и отображение графики практически невозможно, но это соответствует нашей цели. Они также дешевле! Буквенно-цифровые символы классифицируются по количеству строк и столбцов. 2x16 довольно распространен, с двумя строками по 16 символов, каждый символ представляет собой матрицу 5x8. Вы также можете получить 2x20 сек, но я не вижу в этом необходимости. Купите все, что вам удобно. Я решил использовать ЖК-дисплей с красной подсветкой (я хочу использовать его для астрофотографии, а красный свет лучше для ночного видения). Вы можете обойтись без подсветки - это полностью ваш выбор. Если вы выберете маршрут без подсветки, вы сэкономите электроэнергию и деньги, но вам может понадобиться фонарик в темноте. При поиске ЖК-дисплея вы должны убедиться, что он управляется HD44780. Это стандартный протокол, разработанный Hitachi, и существует множество хороших библиотек, которые мы можем использовать для вывода данных. Я купил модель JHD162A с eBay. Ввод будет осуществляться кнопками (просто!). Я выбрал 6 - режим выбора, ок / стрелять и 4 направления. Также стоит получить еще одну маленькую кнопку для сброса микроконтроллера в случае сбоя. Что касается входа триггера, некоторые основные идеи - это светозависимый резистор или электретный микрофон. Здесь вы можете проявить творческий подход или поскупиться в зависимости от вашего бюджета. Ультразвуковые датчики будут стоить немного дороже и потребовать некоторого дополнительного программирования, но с ними можно делать некоторые действительно изящные вещи. Большинство людей будут довольны микрофоном (вероятно, самым полезным датчиком общего назначения), а электреты очень дешевы. Имейте в виду, что его тоже нужно будет усилить (но я расскажу об этом позже). Выход - Статус Единственный реальный выход, который нам нужен, - это статус (помимо дисплея), поэтому пара светодиодов здесь будет работать нормально. изображений, нам нужно взаимодействовать с камерой, и для этого нам нужен источник света, который может производить инфракрасное излучение. К счастью, существует множество светодиодов, которые делают это, и вам следует попробовать выбрать достаточно мощный. Выбранный мною блок имеет максимальный ток 100 мА (большинство светодиодов - около 30 мА). Вы также должны обратить внимание на выходную длину волны. Инфракрасный свет находится в более длинноволновой части электромагнитного спектра, и вам следует искать значение около 850-950 нм. Большинство ИК-светодиодов имеют тенденцию к концу 950, и вы можете увидеть немного красного света, когда он включен, это не проблема, но это бесполезный спектр, поэтому постарайтесь приблизиться к 850, если возможно. это? Что ж, он будет портативным, так что батарейки! Я решил использовать 2 батарейки АА, которые затем увеличиваются до 5 В. Я расскажу о причинах этого в следующих нескольких разделах. «Корпус и конструкция» Как вы это делаете, зависит только от вас. Я решил использовать полосовую панель для схемы после прототипирования, потому что это дешево и гибко и позволяет сэкономить на разработке специальной печатной платы. Я предоставил схемы, так что вы можете создать свой собственный макет печатной платы - хотя, если вы это сделаете, я был бы благодарен за копию! Опять же, корпус полностью ваш выбор, он должен соответствовать экрану, кнопкам (в довольно интуитивно понятной компоновке, если это возможно) и батареях. Что касается печатных плат, это не так уж сложно, многие соединения просто связаны с кнопками / ЖК-дисплеем.

Шаг 2: Управление питанием

Управление энергопотреблением
Управление энергопотреблением

Управление питанием Для такого проекта очевидно, что мобильность должна быть ключевым аспектом. Таким образом, логичным выбором являются батареи! Теперь для портативных устройств очень важно выбрать аккумулятор, который может быть перезаряжаемым или легкодоступным. Два основных варианта - это батарея PP3 9 В или батарейки AA. Я уверен, что некоторые люди подумают, что батарея на 9 В - лучший вариант, потому что 9 В лучше, чем 3, верно? Ну, не в этом случае. Батареи на 9 В, хотя и очень полезны, вырабатывают свое напряжение за счет срока службы батареи. Этот рейтинг, измеряемый в мАч (миллиампер-часах), теоретически говорит вам, как долго батарея будет работать при 1 мА в часах (хотя воспринимайте это с недоверием, это часто бывает в идеальных условиях низкой нагрузки). Чем выше рейтинг, тем дольше прослужит батарея. Батареи 9 В рассчитаны на работу до 1000 мАч. С другой стороны, щелочные батареи AA имеют почти в три раза больше при 2900 мАч. Аккумуляторы NiMH могут достичь этого, хотя 2500 мАч - это разумное количество (обратите внимание, что аккумуляторные батареи работают от 1,2 В, а не 1,5!). ЖК-экран требует входного напряжения 5 В (± 10%), а AVR (микроконтроллер) - примерно столько же (хотя для низких частот он может достигать 2,7). Также нам нужно достаточно стабильное напряжение, если оно колеблется, это может вызвать проблемы с микроконтроллером. Для этого мы воспользуемся стабилизатором напряжения, вам нужно сделать выбор между ценой и эффективностью сейчас. У вас есть возможность использовать простой 3-контактный регулятор напряжения, такой как LM7805 (серия 78, выход +5 В), или небольшую интегральную схему. несколько моментов в уме. Во-первых, трехконтактным стабилизаторам почти всегда требуется входной сигнал, превышающий их выход. Затем они понижают напряжение до желаемого значения. Обратной стороной является ужасный КПД (50-60% - это хорошо). Плюс в том, что они дешевы и работают от батареи на 9 В, вы можете купить базовую модель за 20 пенсов в Великобритании. Вы также должны иметь в виду, что у регуляторов есть падение напряжения - минимальный зазор между входом и выходом. Вы можете купить специальные регуляторы LDO (Low DropOut) с падением напряжения около 50 мВ (по сравнению с 1-2 В в других конструкциях). Другими словами, обратите внимание на LDO с выходом + 5 В. Использование интегральной схемы Идеальным вариантом является импульсный стабилизатор. Для нашей цели это будут обычно 8-контактные корпуса, которые принимают напряжение и выдают регулируемый выходной сигнал с высоким КПД - в некоторых случаях почти 90%. Вы можете получить повышающие или понижающие преобразователи (повышающие / понижающие соответственно) в зависимости от того, что вы хотите вставить, в качестве альтернативы вы можете купить регуляторы, которые будут иметь либо выше, либо ниже желаемого выхода. Чип, который я использую для этого проекта, - это MAX619 +. Это повышающий стабилизатор на 5 В, который принимает 2 AA (входной диапазон 2–3,3 В) и выдает стабильные 5 В. Для работы требуется всего четыре конденсатора, и он очень экономичен. Стоимость - 3,00 фунта с учетом шапки. Возможно, стоит потратиться только на то, чтобы получить немного больше пользы от ваших батарей. Единственным серьезным недостатком является то, что он не защищен от короткого замыкания, поэтому будьте осторожны, если произойдет скачок тока! Однако это довольно просто исправить с помощью дополнительной схемы: еще одна полезная конструкция микросхемы - хотя и не столь изящное решение - это LT1307. Опять же, регулятор на 5 В, но он может принимать различные входы и имеет такие полезные функции, как обнаружение низкого заряда батареи. Он стоит немного дороже - около ± 5 с катушками индуктивности, большими конденсаторами и резисторами. Шины напряжения Мы собираемся использовать две шины основного напряжения (плюс общую землю). Первым будет напряжение 3 В от батареи, которое будет использоваться для питания светодиодов и других относительно мощных компонентов. Мой MAX619 рассчитан только на 60 мА (хотя абсолютный максимум составляет 120 мА), поэтому проще подключить микроконтроллер к полевому МОП-транзистору для управления любыми светодиодами. МОП-транзистор почти не потребляет ток и действует как разрыв цепи, когда на входе затвора ниже 3 В. Когда микроконтроллер отправляет логическую единицу на выводе, напряжение составляет 5 В и полевой транзистор включается, а затем просто действует как короткое замыкание (то есть кусок провода). Шина 5 В питает ЖК-дисплей, микроконтроллер и любые схемы усиления для Входные датчики Потребляемая мощность Если мы посмотрим на различные таблицы данных, мы заметим, что AVR потребляет не более 15-20 мА при максимальной нагрузке. Для работы ЖК-дисплея требуется всего 1 мА (по крайней мере, когда я тестировал, бюджет на 2). При включенной подсветке решать действительно вам. Подключить его прямо к шине 5 В (я пробовал) - это нормально, но перед тем, как это сделать, убедитесь, что в нем есть встроенный резистор (проследите за дорожками на печатной плате). Так он потреблял 30 мА - ужасно! С резистором 3,3 кОм он по-прежнему виден (идеально подходит для астрофотографии) и потребляет всего 1 мА. Вы все еще можете получить приличную яркость, используя 1k или иначе. Меня устраивает мой рисунок чуть ниже 2мА при включенной подсветке! Если вы хотите, легко добавить ручку яркости с помощью потенциометра 10 кОм. ИК-светодиод может потреблять максимум 100 мА, но у меня были хорошие результаты с 60 мА (эксперимент!). Затем вы можете уменьшить этот ток вдвое, потому что вы эффективно работаете с рабочим циклом 50% (когда светодиод модулируется). В любом случае, он горит всего на долю секунды, поэтому нам не нужно об этом беспокоиться. С другими светодиодами, с которыми вам стоит поиграться, вы можете обнаружить, что только тока 10 мА достаточно, чтобы дать вам хорошую яркость - обязательно посмотрите для светодиодов малой мощности (кроме ИК) вы не проектируете фонарик! Я решил не добавлять в свою схему индикатор питания просто потому, что он потребляет много тока и не может его использовать. Используйте переключатель включения / выключения, чтобы проверить, включен ли он! В целом, вы не должны работать более 30 мА за один раз и с теоретическим запасом около 2500 (с учетом вариаций) мАч, что должно дать вам более 80 часов. прямо со всем включенным. Если процессор большую часть времени простаивает, это количество будет как минимум удвоено / утроено, поэтому вам не придется слишком часто менять батареи. Заключение Итак, это было легко, не правда ли! Вы можете пойти дешево и весело с батареей на 9 В и стабилизатором LDO в ущерб эффективности, или заплатить немного больше и использовать для этого специальную ИС. Мой бюджет все еще был меньше 20 евро даже с микросхемой, так что вы можете сократить его еще больше, если вам нужно.

Шаг 3: внимательный взгляд на ATmega8

Подробнее о ATmega8
Подробнее о ATmega8

PinsImage 1 - это распиновка ATMega8 (точно такая же, как у 168/48/88, единственная разница - объем встроенной памяти и варианты прерывания). Pin 1 - Reset, должен удерживаться при напряжении VCC (или, по крайней мере, логическая 1). Если заземлено, устройство выполнит программный сброс Контакт 2-6 - Порт D, общий вход / выход Контакт 7 - VCC, напряжение питания (+ 5 В для нас) Контакт 8 - Земля Контакт 9, 10 - XTAL, входы внешних часов (часть порта B) Контакт 11-13 Порт D, общий вход / выход Контакт 14-19 Порт B, общий вход / выход Контакт 20 - AVCC, аналоговое напряжение питания (такое же, как VCC) Контакт 21 - AREF, аналоговое опорное напряжение Контакт 22 - Земля Контакт 23-28 Порт C, общий ввод / вывод Используемые порты ввода / вывода: D = 8, C = 6, B = 6 Всего 20 используемых портов - это здорово, для простоты вы должны сгруппировать свои выводы либо в порты (скажем, D как выходной порт), либо в группы на плате - вы можете захотеть, чтобы ЖК-дисплей выводился из порта C, чтобы провода были аккуратными в этом углу. Есть три дополнительных контакта, которые необходимы для программирования. Это MISO (18), MOSI (17) и SCK (19). При необходимости они с радостью будут работать как контакты ввода-вывода. Тактирование Сигнал, который мы отправляем в камеру, должен быть точно рассчитан (с точностью до микросекунды), поэтому важно выбрать хороший источник синхронизации. Все AVR имеют внутренний генератор, от которого микросхема может получать свои часы. Обратной стороной этого является то, что они могут колебаться примерно на 10% в зависимости от температуры / давления / влажности. Что мы можем сделать для борьбы с этим, так это использовать внешний кристалл кварца. Они доступны в диапазоне от 32768 кГц (часы) до 20 МГц. Я решил использовать кристалл с частотой 4 МГц, поскольку он обеспечивает приличную скорость, но при этом довольно экономичен по сравнению с, возможно, 8 МГц +. Управление питанием на борту Я действительно хотел использовать в своем коде подпрограммы сна. Фактически, я написал первую версию, в которой сильно полагался на холостой ход процессора во время замедления. К сожалению, из-за нехватки времени я столкнулся с некоторыми проблемами с запуском часов извне и прерыванием использования таймеров. По сути, мне пришлось бы переписать код, чтобы контроллер просто не просыпался - что я мог бы сделать, но время против меня. Таким образом, устройство потребляет всего 20 мА, так что вам это сойдет с рук. Если вы действительно готовы к этому, то непременно поиграйте с кодом, все, что вам нужно сделать, это установить внутреннюю синхронизацию, а затем запустить Таймер 2 в асинхронном режиме, используя кристалл 4 МГц для более точных задержек. Это просто сделать, но требует много времени. ADC - швейцарский армейский нож в наборе инструментов AVR, ADC - это аналого-цифровой преобразователь. Как это работает снаружи относительно просто. Напряжение измеряется на выводе (с какого-либо датчика или другого входа), напряжение преобразуется в цифровое значение от 0 до 1024. Значение 1024 будет наблюдаться, когда входное напряжение равно опорному напряжению АЦП. Если мы установим нашу ссылку на VCC (+ 5V), то каждое деление будет 5/1024 В или около 5 мВ. Таким образом, увеличение на 5 мВ на выводе увеличит значение АЦП на 1. Мы можем взять выходное значение АЦП как переменную, а затем возиться с ним, сравнивать его с вещами и т. Д. В коде. АЦП - невероятно полезная функция, позволяющая делать множество интересных вещей, например превращать AVR в осциллограф. Частота дискретизации составляет около 125 кГц и должна быть установлена пропорционально основной тактовой частоте. Регистры Возможно, вы слышали о регистрах раньше, но не бойтесь! Регистр - это просто набор адресов (ячеек) в памяти AVR. Регистры классифицируются по размеру бит. 7-битный регистр имеет 8 ячеек, поскольку мы начинаем с 0. Регистры есть практически для всего, и мы рассмотрим их более подробно позже. Некоторые примеры включают регистры PORTx (где x - это B, C или D), которые контролируют, установлен ли вывод на высокий или низкий уровень, и устанавливают подтягивающие резисторы для входов, регистры DDRx, которые устанавливают, является ли вывод выходным или входным, и так далее. Datasheet - гигант литературы, весом около 400 страниц; таблицы данных AVR являются бесценным справочником по вашему процессору. Они содержат подробную информацию о каждом регистре, каждом выводе, о том, как работают таймеры, какие предохранители должны быть установлены, и многое другое. Они бесплатны, и рано или поздно они вам понадобятся, так что скачайте копию! Www.atmel.com/dyn/resources/prod_documents/doc2486.pdf

Шаг 4: Размещение контактов

Размещение контактов
Размещение контактов

Я уже упоминал необходимые нам входы и выходы, поэтому мы должны выделить им контакты! Теперь PORT D имеет 8 контактов, что удобно, поскольку он может действовать как наш выходной порт. Для работы ЖК-дисплея требуется 7 контактов - 4 контакта данных и 3 контакта управления. Для ИК-светодиода требуется только один контакт, так что из него мы получим 8. PORTB будет нашим портом для кнопок, у него 6 входов, но нам понадобится только 5. Это будут кнопки режима и направления. особенный, это порт АЦП. Нам нужен только один вывод для входа триггера, и имеет смысл поместить его на PC0 (обычное сокращение для выводов порта в данном случае Port C, Pin 0). Затем у нас есть пара контактов для светодиодов состояния (один загорается, когда значение АЦП превышает какое-то условие, другой загорается, когда оно ниже определенного условия). Мы также собираемся поместить сюда нашу кнопку ввода ok / shot, по причинам, которые станут понятны позже. После всего этого мы использовали большую часть портов, но у нас все еще осталось несколько, если вы хотите расширить проект. - возможно, несколько триггеров?

Шаг 5: общение с камерой

Общение с камерой
Общение с камерой
Общение с камерой
Общение с камерой

Первый приз фотоконкурса Digital Days

Рекомендуемые: