intro

Я уже сбился со счёта часов, которые я потратил на то, чтобы сделать “небольшую коробочку” и вдруг я поймал себя на мысли, что я очень зауважал инженеров — людей, который умеют и могут проектировать и создавать новые вещи. В голове сразу нахлынули воспоминания об устройствах, который я разбирал в детстве (да и не только). Эти забавные ситуации, когда при откручивании последнего болтика, как чёрт из табакерки, вылетало несколько мелких пружинок и деталек, которые было совершенно невозможно упаковать обратно.

Однажды я решил сделать небольшое устройство (“Security Access Tuner” из игры Alien: Isolation) — контроллер, экран, пара элементов управления, да упаковать это всё в небольшой корпус, который планировалось напечатать на 3d принтере. Тогда я ещё и подумать не мог, сколько же времени потребуется, чтобы все эти мелочи собрались в одно целое…

Меня всегда привлекала идея создания чего-то нового — что-то такого, чего не так часто получается делать в повседневной суете. Не знаю, что именно послужило толчком к созданию именно этого устройства, но в один из дней я так и подумал: “А почему бы не сделать security access tuner из игры Alien: Isolation”.

В игре есть некое устройство для “взлома электронных замков”. Это устройство вводит в игру механику мини игр. Тут уж выбирайте мемасик себе по вкусу, но это что-то между “Мы добавили игр в твою игру, чтобы ты мог играть в игры, играя в игру” и “We need to go deeper!”. Не стану утомлять вас подробностями игрового процесса, т.к. каждый желающий может узнать о том, что это за “зверь” в деталях, написав название в любимом поисковике. Просто условимся, что есть некоторое карманное устройство с играми, которое я решил реализовать.

В игре устройство выглядит вот так (я стремился достаточно точно воспроизвести внешний вид устройства, однако это не было главной задачей, поэтому финальный результат немного отличается от оригинала):

AccessTuner

Скриншот из игры, устройство находится в руках персонажа.

Итак, нужно сделать небольшое устройство с играми и этих самых “мини игр” — две. В первой (та, что на картинке сверху) нужно за отведённое время выбрать символы в том порядке, в котором они отображены на экране. Игра не сложная, если привыкнуть, но поначалу заставляет задуматься. Вторая игра на реакцию и нужно просто вовремя нажимать на кнопку (не стану заострять не ней внимание, т.к. ничего особенного в ней нет). Помимо игр есть ещё несколько экранов состояние, переходов между играми и просто «Please wait...».

По удачному стечению обстоятельств, у меня без дела лежала плата от Texas Instruments — Tiva C (аналог Arduino) и экран для неё же. И вот в один из дней, вдохновение напало на человека с наличием свободного времени и для этой парочки (платы и экрана) нашлось применение…

Разработка


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

Программирование — это то, чем я зарабатываю на хлеб и я понимал, что серьёзных “вызовов” программная часть предоставить не сможет. Поэтому, для того, чтобы воплотить идею в жизнь, я начал с того, что мне ближе всего — с программной части.

Обработка событий от кнопок и поворотного энкодера (rotary encoder) совершенно банальны и я не вижу смысла что либо рассказывать об этом. Хоть сколько интересной частью программной реализации был вывод графики на экран. Точнее даже не сам вывод, а скорее совокупность действий, которые были необходимы, чтобы на экране появилось то, чего я хотел. В основном, “проблемными” частями были:

  1. Память устройства ограничена и много картинок (спрайтов) в память устройства сложить не получится.
  2. Экран работает с цветами в формате 565 (два байта на цвет), т.е. для всей графики, нужно делать конвертацию в конечный формат, но ввиду ограничения памяти, в памяти устройства не получится хранить все необходимые изображения в таком формате.
  3. Экран обновляется с ошеломительной частотой ~1 кадр в секунду, если необходимо перерисовывать весь экран.

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

На основе этих самых спрайтов была реализована вся графика (в том числе и текст), если не считать пару исключений:

  • Логотип вымышленной компании производителя (Seegson), который использует палитру из 16-и цветов (т.е. 2 пикселя в одном байте). Мне захотелось чуть больше красоты при включении устройства и я добавил его уже в самом конце разработки, т.к. оставалось ещё немного памяти.
  • Были реализованы функции для рисования графических примитивов (например, прямоугольников, а в интерфейсе, который я пытался повторить, их много).

Проблему частоты обновления экрана, программно было решить не так уж и просто. Особенно для мест, где нужно обновлять данные на экране достаточно часто.

К счастью, проблема была не в самом экране, а в медленной шине данных (SPI шина), поэтому нужно было просто поберечь штаны и не шагать так широко — рисовать только то, что реально необходимо, т.е. “чем меньше, тем лучше”.

Прорисовка интерфейса была разбита на три части, чтобы решить проблему частоты обновления:

  • Начальная прорисовка (тут рисуется всё то, что остаётся неизменным — фон и статичные элементы интерфейса). Этот этап занимает почти секунду, но происходит только при смене экранов и эта секунда не так и заметна.
  • Анимации, которые не зависят от действий пользователя (состояние таймера обратного отсчёта, помехи и прочее). Обычно это небольшие изменения — не более 15% экрана, что даже в таком случае позволяет обновить экран не реже 6 раз в секунду (на деле частота обновления значительно выше и задержки незаменты). Исключением был лишь экран с помехами — о нём я расскажу чуть ниже.
  • Анимации, которые зависят от действий пользователя (положение ползунков или рамка вокруг выбранного символа). Эти события происходят не так часто, т.к. при всём желании, пользователь не сможет нажимать на кнопки быстрее, чем состояние способен перерисовывать экран.

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

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

Экран делится на две части (левая и правая сторона). Рисование начинается сверху.

  1. Случайным образом выбирается часть экрана (левая или правая сторона).
  2. В рамках этой части рисуется полоска случайных чёрно-белых точек. Этот экран имеет две базовые операции для работы с ним (если не считать операции инициализации) — операция записи в буфер экрана и операция перемещения указателя в рамках этого самого экранного буфера. Причём, по непонятной мне причине, операция перемещения указателя работает ощутимо медленнее, чем операция записи. Таким образом, для этого экрана, последовательная запись в буфер экрана позволяет закрасить весь экран примерно за 0.75 секунд, а выполняя закрашивание каждого пикселя отдельно, потребуется почти за вдвое большее время (1.4 секунд). Именно из-за этой особенности рисуются полоски чёрно-белых точек, а не просто случайные пиксели.
  3. Переходим к следующей вертикальной полоске на экране и повторяем действия описанные в 1 пункте.

