[Из песочницы] Гроубокс как метод познания себя

3evpim17mhatqhvlzbdud1atmzu.jpeg

Приветствую тебя, читатель! Хочу поведать тебе историю о сборке небольшого, казалось бы очень простого гроубокса, о вхождение в мир микроконтроллеров, о пути, который был пройден маленькими шажками и о борьбе с собой.

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

Все началось еще примерно в 2015 году, когда я задумал написать статью на замечательном ресурсе Хабр, я давно был здесь в качестве гостя и очень хотел стать полноправным участником. Очень дивился я тому, как быстро и казалось бы просто пишут и публикуют люди свои восхитительные статьи, написал и я —, но первый блин комом: даже не знаю прочитал ли кто-нибудь мою первую статью или нет… Теперь попытка номер два, надеюсь, эта статья, действительно, будет кому-нибудь полезной.

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

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

Головой я постоянно был в поисках нового проекта (я веб-программист, поэтому все проекты были так или иначе связаны с интернетом), но никогда не стремился на нем заработать, в год я генерировал по три — четыре новых проекта (что-то доводил до MVP, что-то оставалось только локально на моем ПК), главный критерий — полезность, но ничего я не мог продвинуть в массы, потому что нужны были навыки продаж. Я впал в отчаяние. И таком состоянии я пришел к изучению микроконтроллеров.


Технические подробности

Я начал с Arduino, быстро прошелся по главам книги-учебника и решил что-то наконец-то сделать. Подходящий проект, подумал я, будет гроубокс. Я изучил цены на них и оказалось, что даже обычный ящик без какой-либо электроники\электрики вообще, но со светоотражающим покрытием стоит 5500 рублей. По моим подсчетам моя версия должна выйти около 4500 — с автоматической подсветкой, поливом и вентилятором для опыления (первоначально еще контроль температуры был и измерение влажности почвы), но впоследствии я отказался от этой идеи.

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

enzddw4h-vlrjmp3trt8vpe5oz0.jpeg

tgxqcajowyzffh1oplmqvbvkdoq.jpeg

Далее шла электронная начинка. И я приступал к выбору коробки. Это для меня было мучительно сложно, наверное, потому что это был (да и остается) первый электронный девайс. Я решил, что обычной пищевой пластиковой контейнер подойдет.
Прошивка была написана (для автоматического включения\выключения света), все было собрано на макетной плате и, о чудо, все работало. Признаться тогда я подумал, что потратив всего около недели, я близок к завершению, но предстояло все это вывести в режим работы и тут начались приключения.

ldzkebiyyqsinej-40duvuo-p3c.jpeg

Как я уже писал, сначала я решил все поместить в пластиковый контейнер, но как оказалось он был очень громоздкий, углы у него были скругленные, поэтому плотно элементы расположить не удалось, кроме того он был очень большой и неудобен в монтаже к моему боксу. Но я все же попытался. Было спаян вот такой бородатый контроллер:

q56fxcc0j0pt0um0llznb2shxxk.jpeg

Кнопки и дисплей я решил припаять на макетную плату

s5fo8hd5zln4ebka1d6zqb8ngj8.jpeg

lap702u6ny96kya4pfh-qjqx1k8.jpeg

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

В итоге получилось как-то так: отладочная плата отдельно, Arduino Mini с кучей проводов отдельно и пластиковая коробка с приклеенными в ней реле и понижающими трансформаторами (~220–12), помещенных в пластиковую коробку. Это работало около одного дня, потом отвалился один провод, я его припаял, затем второй… Тогда я решил, что конструкция не крепкая и не безопасная: пищевую пластиковую коробку нужно чем-то заменить, а количество проводов сократить.

Решение пришло как-то сразу: контроллер должен быть припаян на плату, Тогда будет меньше проводов. Но плату почему-то решил травить самостоятельно. Заказал фломастер и текстолит на АлиЭкспресс (очень долго шли), по прибытии все нарисовал, вытравил (при помощи лимонной кислоты и перекисью водорода).

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

kx7ewmub8biwod_g657mfdnbkoi.jpeg

Тогда я вернулся к старому варианту с макетной платой, но добавил туда контроллер, получилось как-то так.

q7bzvxfzjrlnwr53sezlluwhzk4.jpeg

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

Параллельно с пайком компонентов на макетной плате, я пытался решить проблему с коробкой, где это все должно разместиться. И, признаться, я пошел довольно странным путем — я решил приобрести 3D принтер, изучив пару фишек в Blender, спалив плату управления, я распечатал вот такую нижную часть коробочки:

gfcfygskznryaecedkrrzizfkxo.jpeg

e2tf2g7bhrck0o7pf5uncezlq1y.jpeg

Потом пришло время тестов (правда почему-то) только свет и вентилятор), я думал, что насос и без этого заработает. Самое противное, что опять постоянно ломались провода в месте перегибов, я успешно их менял на другие, более лучшего качества. В итоге, после успешного тестирования я все залил клеем… Сделано это было с той целью, чтобы если кто-то из домашних решит засунуть руки или нос в коробочку — ничего страшного не произошло.

nimijpdu1foka5get6clj1r0eia.jpeg

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

pu7hhyk8bp1voao526qk9qy7tu0.jpeg

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

pbojs1ezilso_wywwwuj7_7foyy.jpeg


Заключение

С каким проблемами я столкнулся:


  1. Провода, нужно брать более качественные провода, те которые взял я быстро перетирались, отваливались и т.д. Очень с ними я намучался.
  2. Нужно учиться проектировать, это моя большая проблема. Приходилось несколько раз покупать одно и тоже разных размеров или немного другого вида, получилось много всяких ненужных трепыханий и переделок: кривой бок с дырами, торчащий дисплей из коробки, да и вообще куча расходов как материальных, так и нематериальных. Но я надеюсь, что все это уйдет с приходом опыта. В итоге все разработка встала по времени примерно в 5 месяцев.
  3. Но самая большая проблема — это я сам, я постоянно требовал от себя результатов, я был голоден до них и постоянно твердил — это плохо, это не так. Многократно хотел все бросить, лишь бы я перестал нападать на себя.

В итоге я так и не смог построить свой идеальный волшебный мир. Отчасти потому что был ориентирован на результат, а не на процесс. Сила привычки, видимо.

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

А может быть потому, что когда мы смотрим ролики или читаем статьи — все кажется очень просто, но в процессе появляется столько трудностей, сколько мы представить себе не могли и тут появляется снова надзиратель, который хочет указать на свое место и не лезть не в свое дело.

Я обращаюсь к таким как я, я точно знаю, нас таких много — давайте творить и перестанем критиковать себя, идеального мира не существует, но процесс создания (творения) делает поистине что-то волшебное, давайте привнесем в этот реальный мир волшебства!

© Habrahabr.ru