Как сделать маленькую камеру из лего

Обновлено: 27.04.2024



Мне очень нравится конструктор Lego, фотоаппараты и программирование. Я решил совместить три этих своих увлечения и собрать автоматическую плёночную фотокамеру из Lego. Мне хотелось, чтобы камера всё делала сама: от пользователя требовалось лишь вставить плёнку, навести на цель и нажать кнопку.

В этом посте я бы хотел рассказать о том, как я делал автоматическую камеру из Lego, как её программировал и что из этого получилось.

Камера обскура

Я начал с самого начала, с камеры-обскуры. Это основа любого фотоаппарата: через дырочку на плёнку (или сенсор) попадает свет и оставляет там изображение. Я решил сделать дырочку в кусочке фольги. С помощью одного из мини-свёрел я проделал отверстие диаметром где-то 0,3 мм.


Теперь надо было собрать светонепроницаемую камеру, в которой будет находиться плёнка. Мне очень помогли калькуляторы с сайта Mr. Pinhole. Они позволили рассчитать оптимальные размеры камеры. Всё очень просто: при размере дырочки в 0,3 мм, расстояние от дырочки до плёнки должно быть где-то 60мм.


Принцип работы очень простой: пользователь вставляет новую кассету с плёнкой, плёнка тут же перематывается на свободную катушку. С каждым новым кадром плёнка наматывается обратно в кассету. Когда все кадры отщёлканы надо лишь достать использованную кассету. Вот пара снимков процесса сборки:



Мне хотелось, чтобы камера-обскура предоставляла три интерфейса: контроль основной катушки (которую пользователь поставил), контроль свободной катушки (куда плёнка отматывается) и управление задвижкой. Это выглядит так:


В дальнейшем моторчики модуля автоматизации будут крутить эти три шестерёнки. А пока, мне надо было удостоверится, что камера не пропускает свет. Я потащил свою конструкцию в фотолабораторию. Я решил использовать фотобумагу для поиска световых пробоин. Фотобумага чувствительна к свету: там, где попал свет, появляется чёрное пятно. Я напихал в свою камеру-обскуру фотобумаги, вынес на свет, подождал несколько минут и проявил бумагу. Вся поверхность была покрыта чёрными шрамами. Мне потребовалось несколько часов, чтобы найти все пробоины и замотать их изолентой. Вот что получилось:



Камера-обскура была закончена. Честно говоря, очень многие любители сами собирали подобные приспособления. Так что пока я находился на относительно протоптанной тропе. Однако, я не нашел ни одного любительского проекта, который пошел дальше и решил автоматизировать свою камеру.

Автоматизация

Кирпичики Lego были у меня и в детстве. Однако набор Lego Mindstorms я купил лишь недавно. Набор содержит три мотора, пару кнопок, датчик света и программируемый модуль. Всё, что надо для современной камеры.

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


Постоянно не хватало специфических деталей. На выручку пришел сайт BrickLink. На нём я нашел абсолютно все детали и смог купить их через PayPal. Надо сказать, что цены были очень разумные. Вскоре модуль автоматизации был собран. Камера-обскура аккуратно вставлялась в модуль автоматизации:



Железо, точнее, пластмасса была готова. Осталось лишь это дело запрограммировать.

Программируемый модуль (контроллер) управляется операционной системой от Lego. Модуль можно программировать в визуальной среде разработки: таскать кирпичики-операторы, составлять блоки-циклы и т. п. Мне эта гуйня очень не понравилась. Так что, первое, что я сделал – это перепрошил модуль системой Lejos. Программы для неё можно писать на несколько урезанной джаве. То, что надо для нашего приключения.

Программа содержит несколько любопытных фич:

Логика вычисления угла перемотки плёки

Плёнку оказалось перематывать куда сложнее, чем мне казалось сначала. Катушки с плёнкой очень похожи на спираль. То есть, угол на который надо повернуть катушку, чтобы намотать 40мм плёнки зависит от количества уже намотанной плёнки. Чтобы сделать расчёт пришлось использовать уравнение аж второго порядка. Такое не каждый день кодишь. Кому интересно посмотреть – логика в файле FilmTransportUtils.

Вычисление скорости задвижки

И тут ждала западня: сенсор лего возвращает уровень освещённости числом от 0 до 1023. Мне не удалось узнать, как это число соотносится с какими-либо физическими величинами. Так что пришлось строить соответствие методом научного тыка. Я арендовал экспонометр и пошел гулять. Делал замер лего-сенсором, записывал показание, потом делал замер прибором. В результате получилась довольно сносная таблица соответствий. Мне кажется, что её можно уточнить, однако для беты сойдёт. Кому интересно посмотреть – добро пожаловать в ExposureUtils.