Когда все вертикальные строки нарисованы, то прорисовка продолжается заново сверху. В результате наложения одних чёрно-белых точек на другие, совершенно не заметно то, что экран по сути “закрашивается полосками” вот так (первые 20 случайных прорисовок):

Рисование шума

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

В интерфейсе был нужен ещё один довольно любопытный элемент — индикатор выбранной радио частоты. Для того, чтобы было проще представить, можем считать, что у нас в руках аналог радиоприёмника. Есть колёсико настройки, которое можно крутить по кругу, чтобы найти (выбрать) нужную частоту. На экране рисуется индикатор этой самой частоты, который может обойти полный круг по экрану и вернуться обратно в начальное положение. Индикатор в интерфейсе представляет собой треугольник (на деле это не совсем так, но для простоты отображения, условимся, что это треугольник), который вращается вокруг одной из вершин, расположенной в центре экрана:

Индикатор - треугольник

Серым цветом на картинке отмечены границы экрана.

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

Индикатор

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

Задача сама по себе не сложная, просто её решение “в лоб” с перерисовкой всего экрана снова недопустима. Поэтому рисовались только отдельные фрагменты индикатора (две скошенные границы и прямоугольник, что соединяет их), а предыдущее состояние индикатора “стиралось” (красный цвет на картинке) перед прорисовкой:

Индикатор - прорисовка


Т.е. для этого самого индикатора была добавлена функция рисования прямоугольника, который разделён по диагонали и закрашен двумя цветами (один цвет с одной стороны относительно диагонали и другой цвет со второй стороны). Индикатор представлял собой два таких элемента (отмечены цифрой 1 на картинке) и прямоугольники соединяющие их (отмечены цифрой 2):

image

Ширину (или высоту) этого элемента определяет смещение относительно центра экрана. Так, когда индикатор находится в самом центре экрана, рисуется только прямоугольник (2), а при смещении индикатора ближе к краю экрана ширина элементов (1) увеличивается. Когда индикатор находится у краёв экрана, то при прорисовке добавляется ещё один прямоугольник:

image

Пожалуй на этом и заканчиваются все “интересности” программной части и я могу перейти к тому, что же заставило меня так сильно зауважать инженеров…

Не инженер


Несмотря на то, что в университетском дипломе у меня написано, что я “инженер компьютерных наук”, на деле я осознал, что я “всё что угодно компьютерных наук”, но не инженер. Я понимаю, что у слова “инженер” довольно широкое определение и в наше время вообще очень часто получается, что тот, кто не менеджер, тот инженер.

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

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

Итак, у устройства, с левой стороны должно быть колёсико прокрутки, которое можно вращать вверх (или вперёд), чтобы выбрать следующий символ на экране или вращать вниз (назад), чтобы выбрать предыдущий символ. Я решил, что полноценное колесо прокрутки я делать не буду, т.к. для поворотного энкодера (rotary encoder) или чего-то похожего потребовалось бы куда больше места в корпусе, да и для перехода “вперёд” / “назад”, более логичным решением показались именно кнопки.

Я решил спроектировать рычаг в виде полукруга, который можно будет сдвигать вверх или вниз. Этот самый рычаг должен был нажимать на кнопку “вверх” или кнопку “вниз” и находиться на какой-то оси, чтобы избежать “лишних телодвижений”:

Идея рычага

Идея казалась мне до безумия простой, но вместе с ней появилась масса вопросов (на которые люди, занимающиеся проектированием устройств, скорее всего бы имели готовые ответы) на которые у меня не было ответов. А вопросы были следующие:

  • На чём и как крепить кнопки? На картинке сверху ведь они просто “болтаются в воздухе” и в конечном устройстве так быть не может.
  • Нужно ли думать о механизме для возврата рычага на центр? Нужны ли пружины или хватит упругости кнопок?.
  • Как вставить рычаг в корпус так, чтобы отверстие в корпусе было максимально незаметным? Будет ли рычаг одной деталью или несколькими?
  • Как будет крепиться ось? Будет ли ось частью корпуса или отдельной деталью?
  • Как убедиться, что то, что “работает на бумаге”, будет работать после печати на 3d принтере?

И я уверен, что есть куча готовых решений, а у китайцев скорее всего можно заказать что-то вроде «Модуль рычага кнопки мода инженерное запах женщины» в красивой коробочке. Я знаю и о готовых инструментах (редакторов) для создания подобных решений, но ради спортивного интереса, я решил “изобретать колесо”, придумывать всё сам и обойтись только базовыми инструментами, которые “были под рукой”.

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

Каждый раз, собирая очередной прототип, я вспоминал про все эти включатели / кнопочки и рычажки, которые окружают нас в повседневной жизни. Меня не покидало ощущение того, что я «котёнок на ламинате» — пока вокруг, в каждом чайнике, всё так элегантно и удобно, а все мои прототипы были какими-то корявыми и «недодуманными». Каждый мой прототип собирался “еле-еле” (если собирался вообще), т.е. казалось всё было бы отлично собралось, если бы размеры были чуть побольше, но приходилось придумывать решение в рамках того места, которое было доступно в корпусе. Это и был тот момент, который я упоминал в самом начале:
В голове сразу нахлынули воспоминания об устройствах, который я разбирал в детстве (да и не только). Эти забавные ситуации, когда при откручивании последнего болтика, как чёрт из табакерки, вылетало несколько метких пружинок и деталек, которые было совершенно невозможно упаковать обратно.

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

  • В корпусе будет отдельное место под кнопки, кнопки снизу будет удерживать дополнительная деталь.
  • Рычаг в центр будет возвращаться за счёт упругости кнопок (благо ход у рычага очень маленький и его смещение относительно центра не особо и заметно). К тому же у рычага очень маленький вес, что позволяет не беспокоиться о том, что под весом рычага кнопка будет нажата.
  • Рычаг будет одной деталью (т.е. не будет собираться из нескольких частей) и вставляться он будет сверху. Отверстие будет такого размера, чтобы свободно проходила одна из “ног” рычага, после этого рычаг будет сдвигаться, чтобы “просунуть вторую ногу”.
    Вставляем рычаг
  • Ось будет частью той самой дополнительной детали, которая будет удерживать кнопки.
  • Прототипы позволили убедиться в том, что работать будет и в жизни, т.к. я на деле проверял свои предположения по мере их поступления.

Блок рычага собирался следующим образом (оранжевый — рычаг, полупрозрачная стенка и серая деталь — части большого корпуса, а зелёная — дополнительная деталь для фиксации кнопок и осью рычага):

Сборка блока рычага

