Оглавление:

Светочувствительная диафрагма: 4 шага
Светочувствительная диафрагма: 4 шага

Видео: Светочувствительная диафрагма: 4 шага

Видео: Светочувствительная диафрагма: 4 шага
Видео: Диафрагма. Фотография для начинающих. Урок 3. 2024, Ноябрь
Anonim
Image
Image
Светочувствительный ирис
Светочувствительный ирис

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

Шаг 1: 3D-печать

3D печать
3D печать
3D печать
3D печать
3D печать
3D печать

Процесс изготовления 3D-печатных компонентов этой сборки может иметь отдельную страницу с обучающими материалами, и на самом деле это то, что я использовал для их изготовления:

www.thingiverse.com/thing:2019585

Я включил сюда файлы для удобства.

Несколько замечаний об этом примере: лезвия (или листья) радужной оболочки фактически были изготовлены на полимерном принтере с использованием тех же файлов из-за ограничений 3D-принтера. Кроме того, весь отпечаток был увеличен на 10%. Чтобы заставить части работать вместе, потребовалась некоторая детальная работа, в итоге я придал им большую форму с помощью мелкой наждачной бумаги, универсального ножа и сверла.

Другие ирисы, которые я исследовал во время этого процесса:

souzoumaker.com/blog-1/2017/8/12/mechanica…

www.instructables.com/id/How-to-make-a-12-…

Шаг 2: Детали

Запчасти
Запчасти
Запчасти
Запчасти
Запчасти
Запчасти

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

- ирисовая диафрагма, напечатанная на 3D-принтере

- Серводвигатель Futaba S3003

- Микрокронтроллер Arduino UNO

- Светозависимый резистор: темное сопротивление 1 МОм / световое сопротивление 10 Ом - 20 кОм

- аналоговый потенциометр 10 кОм

- резистор 500 Ом

- PCB (печатная плата)

- заголовки (пять)

- провод: черный, красный, белый и желтый

- провода разъема dupont (два)

- паяльник (и припой)

-мультиметр

- ножницы для проволоки

Конструкция, в которой находится этот прототип, была сделана из МДФ, фанеры 3/4 дюйма, столярного клея, термоклеевого пистолета, жесткой проволоки (от вешалки для одежды и скрепки), а также различных сверл и бит, настольной пилы и ленточная пила, шлифовальная машинка и много проб и ошибок. Объект на фотографиях - третья итерация.

Шаг 3: Построение схемы / корпуса

Строительство схемы / жилья
Строительство схемы / жилья
Строительство схемы / жилья
Строительство схемы / жилья
Строительство схемы / жилья
Строительство схемы / жилья

При разработке этого аспекта у меня была головоломка в стиле «курица и яйцо». Поскольку у меня нет опыта работы со схемами электроники, я предпочитаю думать о схеме с точки зрения ее фактической конфигурации или псевдосхемы. Я обнаружил, что архитектура корпуса из МДФ / фанеры и проводки неожиданно сдерживали друг друга. Я пытался придумать что-то визуально простое и самодостаточное.

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

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

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

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

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

Шаг 4: Код

Код
Код

#include // библиотека серво

Серво серв; // объявление имени сервопривода

int sensorPin = A1; // выбираем входной контакт для LDR

int sensorValue = 0; // переменная для хранения значения, поступающего от датчика

int timeOUT = 0; // переменная для сервопривода

int angle = 90; // переменная для хранения импульсов

установка void ()

{

serv.attach (9); // подключает сервопривод на выводе 9 к сервообъекту Serial.begin (9600); // устанавливает последовательный порт для связи

}

пустой цикл ()

{

sensorValue = analogRead (sensorPin); // считываем значение с датчика

Serial.println (sensorValue); // выводит значения, поступающие с датчика, на экран

угол = карта (sensorValue, 1023, 0, 0, 88); // конвертирует цифровые значения в градусы вращения сервопривода

serv.write (угол); // заставляет сервопривод двигаться

задержка (100);

}

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