Интерфейс пользователя




Результат

Всё было готово. Вот видео с демонстрацией работы камеры:

А вот получившиеся фотографии. Гидрант:



Буду снимать на свою камеру и дальше: ведь это так просто, нажал кнопку – и готово!


ПЛЁНОЧНАЯ КАМЕРА ИЗ LEGO

Василий ШИКИН


Мне очень нравится конструктор Lego, фотоаппараты и программирование. Я решил совместить три этих своих увлечения и собрать автоматическую плёночную фотокамеру из Lego. Мне хотелось, чтобы камера всё делала сама: от пользователя требовалось лишь вставить плёнку, навести на цель и нажать кнопку. В этой статье я бы хотел рассказать о том, как я делал автоматическую камеру из Lego, как её программировал и что из этого получилось.

Камера обскура

Я начал с самого начала, с камеры-обскуры. Это основа любого фотоаппарата: через дырочку на плёнку (или сенсор) попадает свет и оставляет там изображение. Я решил сделать дырочку в кусочке фольги. С помощью одного из мини-свёрел я проделал отверстие диаметром где-то 0,3 мм.

Теперь надо было собрать светонепроницаемую камеру, в которой будет находиться плёнка. Мне очень помогли калькуляторы с сайта Mr. Pinhole. Они позволили рассчитать оптимальные размеры камеры. Всё очень просто: при размере дырочки в 0,3 мм, расстояние от дырочки до плёнки должно быть где-то 60мм.

Принцип работы очень простой: пользователь вставляет новую кассету с плёнкой, плёнка тут же перематывается на свободную катушку. С каждым новым кадром плёнка наматывается обратно в кассету. Когда все кадры отщёлканы надо лишь достать использованную кассету. Вот пара снимков процесса сборки:

Мне хотелось, чтобы камера-обскура предоставляла три интерфейса: контроль основной катушки (которую пользователь поставил), контроль свободной катушки (куда плёнка отматывается) и управление задвижкой. Это выглядит так:

В дальнейшем моторчики модуля автоматизации будут крутить эти три шестерёнки. А пока, мне надо было удостоверится, что камера не пропускает свет. Я потащил свою конструкцию в фотолабораторию. Я решил использовать фотобумагу для поиска световых пробоин. Фотобумага чувствительна к свету: там, где попал свет, появляется чёрное пятно. Я напихал в свою камеру-обскуру фотобумаги, вынес на свет, подождал несколько минут и проявил бумагу. Вся поверхность была покрыта чёрными шрамами. Мне потребовалось несколько часов, чтобы найти все пробоины и замотать их изолентой. Вот что получилось:

Камера-обскура была закончена. Честно говоря, очень многие любители сами собирали подобные приспособления. Так что пока я находился на относительно протоптанной тропе. Однако, я не нашел ни одного любительского проекта, который пошел дальше и решил автоматизировать свою камеру.

Автоматизация

Кирпичики Lego были у меня и в детстве. Однако набор Lego Mindstorms я купил лишь недавно. Набор содержит три мотора, пару кнопок, датчик света и программируемый модуль. Всё, что надо для современной камеры.

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

Постоянно не хватало специфических деталей. На выручку пришел сайт BrickLink. На нём я нашел абсолютно все детали и смог купить их через PayPal. Надо сказать, что цены были очень разумные. Вскоре модуль автоматизации был собран. Камера-обскура аккуратно вставлялась в модуль автоматизации:

Железо, точнее, пластмасса была готова. Осталось лишь это дело запрограммировать.

Программируемый модуль (контроллер) управляется операционной системой от Lego. Модуль можно программировать в визуальной среде разработки: таскать кирпичики-операторы, составлять блоки-циклы и т. п. Мне эта гуйня очень не понравилась. Так что, первое, что я сделал – это перепрошил модуль системой Lejos. Программы для неё можно писать на несколько урезанной джаве. То, что надо для нашего приключения.

Программа содержит несколько любопытных фич:

Логика вычисления угла перемотки плёки Плёнку оказалось перематывать куда сложнее, чем мне казалось сначала. Катушки с плёнкой очень похожи на спираль. То есть, угол на который надо повернуть катушку, чтобы намотать 40мм плёнки зависит от количества уже намотанной плёнки. Чтобы сделать расчёт пришлось использовать уравнение аж второго порядка. Такое не каждый день кодишь. Кому интересно посмотреть – логика в файле FilmTransportUtils.

Вычисление скорости задвижки