Отверстие под рычаг на деле получилось вот таким и на конечном устройстве не бросается в глаза:

Отверстие под рычаг

Я догадываюсь, что это далеко не самое элегантное инженерное решение в мире, но в данном решении, у мне всё было “вымерено” до миллиметра. Будь ширина детали чуть меньше и не хватило бы прочности — появлялся бы люфт (да и я серьёзно сомневаюсь, что работать в ещё меньшем масштабе было бы удобно). Если оставить чуть больше места “для манёвров” или сделать стенки детали чуть толще и на своё законное место не влезет экран.

Я понимаю, что читая всё это, может показаться, что этот самый рычаг — это очень незначительная часть устройства, но на деле, почти половину времени, что я потратил на весь этот проект, я потратил именно на этот рычаг.

Прототипы


Когда я рассказываю кому-либо похожие истории, люди не воспринимают меня всерьёз. Основным ответом на моё заявление о моей “пониженной инженерности” было: “Ну что ты рассказываешь сказки? — Ведь всё ведь работает, да и смотрится не хуже фабричного производства!”.

Итак, я уже говорил, что использовал лишь инструменты, которые были под рукой. Для 3d моделирования я использовал online редактор, который не стану называть вслух (чтобы пост не сочли за рекламный). Этот самый редактор не слишком хорошо подходит для моделирования сложных объектов, но меня он полностью устраивал, т.к. с ним я был знаком и мог начать работать сразу. Если мне нужно было бы описать его функционал, то я бы сказал, что это такой MS Paint из мира 3d моделирования — только базовые операции, только хардкор. В этом редакторе нет возможности напрямую работать с вершинами или нормалями — только со всем объектом целиком.

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

Модель для печати

Но дьявол кроется в деталях, поэтому, давайте взглянем на все те “шрамы”, которые оставил человек с “неинженерной костью” на несложном корпусе устройства:

Модель вблизи

На изображении показано место расположения того самого рычага о котором я говорил чуть выше.

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

Конечно, на конечном устройстве это никак не сказалось, т.к. это смещения / несоответствия в масштабе меньше 0.1мм и точность 3d печати не так высока, чтобы это было заметно.

Вот ещё одно место, где в корпусе делался “паз” под экран:

Паз под экран

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

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

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

Место под гайки

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

Добавляя эти самые отверстия, я исходил из мысли “как было бы удобнее всего сделать отверстия в модели”. Знающие люди сразу заметят, что нужно было думать о том, с какой стороны будет удобнее вставлять гайку… В результате я потратил немало времени на то, чтобы самым противоестественным образом (и дело тут не в моих странных предпочтениях, а в глупом расположении отверстий), пинцетом “всунуть” гайки в отверстия.

И тут во мне проснулся художник


Настал день X, когда все подготовительные работы подошли к концу и пришло время распечатать детали, собрать всё вместе и покрасить.

image
Самый первый этап — печать корпуса и отрывание поддержек (supports).

Как видно по фото (а я надеюсь, что видно), качество печати недостаточно высоко, чтобы было можно просто покрасить корпус, поэтому следующим шагом было так любимое мной “доработать напильником до нужной формы”:

image
По мере шлифования корпуса, я отмечал “проблемные места” крестиками.

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

image
Остались непрокрашенные участки в углублениях, но они закрасятся позже.

Забавным моментом был и подбор цвета. Похоже, что я отношусь к тем людям, которые различают 7 с половиной цветов, поэтому цвет может существенно отличаться от того, что был в игре. Да и глядя на скриншоты из интернета я вообще потерял веру в свою способность воспринимать цвет. Казалось, что на каждом скриншоте я видел новый цвет (оттенки серого / синего). Я старался подобрать что-то похожее, да и просто искал такой цвет, в который я бы стал красить подобное устройство, если бы я производил что-то подобное.

image
Тут появилось и защитное стёклышко для экрана — оргстекло со сточенными краями.

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

image
Экран заработал пару царапин, пока валялся вместе с остальными деталями, поэтому был “упакован” в полиэтилен до лучших времён.

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

image

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

image

image

image

image

Сразу скажу, что символы внизу совершенно случайны и ничего не значат. Любителей теории заговора я попрошу расслабиться.

Ну и пара картинок “в работе”:

image

image

image

image

Ну и работает это всё примерно вот так:

image


Послесловие


В целом, как и обычно, то, что я хотел бы сказать этой историей — это то, что не стоит бояться делать что-то своими руками, не стоит бояться придумывать что-то новое (читать, как “костыли и велосипеды”). И даже если у вас «неинженерная кость», вы сможете узнать много нового и просто забавно провести время.

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

Спасибо всем, кто дочитал до конца.