И тут ждала западня: сенсор лего возвращает уровень освещённости числом от 0 до 1023. Мне не удалось узнать, как это число соотносится с какими-либо физическими величинами. Так что пришлось строить соответствие методом научного тыка. Я арендовал экспонометр и пошел гулять. Делал замер лего-сенсором, записывал показание, потом делал замер прибором. В результате получилась довольно сносная таблица соответствий. Мне кажется, что её можно уточнить, однако для беты сойдёт. Кому интересно посмотреть – добро пожаловать в ExposureUtils.

Интерфейс пользователя

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




Всё было готово. Вот видео с демонстрацией работы камеры:

А вот получившиеся фотографии. Гидрант:

Буду снимать на свою камеру и дальше: ведь это так просто, нажал кнопку – и готово!

камера Pixy для Lego Mindstorms

Если вы выбирали камеру для робота, то наверняка слышали о Pixy. Это популярная система машинного зрения для Arduino и Raspberry Pi. А теперь и для Lego Mindstorms. 30 сентября Charmed Labs анонсировала новую версию продукта.

Видеокамера Pixy производства Charmed Labs предоставляет простую возможность реализации элементов машинного зрения. Тысячи камер были проданы по всему миру после успешно проведенной компании на Kickstarter в начале 2014 года.

В отличие от большинства камер, Pixy выполняет обработку изображения на своем борту, освобождая мощности микроконтроллера для других задач. Вы можете быстро «научить» Pixy обнаруживать новые объекты почти также просто, как считать сигнал нажатия кнопки. Встроенные в его прошивку алгоритмы способны обнаруживать и отслеживать сотни объектов одновременно.

Стандартная версия Pixy поддерживает многие микроконтроллеры, в том числе популярную платформу Arduino, а также одноплатные компьютеры Raspberry Pi и BeagleBone Black.

Новая видеокамера Pixy LEGO подключается напрямую к контроллеру Lego Mindstorms NXT или EV3 с помощью прилагаемого кабеля и интегрируется в программную среду Lego.

Вы часто хотите, чтобы ваш легоробот догнал мяч или подобрал объект. Но это очень трудно реализовать без правильного датчика. Pixy дает роботу возможность выполнения этих видов задач, потому что видит объекты в окружающей среде,

— говорит президент Charmed Labs Рич Легранд.

Теперь интеграция камеры Pixy с Lego стала проста. Порядок установки описан на wiki-странице проекта. Р анее, чтобы «подружить» легоробота с Pixi CMUcam5, необходимо было преодолеть сложности, в том числе был необходим адаптер UART.

Charmed Labs — небольшая компания, расположенная в городе Остин штата Техас (США), специализирующаяся на предоставлении передовых встраиваемых решений для образовательных целей.


Из конструктора Лего можно сделать идеально симметричную раму для квадрокоптера.

Искал повод чтобы поиграть с конструктором снова? Вот тебе веская причина :)

Такой дрон дешев, и не требует специальных инструментов как например в этой инструкции (рекомендую взглянуть для сравнения и на нее тоже).

Я использовал набор Лего Техник, потому что у него есть отверстия в "кирпичиках" конструктора.

Мотор и летный контроллер я взял от популярного дрона Hubsan X4 (не нужно покупать дрон целиком, только запчасти).

Достань свой конструктор, смахни с него пыль и вперед!

Шаг 1: Инструменты и материалы

1. Лего
2. Паяльник
3. Пластиковые фиксаторы

1. Полетный контроллер Hubsan 107l или 107c (берите 107l если планируете установить на дрон LED лампочки, 107c если хотите установить камеру)

2. 4 двигателя (типа hollow cup) на 7мм.

3. 4 винта (и если хотите, возьмите один два про запас)

4. Аккумулятор на 3.7 вольта + зарядное устройство.

5. Пульт управления Hubsan

Пульт стоит не мало, если у вас его нет, то возможно выгоднее будет купить старый дрон rtf hubsan x4 и разобрать его на части.

Кстати, если вы совсем новичок, не знаете с чего начать, и этой инструкции вам будет не достаточно, вы можете просмотреть 3 абсолютно бесплатных видео курса , на которых вместе с преподавателем вы сможете собрать и запрограммировать своих первых роботов на Arduino и Raspberry. Дерзайте!

Шаг 2: Паяем полетный контроллер

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

И возможно вы уже знаете, что у квадрокоптеров два мотора двигаются по часовой стрелке, а два против. Очень важно чтобы моторчик, который двигается по часовой стрелке был установлен напротив другого такого же. То же самое касается и моторчиков, которые двигаются в обратном направлении.

На контроллере уже есть немного паяльного олова, но этого может не хватить, так что используйте свое если посчитаете нужным.

Шаг 3: Делаем раму для дрона из Лего


Картинки говорят сами за себя. Не обязательно делать именно такую раму, как сделал я. Включите воображение, и у вас получится что то намного покруче! Главное - не делать раму слишком тяжелой.