Комментарии (125)


  1. AntonSor
    12.05.2019 12:23

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


    1. simbiod Автор
      12.05.2019 14:06

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


  1. steanlab
    12.05.2019 13:08

    статья задела за живое. я примерно с такой же задачей как у вас столкнулся, когда делал 3D реплику своего ноутбучного cd-rom (описал в статье). Пришлось 3D моделирование осваивать за 2 дня и ночи :) Но потом еще пару дней отходил, хотелось все время еще помоделировать :)


  1. Ezhyg
    12.05.2019 13:23

    Почему не вставлять этот злополучный рычаг снизу — изнутри корпуса? Так можно уменьшить проём необходимый для вставки :). При просмотре гифки — оно само так напрашивается. Мало того, это удобнее при сборке — рычаг не выпадет наружу, даже если дрогнет рука, ведь нижние лапы крупнее.

    Можно использовать дополнительную накладку (весьма популярный элемент, кстати) — тонкую плоскую пластинку (полукруглую/полусферу/и т.п.), с вырезом точно под кнопку/рычаг/ползунок или их шток, на который насаживается колпачок (ещё один частый «инженерный» вариант решения), которая будет «защищать» отверстие в корпусе, которое можно будет сделать чуть крупнее, одновременно и скрывая «дыру» и защищая от грязи.


    1. simbiod Автор
      12.05.2019 14:05
      +1

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

      Про дополнительную накладку тоже были мысли, но не прижились.

      За идеи — спасибо!


      1. Ezhyg
        12.05.2019 14:29

        Разве толщина важна? Важны же ширина и длина, соответствующие ширине и длине отверстия, и расстояние между верхом и низом рычага («ножка грибка»). Ну и, что наружная часть меньше внутренней — удобство сборки.

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

        Да и от одной мысли от «вставить снизу» я вижу гайки и пинцет.

        Зачем? Опять же, исходя из гифок — рычаг туда просто «роняется» и вставляется движением пальца вперёд-назад.


      1. gorbln
        12.05.2019 22:29
        +1

        Очень подозрительное место этой качалки — это там, где втыкается ось. Ооочень тонкая стенка с потенциальной возможностью «нажать от души» — место, где всё сломается.
        Ну и убирать концентраторы напряжений — острые углы (прямой — тоже острый =).
        Типа того. Скругления выделены зелёным:

        (зубчики рисовать не стал — лень)

        В целом проект получился очень симпатичным, в особенности постобработка и покраска.


        1. simbiod Автор
          12.05.2019 22:40

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


          1. gorbln
            12.05.2019 22:51

            Ну, скругления я, понятное дело, специально сделал адово большими, для наглядности. Можно и поменьше.
            Редактор — рекомендую нормальный инженерный софт — Solidworks, Creo, Компас 3D, Fusion360. Остальное от лукавого.
            Я как-то давно порисовал в 3D в автокаде. 2004, кажется. Один раз, на большее меня не хватило. Отсутствие истории и параметризации — это ппц.


            1. zheckiss
              14.05.2019 12:50

              Вы, наверное, не пробовали Autodesk Inventor. Autocad это прошлый век. Кстати, Inventor можно использовать совершенно бесплатно! В отличие от единственного реального конкурента – Solidworks.


              1. gorbln
                14.05.2019 23:39

                В 2005-ом — нет, не пробовал, и даже не знал о нём.
                А сейчас — не хочу. Меня компас и солид устраивают (есть и там и там косяки, но не сказать что ужас-ужас)


              1. Krat0S
                15.05.2019 08:34

                А ссылкой не поделитесь?
                Я что-то не смог найти бесплатного варианта, кроме триала на 30 дней.
                Или он и имелся в виду?


                1. Andy_Big
                  15.05.2019 08:53

                  www.autodesk.ru/education/free-educational-software
                  Для студентов и преподавателей.


                  1. Krat0S
                    15.05.2019 09:03

                    Жаль, что я давно уже не студент :)


                    1. Andy_Big
                      15.05.2019 09:14
                      +1

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


                    1. bazis56
                      15.05.2019 16:06

                      1. Andy_Big
                        15.05.2019 17:03

                        А чем он лучше Фьюжна? Работа только онлайн — нет, спасибо :)


                1. zheckiss
                  15.05.2019 13:37

                  1. Krat0S
                    15.05.2019 14:03

                    Я выше уже ответил, это как бы совсем не бесплатная версия, если вы не студент или не преподаватель.


                    1. Ezhyg
                      15.05.2019 15:11

                      Вот, надо было в первый же раз сохранить в закладки, а то уже в который раз приходится искать собственный комментарий с разжёвыванием непонимания: habr.com/ru/post/422019/#comment_19060629

                      Тип лицензии Fusion 360 для энтузиастов и стартапов (Start-up, Student or Educational licensing).
                      Такой тип лицензии активируется на один год и при необходимости через год Вы можете продлить её снова на год и так далее. Детали выбора типа лицензии тут knowledge.autodesk.com/support/fusion-360/troubleshooting/caas/sfdcarticles/sfdcarticles/How-to-activate-start-up-or-educational-licensing-for-Fusion-360.html
                      ...

                      и далее по тексту

                      Заранее предвижу вопрос — «Так мы же про Инвентор» и сразу и отвечу на него — с Инвентором почти та же политика лицензирования.


                      1. Andy_Big
                        15.05.2019 15:31

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

                        You must be a Student, Faculty, Qualified Educational Institution or Other Authorized Education User (each an “Education User”) to access or use an Education Offering, including any Software licensed under an Education License Type.


                        Ну а Фьюжн и Инвертор — это все же немного разные вещи :)


                        1. Ezhyg
                          15.05.2019 16:59

                          Я лично зарегистрирован, имею лицензию и т.д.
                          процитировал ведь «не про учебную лицензию», а вы продолжаете гнуть линию и цитируете мне выдержку из… «учебной».

                          Why apply for the Technology Impact Program?
                          Startups and nonprofits may be eligible to receive a donation of Autodesk software and technology that enables 3D design, engineering, visualization, and simulation of your ideas for impact.

                          www.autodesk.com/sustainability/technology-impact-program


                          1. Andy_Big
                            15.05.2019 17:06

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


                            1. Ezhyg
                              15.05.2019 20:23

                              Написать — «дайте ссылку», прямо под ссылкой это… блджадж, что это и как это назвать?!
                              (прямо тот самый анекдот — папа, а где море?… папа, что это было?)

                              И нет, я не виноват, что у них сайт такой… слегка запутанный.

                              У меня, хоть и «стартапера и бездоходного пользователя» в строке лицензия всё так же написано — «Для студентов», потому что это, по сути, то же самое, только подтверждать свою «учебность» не нужно.


                              1. Andy_Big
                                15.05.2019 22:16

                                Я не нашел как там получить лицензию тому же энтузиасту. Я вижу там только как подать заявление на рассмотрение вопроса предоставления лицензии «некоммерческим организациям, стартапам и предпринимателям, которые используют дизайн для экологических или социальных целей». То есть не просто стартапу, а еще и используемому для значимых целей. Имеющему свой сайт или профиль в соц. сетях. И там еще подумают давать лицензию или нет :)
                                Это уж совсем не то же самое, что бесплатная лицензия на Фьюжн и доступна далеко не всем желающим :)


                                1. Ezhyg
                                  15.05.2019 23:11

                                  А может вы будете чуточку внимательнее?!
                                  Во-первых, самый первый пункт — non-profit. Во-вторых, это просто опрос (делаемый сторонней компанией, адрес сайта — квалтрикс). В-третьих, можно тупо жать далее.
                                  Как же я справился с этим чертовски трудным квестом, не обманув разработчиков и заполучив лицензию? Нет, это решительно невозможно!


                                  1. Andy_Big
                                    15.05.2019 23:24

                                    Как же я справился с этим чертовски трудным квестом, не обманув разработчиков и заполучив лицензию?

                                    Откуда я знаю? :) Я вижу, что там написано очень ясно и однозначно: «Autodesk donates software to nonprofits, startups, and entrepreneurs that are using design for environmental or social good.». Если Вы увидели только слово nonprofit, то можете еще почитать на той же странице ниже что Autodesk подразумевает под этим понятием:
                                    Be a 501c3 nonprofit or equivalent
                                    Have a non-discrimination policy
                                    Have an annual operating budget less than $10 million USD

                                    Можете погуглить по «501c3 nonprofit» что это такое. Спойлер: это не энтузиаст-частник.
                                    Так что можете рассказать на каком основании Вы можете использовать эту лицензию, это будет интересно :) Меня об этом спрашивать не нужно — я не представляю как этого добиться, не будучи стартапом или предпринимателем, подвизающимся в «environmental or social good» :)


                                    1. Ezhyg
                                      16.05.2019 00:46

                                      Что я могу сказать, в 2015 году было по другому.

                                      TechSoup-а никакого не было.

                                      Software for Nonprofit Organizations
                                      The Autodesk Technology Impact Program donates software to nonprofits that use design to address epic challenges. The Autodesk Technology Impact Program is managed in partnership with TechSoup. If you work for a nonprofit that is actively engaged in designing a better world, you may be eligible for this program.

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

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


                                      1. Andy_Big
                                        16.05.2019 01:34

                                        Nonprofit Organizations

                                        А как называется Ваша некоммерческая организация? :)


                                        1. Ezhyg
                                          16.05.2019 08:40

                                          New Order Inc.


                                          1. Andy_Big
                                            16.05.2019 14:40

                                            Ну то есть у Вас все же нет права использовать эту лицензию :) Почему Autodesk Вам ее все же выдал — другой вопрос, но по условиям этой лицензии Вы ее используете неправомерно :)


                                            1. Ezhyg
                                              16.05.2019 15:46

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

                                              А вину и правомерность устанавливает суд. Не советую бросаться такими обвинениями, чревато.


            1. Andy_Big
              14.05.2019 13:51

              Вот поддержу за такие программы как Компас 3D, Solidworks, Inventor. В них можно не просто строить детали, но и делать сборки, проверять детали в совместимости, смотреть зазоры и т.п. За Компас и Инвертор не скажу, но в Солиде можно даже строить механические взаимодействия.


              1. zheckiss
                14.05.2019 14:40

                В инвенторе тоже еще как можно!


            1. opetrenko
              14.05.2019 21:14

              Я бы и с другой стороны оси скрглил углы. Как раз там будут напряжения на разрыв.


              1. gorbln
                14.05.2019 23:41

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


  1. Alex_ME
    12.05.2019 15:20

    А как вы сделали «зернистую» фактуру корпуса? Это баг или фича?


    1. simbiod Автор
      12.05.2019 15:31

      Фича покраски валиком и акриловыми красками. Краска довольно густая и ложится вот так.


    1. Bookvarenko
      12.05.2019 22:10

      гугл «молотковая эмаль»


  1. amarao
    12.05.2019 15:25

    Опыт!


  1. Andy_Big
    12.05.2019 15:56
    +1

    Экран обновляется с ошеломительной частотой ~1 кадр в секунду, если необходимо перерисовывать весь экран.

    Как-то больно уж медленно… Какое разрешение у экрана?


    1. simbiod Автор
      12.05.2019 16:02

      320x240

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


      1. Andy_Big
        12.05.2019 16:47

        У меня TFT с разрешением 176х220 полностью отрисовывается за 0.16 сек — это при частоте SPI 12 МГц. Отрисовка полностью софтовая, без DMA, без буфера, то есть на ходу рисуются шрифты (пропорциональные, кстати), линии, заливки и т.п. Микроконтроллер — STM32F051, работающий на 48 МГц. Без всяких хаков и глубоких оптимизаций, тупо в лоб :)

        Вот такой конкретно экран отрисовывается за 162 мсек


        1. simbiod Автор
          12.05.2019 17:13

          Значит мне повезло, что у меня не было такого экрана и было с чем «воевать».
          Но информацию спасибо!


          1. Andy_Big
            12.05.2019 17:42
            +1

            Да у них вроде один принцип — выставил координаты и гонишь поток байтов в GRAM. Или у Вашего дисплея есть какие-то нюансы с записью данных?
            Вот мои исходники — drive.google.com/file/d/1S3ygNztta1OERrV8pSQBMptCmMeUOUk7/view
            Они некрасивые, непричесанные, набросанные по-быстрому на коленке, но вдруг что-то из них пригодится :)
            Там два основных полезных момента.
            1. Интерактивные объекты экрана. Что-то типа меню в виде строк, пунктов, значков. Каждому пункту можно задать координаты, размеры, цвета, шрифт, выравнивание, предыдущий и следующий пункты, функцию отрисовки и т.п.
            2. Пропорциональные шрифты в двух вариантах — однобитные (есть точка/нет точки) и двухбитные (4 градации прозрачности каждой точки).


      1. kdekaluga
        14.05.2019 13:06

        Это 76.8К точек или 153.6 Кб. Секунду такой объем данных передается в SPI на частоте чуть более 1 МГц. Но даже atmega328 в Arduino Uno умеет быстрее, причем в несколько раз.


        1. Andy_Big
          14.05.2019 13:55

          Не нужно забывать, что передача идет не сплошным потоком битов, а побайтно, со всякими проверками и операциями между каждым переданным байтом.
          Было бы много оперативки — можно было бы отрисовать все в буфере и потом через DMA залить его в дисплей, вот тогда был бы сплошной непрерывный (почти) поток :)


          1. kdekaluga
            14.05.2019 17:05

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

            Кстати, большинство контроллеров дисплея поддерживают вывод в «окно» и в любом направлении (как в горизонтальном, так и в вертикальном). Это позволяет делать многие операции как раз непрерывным потоком байт (например, вывод текста).


            1. Andy_Big
              14.05.2019 18:29

              я, прежде всего, хотел сказать, что секунда на такой экран — крайне медленно, и проблема тут где-то еще, но не в интерфейсе SPI

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

              Это возможно если достаточно оперативной памяти для построения в ней изображения такого окна, иначе все равно придется строить на лету из шрифтов и передавать побайтно, проверяя после каждого байта состояние SPI :)


              1. kdekaluga
                14.05.2019 18:41

                Это возможно если достаточно оперативной памяти для построения в ней изображения такого окна, иначе все равно придется строить на лету из шрифтов :)

                Я и имел в виду «на лету» :) В случае софтварного SPI, конечно, будут паузы между байтами, если не углубляться в ассемблер и не писать код, который готовит следующий байт для отправки в процессе отправки текущего (для WS2812 так делал). В случае аппаратного SPI и прерываний можно получить поток данных без пауз, для этого хватит и небольшого циклического буфера FIFO — SPI вытаскивает оттуда байт (или блок из нескольких байт) и отправляет, а основной код в это время наполняет буфер данными.


                1. Andy_Big
                  14.05.2019 19:11

                  Ну… С прерываниями и двойным хардварным буфером SPI паузы, может быть, и станут почти незаметными :) Если оставшийся софт будет успевать между прерываниями готовить следующий байт :)


  1. jaiprakash
    12.05.2019 16:09

    Просто у вас КАДа нормального не было)). Параметрического.


    1. vitmeat
      12.05.2019 16:38

      и какие умеют? я знаю opescad, но он как то больно медленно развивается (((


      1. Ezhyg
        12.05.2019 17:12
        +1

        Fusion 360 :)


        1. nad_oby
          13.05.2019 12:30

          Oneshape тоже через веб интерфейс.


          1. Ezhyg
            13.05.2019 13:46

            Onshape*

            Почему «тоже»?
            Фьюжн хоть и требует интернет раз в неделю (но как минимум раз запустится и без этого) и при установке, но работает не в вебе.


            1. nad_oby
              13.05.2019 14:02

              мой косяк, думал что он только в вебе


  1. SignallerK
    12.05.2019 16:44

    Как я понимаю автора. Сам вот не давно делал корпус:

    3d модель
    image


    1. simbiod Автор
      12.05.2019 17:13

      Очень круто! Спасибо, что поделились!


    1. EviGL
      12.05.2019 21:42

      Меня в задаче "просто сделать корпус для моей платы" дико выручила готовая параметрическая библиотека под OpenSCAD.
      Она, конечно, не настолько гибкая чтобы повторить то, что у вас получилось.
      Но зато позволила мне поковыряв параметры в коде и позамеряв плату линейкой через 15 минут получить готовые файлы для печати, без капли 3D-моделирования.


      Фото и видео моей простенькой коробочки

      image



      1. SignallerK
        12.05.2019 22:21

        Спасибо, классная идея насчёт параметризируемой коробки. Добавил в закладки.


  1. Andy_Big
    12.05.2019 17:11
    +3

    Тоже ни разу не инженер и в свое время пришлось помучиться с корпусами :)

    Для рисующих часов



    1. simbiod Автор
      12.05.2019 17:14

      Тут уже почти клуб «не инженеров»! У Вас отлично получилось!


      1. Andy_Big
        12.05.2019 17:49
        +1

        Спасибо :)
        Я и сейчас потихоньку тереблю проектирование корпуса для «аналогового» метеопоказометра :)

        Заголовок спойлера


        1. opetrenko
          14.05.2019 20:45

          Скругления G3-continuous?
          Без болтов по бокам не получалось?


          1. Andy_Big
            14.05.2019 22:46

            Скругления G3-continuous?

            Не совсем понял :)
            Без болтов по бокам не получалось?

            Тут передняя крышка вставляется в корпус, ложась на упоры по периметру, а болты ее фиксируют.
            Вот так


            1. opetrenko
              15.05.2019 17:03

              Кривизна поверхности (вторая производная) меняется без скачков. Т.е. третья производная — непрерывна.
              https://www.core77.com/posts/12752/a-periodic-table-of-form-the-secret-language-of-surface-and-meaning-in-product-design-by-gray-holland-12752
              Особенно заметно в бликах на глянцевых поверхностях и в больших скруглениях.

              Два болта снизу утопить, а верх пусть цепляется за какой-нибудь выступ внутри?
              Думаю, на форумах настоящих сварщиков будет более надежные советы. Я сам так — «красим, белим».


              1. Andy_Big
                15.05.2019 17:18

                Я еще более ненастоящий сварщик, т.к. пояснения про производные отлетели от меня как от стенки :)) Но суть я все же уловил. Да, эских корпуса рисовался кривыми, которым задавались условия касательности к прямым отрезкам, с которыми они соединялись, так что резких изменений кривизны там не должно быть :)
                По поводу болтиков — если честно, то мне так даже понравилось — болтики симпатичные, а снизу все равно будут ножки высотой 2-3 мм :) Но и Ваше предложение кажется очень хорошим. Единственное «но» — стенки корпуса будут печататься вертикально и с выступами на них нужно быть поаккуратнее, чтобы не избавляться после печати от кучи поддержек и следов от них :)


                1. opetrenko
                  15.05.2019 19:43

                  вот тут наверное лучше показано, почему дизайнеры часто считают недостаточным простое условие касательности поверхностей:
                  https://knowledge.autodesk.com/support/inventor-products/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/Inventor-Help/files/GUID-C67F8283-DFDF-498F-89BE-91E131CE6171-htm.html
                  Кузова автомобилей помещают в бокс с паралелльными лампами и рассматривают как переливаются блики. CAD программы тоже позволяют рассмотреть zebra lights блики. Что бы блики плавно текли и не изламывались ставят условие G2. Я часто слышу о G3. Хотя, первый айФон кажется, был с G1 в маленьких деталях и ничего )))) Просто увидел ваш симпатичный корпус и как плавно он скруглен, вот и написал.

                  Да, болтики аккуратные и придают оттенок профессионального оборудования.
                  Вообще — круто!


                  1. Andy_Big
                    15.05.2019 22:36

                    Кажется, я понял. Спасибо за ссылки, с интересом почитал. Если честно — даже не догадывался о таком виде анализа и об этой классификации пересечений поверхностей :)

                    Тоже попробовал свой корпус в зебре

                    Вид сверху-справа.


                    1. opetrenko
                      16.05.2019 15:55

                      Представьте плоскость и касательное ей скругление фиксированного радиуса — g1 случай.
                      Ваш взгляд движется перпендикулярно прямой g1-спряжения по плоскости. Градус за градусом. Под каким-то углом вправо уходит отраженная зебра-линия. Как в обычном зеркале её отражение прямое — с каждым градусом поворота взгляда она уходит вправо и вверх на одну и ту же величину ( приблизительно).
                      Но вот ваш взгляд подходит к скруглению перпендикулярно линии раздела. Плоскость кончилась. Взгляд прошел 0.1градуса по цилиндру, в этом месте поверхность успела повернуться скажем на три градуса, следующие 0.1градуса — еще +3градуса. Т.е. Отраженная линия видна не на +0.2градуса дальше, а на +6.2 градуса.
                      Т.е. поменяласть как бы «скорость отражения». Но только в направлении перпендикулярном оси цилиндра скругления. Вдоль оси — вправо — всё прямое и как и с плоскостью каждые .1 градуса взгляда — +.2 градуса линии.

                      Вот приблизительно так я вообразил себе осумбурное бъяснение излома в случае g1. В инете много картинок, а объяснений, вот, не встречал. Наверняка, в каком нибудь зубодробительном разделе математики все элегантно описано одной формулой малопоняными для мен значками ))))

                      Классно выглядит, с циферблатом — «лицом к человеку». А что вынудило делать снаружи ободок по внешней поверхности корпуса — сверху и сбоку? Там где синяя стрелочка на границе. Снизу с фаской -понятно и как по мне классно получилось.

                      Вы мои вопросы всерьез не воспринимайте. Я в жизни ни одного корпуса не нарисовал. Обтекатели рисовал, но то другое и эстетика на надцатом месте.
                      Можно модель посмотреть-покрутить?


    1. mindw00rk
      13.05.2019 06:03

      Часы классные! Можно исходники?


      1. Andy_Big
        13.05.2019 07:26

        Это не моё детище, я только спроектировал корпус по просьбе знакомого :) Вот тут он выложил все — mysku.ru/blog/diy/64788.html, и исходники и инструкции :)
        Или Вы про исходники самого корпуса?


        1. mindw00rk
          13.05.2019 12:46

          https://mysku.ru/blog/diy/64788.html — Это как раз то, что я хотел, спасибо! Сам подобные часы собирал, но тут конструкция интереснее!


        1. enjoyneering
          15.05.2019 19:21

          можно исходники корпуса оригинал в step? заранее спасибо.


          1. Andy_Big
            15.05.2019 22:45

            Да, не вопрос :)
            drive.google.com/open?id=1uCYAot5eDNGvhJTVJxnfu7kTqKjdK5mB
            Это полностью вся сборка в STEP.


  1. Phoenix_free
    12.05.2019 19:25

    Домофон хотя бы открывает? Ох в полицию с таким не попасть )))


  1. Wesha
    12.05.2019 20:40

    В детстве меня укусил инженер


  1. gennayo
    12.05.2019 22:07

    И всё-таки, поделитесь, какой софт для «рисования» использовали. Сейчас примерно такая-же задача возникла — нарисовать и распечатать хитрую коробочку…


    1. SignallerK
      12.05.2019 22:29

      Я бы посоветовал fusion 360 ибо он довольно дружествен и пока бесплатен для студентов и хоббистов. Но все равно любой более менее качественный софт по моделированию требует надцать часов на обучение.


      1. vgolodyk
        13.05.2019 00:00

        Использую FreeCAD, вполне имеет право на жизнь, думаю отлично подойдет для таких целей


    1. EviGL
      12.05.2019 22:33
      +1

      Судя по скриншотам это Tinkercad. Он, конечно, совсем для этого не предназначен, этакий 3D-paint, автор правильно выразился. Но зато порог входа "окей, погнали".


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


    1. dimonoid
      13.05.2019 04:48

      Я бы посоветовал solvespace. Такой же простой в освоении как tinkercad, но с возможностью параметризации.


    1. zheckiss
      14.05.2019 14:24

      Работаю в Autodesk Inventor, совершенно бесплатная софтина, пямой конкурент Solidworks. Думаю, что на Fusion 360 можно переходить через пару лет.


      1. Andy_Big
        14.05.2019 18:30

        А зачем переходить на Фьюжн из Инвертора?


        1. zheckiss
          14.05.2019 21:43

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


          1. Andy_Big
            14.05.2019 22:50

            Солид тоже только под винду, но закрывать его вроде бы не собираются :)


  1. VadimGuslistov
    12.05.2019 22:45

    Бесподобно! Красавчик!


  1. Daddy_Cool
    12.05.2019 23:26

    символы внизу совершенно случайны и ничего не значат.

    Аха. Вы нас здесь за простаков держите?

    Здорово! Корпус выглядит прям промышленно, отблески белого грунта на фото выглядят как металл. Мы для лаборатории регулярно делаем всякие штучки, но так никогда не заморачивались — мне аж завидно.
    Пару вопросов если можно.
    1. 3D модель в ТинкерКаде делалась или это что-то другое?
    2. Какие сопло/принтер/пластик использовались при печати?


    1. simbiod Автор
      13.05.2019 07:53

      Пара ответов:
      1. В нём.
      2. 0.4 mm / Prusa i3 MK3 / PLA.


      1. Daddy_Cool
        13.05.2019 20:55

        Ага. Мы с 0.4 перешли на 0.2 и стало гораздо приятнее. Но у меня были тонкие стеночки.


        1. Andy_Big
          13.05.2019 21:55

          и стало гораздо приятнее

          И гораздо дольше :)
          Если нужна крупная деталь попрочнее и без претензий к внешнему виду, то лучше брать сопло побольше, для мелочи с высокой детализацией — сопло поменьше :)


  1. Yoooriii
    12.05.2019 23:42

    Супер. Классно получилось. А в чем анимированные картинки делали? Классно смотрятся.
    У меня экран от siemens-m65 валялся, я из него тоже самоделку на ардуине склепал, но вот до нормального корпуса руки так и не доходят.
    По поводу китайцев, мы как-то по работе одну хардварную штуку делали, так китайцы ее целый год делали и допиливали. На первые прототипы без слёз смотреть было больно. (Мы делали софт, а китайцы — железо).


    1. simbiod Автор
      13.05.2019 10:27

      Картинки делались руками. А если точнее, то отдельные кадры делались из скриншотов, а кадры собирались в gif на одном из русурсов, который выдал поисковик на запрос «online gif creator».

      В одной из старых статей, я описывал свой опыт работы с китайским софтом. Поэтому, уж не знаю, что именно у них хуже — софт или железо…


  1. Viacheslav01
    12.05.2019 23:50

    А я себя считал инженером, спроектировав фанерную елочку к НГ :)
    Ушел посрамленный, думать, чего ды еще спроектировать :)

    П.С. пробовал делать в онлайн редакторах и простых заточенных под фанеру редакторах не хватило нервов. Купил домашний компас, это конечно из пушки по воробьям, но мне понравилось.


  1. Bookvarenko
    13.05.2019 00:07

    А есть ли реализация этой миниигры в виде отдельного приложения?


    1. simbiod Автор
      13.05.2019 22:44

      Не встречал, но не могу сказать, чтобы я особо внииательно искал.


  1. kamm
    13.05.2019 07:21

    Ваше самокритическое отношение к себе и легкая ирония вызывает уважение


  1. Shamanay
    13.05.2019 07:49

    Сразу скажу, что символы внизу совершенно случайны и ничего не значат. Любителей теории заговора я попрошу расслабиться.

    Это, имхо ключ от винды, третий блок «3HQQ8BP2» я точно помню.


    1. skazo4nik
      13.05.2019 08:29

      С J3QQ4 не путаете?


      1. Shamanay
        13.05.2019 10:40

        Этот-то наизусть не знать — вообще позор :)


  1. Impuls
    13.05.2019 09:50

    Можно попробовать сделать полноценную крутилку. Примерно так.

    Синие — кнопки
    Красные — пупырки на крутилке
    Зеленое — углубление в коромысле, в которое вставляется пружинка и шарик.
    Работало бы оно просто шикарно. Возможно бы даже с характерным потрескиванием трещетки. Вот только количество красных пупырок надо подбирать.
    Смысл примерно такой. Когда крутите крутилку — красная пупырка надавливает на шарик и коромысло поднимается надавливая на кнопку. Если еще немного покрутить пупырка поднимает зеленый шарик и проскальзывает. В этот момент усилие на кнопку ослабевает и коромысло отскакивает немного назад, тем самым освобождая кнопку. Тоже самое и в другую сторону.


    1. Andy_Big
      13.05.2019 10:03

      Тогда проще поставить обычный энкодер :)


      1. Impuls
        13.05.2019 10:21

        Ну, как писал автор, это не спортивно.


        1. Andy_Big
          13.05.2019 10:23

          Просто у автора сам принцип этого узла другой — у него «качелька», а Вы предлагаете энкодер :)


    1. simbiod Автор
      13.05.2019 10:22

      Интересный вариант решения, но думается мне, что реализовать его было бы куда сложнее. Особенно в в нужных размерах.
      И я вижу, что у Вас тоже отличный редактор для схем. Уж не MS Paint ли это?

      P.S. Особенно повеселила вот эта часть технического задания «красная пупырка надавливает на шарик и коромысло поднимается надавливая на кнопку». Если без контекста, то звучит очень забавно.


      1. Impuls
        13.05.2019 10:28

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


        1. Andy_Big
          13.05.2019 10:29

          Inskape спасет :)


  1. Andy_Big
    13.05.2019 10:27

    Кстати, я бы еще в узле «качельки» не стал бы печатать ось, а сделал бы ее из чего-нибудь подходящего — кусочек проволоки, зубочистка и т.п. Такие тонкие оси в 3D-печати получаются не слишком прочными :)


    1. simbiod Автор
      13.05.2019 10:42

      Ось была проверена в условиях «а если вот так надавить?!» и выдержала испытания.
      Но для промышленного производства Ваш вариант безусловно лучше.


  1. vadim_ipatov
    13.05.2019 10:30

    Бесконечно респектую! Статья вызвала невыносимое желание тоже сделать что-то руками. Но фраза про «человека с наличием свободного времени» добила… Сразу же вспомнил про 3D принтер, который я «собираю» второй год и который уже переехал на антресоль. Веры в себя тут же поубавилось.


  1. maxwolf
    13.05.2019 18:59

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

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

    P.S. Особенно впечатлили струйные принтеры (разобрал их штук пять за 15 лет — весь прогресс принтеростроения, считай, прошёл у меня на глазах...) и посудомоечная машина (там, оказывается, значительная часть «логики» выполнена на сообщающихся сосудах, поплавковых выключателях и перепускных клапанах).


  1. Ungla
    13.05.2019 19:37

    Приятно


  1. Ialex84
    13.05.2019 19:39

    А что это за грунтовка такая, которая видимо ложится тоненьким слоем, раз сохраняются визуальные косметические шовчики/громки/вырезы??? У меня грунт Paint Touch для пластика из баллончика густой как кисель и слоем ложится не тоненьким заполняя декоративные вырезы и элементы даже миллиметровой толщины :(((


    1. simbiod Автор
      13.05.2019 19:42

      Не знаю, был ли это риторический вопрос, но у меня был грунт-аэрозоль Maxi color. Ложится тонким слоем, я в целом очень доволен им.


      1. Ialex84
        13.05.2019 21:09

        Спасибки, нашел я его в магазине (именно грунт, а не аэрозольная краска), правда там не написано, что подходит именно для ABS пластика, но попозже попробую как ложится на поверхность… :)))


    1. Darth_Biomech
      13.05.2019 23:59

      А скажите, не пробовали грунт Kudo, как у вашего по сравнению с ним прочность? Потому что по заполнению он звучит куда круче. Кудо тоже заполняет мелкие дырки (Собственно использую чтобы не тратить кучу часов зашлифовывая слои от печати), но ему для этого несколько проходов требуется, как следствие много его уходит (иногда весь баллончик может всего на одну деталь уйти если она большая). Зато впоследствии его хрен отковыряешь, только сошлифовывать или отрезать.


      1. Ialex84
        14.05.2019 08:35

        Я купил краску и грунт Kudo для пластика недавно, но еще не пользовался, т.ч. пока сравнить не могу, ориентировочно через месяц буду красить новые детали, там и посмотрим… Paint Touch тоже много уходит, он довольно липкий и толстым слоем ложится. В последний раз красил телефонную часть где трубка, без грунта — чисто краской эмалью покрасил, хватило менее чем на 500 раз поднять и положить трубку. С груном Paint Touch уже больше 1000 держится…


  1. mkovalevskyi
    13.05.2019 21:49

    Если не ошибаюсь, в первой части статьи вы описываете принцип работы «быстрой» перерисовки экрана в читалках (как минимум в киндле).

    Чисто интересно, а аналогичные проблемы, типа потерявшихся пикселей у вас есть? Или для вашей задачи это не проблемы, а наоборот? )


    1. simbiod Автор
      13.05.2019 22:43

      Нет, тормоза — это единственная проблема с этим экраном.


  1. Zeroxzed
    14.05.2019 11:36

    Автор молодец, получилось классно. Когда читал начало, вспомнил строки из книги, которую регулярно читаю с сыном — Павел Бажов, Каменный цветок: “Не нами сказано: чужое охаять мудрости не много надо, а свое придумать — не одну ночку с боку на бок повертишься."


  1. iozjik
    16.05.2019 08:42

    Отличная статья, спасибо! Рекомендую переходить на хороший профессиональный редактор, сам рисую в solidworks и очень им доволен.
    Крепления для гаек делаю в виде шестигранных отверстий в размер и запрессовываю — много лучше выходит, чем вставлять гайку сбоку. Чтобы не морочиться с поддержками — оставляю над гайкой не сквозное отверстие, а примерно на полмиллиметра пластиковую стенку, потом рассверливаю.


  1. Muzzy0
    16.05.2019 10:47

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


    1. simbiod Автор
      16.05.2019 13:01

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

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


      1. Muzzy0
        16.05.2019 13:27

        У вас все фотографии — про мехобработку. Поэтому я не вполне представляю, что у вас там с потрохами. Навесной монтаж и полный корпус спагетти?