Шаг 4: Крепим моторы и контроллер


Я уже упомянул ранее что Лето Техник - идеален для этого проекта, потому что внутри элементов есть отверстия. К ним можно прицепить моторы на пластиковые фиксаторы.

Я также использовал двусторонний скотч, для дополнительного крепления, но он не обязателен.

Закрепите полетный контроллер сверху дрона, а аккумулятор под рамой, и вы готовы к отлету!

Шаг 5: Бесплатный видео курс

Если вы хотите научится программировать роботов, дронов, и контроллеры Arduino, но не знаете с чего начать, и забыли школьный курс физики, рекомендуем пройти бесплатные видео курсы.

В серии курсов вы научитесь собирать простых роботов, познакомитесь и научитесь программировать их при помощи микроконтроллеров Arduino и Raspberry.



Алексей Тереньтев автор инструкции
Иногда что-то делаю сам, но чаще что-то перевожу.



Денис Суслов Думаю он много не потянет, скорее всего только мини камеру, которые обычно используются как скрытые и весят 15-20 грамм.


Евгений Чимнев А можно вместо деталей от Hubsan X4 использовать детали от Cheerson CX-10? Cheerson дешевле будет!


Денис Суслов Cheerson CX-10 Mini ты видимо имеешь ввиду. Он меньше в размерах и дешевле, и моторы у него меньше, значит раму нужно будет делать еще более легкой, либо крепить более мощные моторы, но не уверен что это сработает. Хотя, учитывая его цену в 15$ можно попробовать.


Василий Сосновский Читаю, но мало чего понимаю :( А собрать хочется! Может есть какой то материал по общей концепции квадрокоптеров, какие основные части и т.п? Чтобы собрать хотя бы минимальную версию.


Денис Суслов Просто пройдись по инструкции еще раз выполняя шаг за шагом, думаю справишься, а если нет, напиши по каким именно шагам есть вопросы!Вообще концепция квадрокоптеров довольна простая на самом деле: контроллер, батарейки, моторы и винты. Контроллер - это мозг. В нем есть гироскоп и акселерометр, rf приемник и он крутит моторы. Конфигурировать ничего не требуется, при включении коптер сам настраивает себя, сам себя калибрирует, но важно чтобы поверхность на которой он стоит была ровной, точно горизонтальной, иначе исходные показатели о горизонте у него будут не точными.


Николай Мамадаев У меня есть коптер FQ777-124 и мне вот хочется его в другой корпус поместить. Может быть на 3D принтере его распечатать.


Игорь Мотовилов А чем текущий корпус не устраивает? Просто это вроде как карманная модель, из лего конечно корпус к такой сделать скорее всего не выйдет, по аэродинамическим показателям как минимум, а на 3D можно напечатать, да.

Проживающая в Тайване фотограф и дизайнер Хелен Шам (Helen Sham) сделала из блоков конструктора LEGO поразительно реалистичную камеру, имитирующую среднеформатную плёночную модель Hasselblad 503CX. Более того, теперь – с вашей помощью – эта камера может стать серийным изделием, официальным набором LEGO.

Построенная из LEGO камера Hasselblad

«Я спроектировала камеру из LEGO, потому что я ведь фотограф, и эта камера – одна из моих любимых», рассказывает Шам. «Я просто обожаю ручную механику этой модели».


Собранная камера не только похожа на Hasselblad 503CX внешне. Её внутреннее устройство также во многом копирует оригинал.


Вы можете по-настоящему кадрировать «снимаемую сцену» через шахтный видоискатель – благодаря стеклянным элементам, который использовала Шам.


В камере установлено зеркало, имеется счётчик кадров, работает перемотка плёнки (да, вы можете вставить настоящую плёнку!), а также подпружиненная «кнопка спуска» (для реалистичного ощущения нажатия).


Базовые элементы камеры можно рассоединить.


В двухминутном ролике Шам показывает возможности своего детища:

Для постройки камеры Шам использовала 1120 деталей LEGO. Она говорит, что надеется создать систему, которая позволит делать фотографии – с помощью камеры из LEGO и смартфона.


Хелен Шам направила свою модель Hasselblad на сайт LEGO, где можно предлагать креативные идеи. Компания уже отметила камеру как «выбор персонала». Если проект Хелен поддержат 10000 человек (на момент написания этой статьи их 790, однако голосование продлится ещё долго – 309 дней), то он попадёт на рассмотрение совета специалистов LEGO, принимающих решение, какие из идей стоит реализовать в виде официальных наборов LEGO.


Если вам понравилась камера Hasselblad из LEGO – можете проголосовать за неё.

Читайте также: