В прошлом году я исполнил свою давнюю мечту. Построил на участке своими руками бассейн с деревянным настилом. В этой статье постараюсь рассказать максимально подробно (меньше текста - больше картинок), как я это сделал.
Два года назад я вкопал морозостойкий металлический бассейн (они выпускаются под разными марками, мой называется Azuro). Его размер - 3,6 метров в диаметре и 1,2 метра в глубине.
Как я его монтировал - можно прочитать в отдельной статье тут или посмотреть в подробном видео тут. Получилось хорошо. Но для полной красоты явно не хватало настила вокруг.
Причем, задумка была сделать деревянный настил на уровне верхнего края бассейна, чтобы создать иллюзия обычного стационарного бассейна (как мы привыкли видеть в кино).
Я придумал вот такой пирог настила. Сделал специально шаблон.
Итак, снизу-вверх: песчаная подсыпка 15 см, тротуарная плитка 40 на 40 см в качестве фундамента, далее идет лежня из доски 150 на 50 мм. На лежни опираются лаги из доски 150 на 50 с шагом 300 мм. Финишное покрытие - из планкена лиственницы 90 на 20 мм. Как видите, по моей задумке финишная доска должна идеально заходить за верхний бортик бассейна.
Поехали! Размечаю фундамент. Пролеты между опорами примерно 1,5-2 метра.
Выкапываю ямку глубиной в штык лопаты. Засыпаю песок.
Проливаю водой, утрамбовываю ногами. Кладу плитку. Выравниваю ее по уровню и прыгаю по ней ногами еще раз)
Аналогично поступаю со всеми другими опорами, сверяя их между собой по уровню.
Фундамент готов.
Слева укрепил нишу для оборудования бассейна влагостойкой фанерой, которое будет скрыто под настилом. Тут же рядом у меня - скважина с водой. Ее впоследствии укорочу и тоже спрячу под настил.
Начинаю раскладывать лежни.
Под лежни подкладываю геотекстиль, чтобы не прорастала трава сквозь будущий настил.
Начинаю раскладывать лаги с шагом 300 мм, как уже говорил. Такой маленький шаг нужен, чтобы моя финишная доска 90 на 20 мм не прогибалась. Если в качестве финишной доски брать что-то более массивное, то шаг можно делать меньше.
На лаги использую шестиметровую доску 150 на 50 мм. Но в некоторых местах и ее длинны не хватило, так как общая длинна настила больше 10 метров. В этих случаях лаги стыкую внахлест на лежне - как на картинке.
В длинных пролетах укрепляю лаги проставками, чтобы минимизировать батутность пола.
Вот так пришлось извращаться, чтобы лагами описать круг бассейна. Чтобы было на что крепить края финишной доски.
Долго-долго проколачиваю все лаги. По три гвоздя на ширину доски (по одному гвоздю на каждые 50 мм доски). Рука в приятных рабочих мозолях) Мотивирую себя будущим результатом, который держу в голове.
Лаги готовы! Впечатляет сразу размах настила) Хочется скорее приступить к финишной отделке и уже купаться! Ух!)
Чтобы скрыть элементы фундамента (плитку с песчаной подсыпкой) - делаю вот такие выносы.
Параллельно по ночам начинаю прогревать воду в бассейне с помощью специальной печки. О ней можно тоже прочитать тут или посмотреть в видео тут.
Идем дальше! Начинаю крепить финишную доску. Ее заранее покрыл в два слоя маслом Текнос. В цвет забора и домика.
Между досками делаю зазор около 0,5 сантиметра с помощью некой пластиковой штуки, которая попалась под руку. Доска в сырую погоду набирает влагу и значительно расширяется, поэтому без зазоров никак. Креплю доску на самозасверливающиеся саморезы с потайной головкой типа "Спакс". Кручу по два самореза.
Чтобы не плодить по две дырки каждые 30 см длинны доски - через лагу кручу по одному саморезу в торец. Вот так:
Не забываю про люки для оборудования. Они должны быть минимально заметными.
ААА! Класс! Все готово!!! Не верится! Вот это танцплощадка получилась! Поражаюсь размерам.
На всю красоту ушло 45 кв м лиственницы. На лаги - около 1,5 куба доски. На крепление - 3400 саморезов с потайной головкой. На покрытие - две девятилитровки масла по дереву. Песок заказывал целый Камаз. Потратил примерно 2/3.
Общая длинна настила вышла около 10 м. Ширина 6 м справа и 4 м слева.
На пару с папой сделал два шезлонга, мама сшила накидки. Также прикупил зонтик от солнца и живую пальму. Можно кайфовать! Не стыдно и девушке показать!)
Если хотите посмотреть процесс более подробно на видео, то жмите сюда.
Советую также почитать мою большую статью с пошаговыми фотографиями, как я строил свои мини-дом в скандинавском стиле. Читать тут.
И подпишитесь на мой YouTube-канал Амбар 34, чтобы все это увидеть на видео. Там все гораздо подробнее и ламповее)
Привет, я — Вадим. Расскажу, как делал устройства для музыкантов — педальки-контроллеры, наделяющие музыкальный процессор Digitech Whammy новыми возможностями. Устройства мало кому нужны, но кому нужны — то позарез).
Моя пидалька и CJ Pierce (Drowning Pool), Wes Borland (Limp Bizkit), Jame Shaffer (Korn), ну и я там рядом
Возможно, вы встречали эту историю где-то в Интернете, но на Пикабушечке её ещё нет, что считаю упущением, каюсь и исправляюсь.
Этот проект мне очень дорог, потому что с него началась настоящая страсть к созданию чего-то нового. И хоть я давно уже не брался за паяльник, а основное время посвящаю развитию в управлении продуктом, всё ещё не оставляю фантазии о фееричном возвращении в music hardware, которое сделает немного шума в чахнущем царстве рока.
Да и перед именитыми ребятами (на фото, например, CJ Pierce из Drowning Pool, James "Munky" Shaffer из Korn и Wesley Borland из Limp Bizkit, ну и я с девайсами), признаться, стыдно, что пропал на целых несколько лет — ни слуха от меня, ни духа о новых устройствах.
Расскажу, как появились эти железки реально из мусора. Курьёзы и неудачи, какие устройства хотел и что получилось, как они оказались у топ-музыкантов мира и почему я отложил такие крутые штуки в долгий ящик.
Возможно это смотивирует кого-то вернуться и доделать свои идеи, а кому-то просто поднимет настроение. Итак, вперёд! Точнее назад, в 2010 год...
Педаль с Марио
Год 2010 был жутко насыщенным (как, впрочем, и все остальные), потому что я работал параллельно: а) Продавцом в музыкальном магазине, б) Администратором в концертном агентстве, в) Был владельцем двух репетиционных баз и совладельцем магазина игрушек, г) Играл рок с бандой за какие-то деньги и так далее.
В один из выходных, проснувшись в Музторге, мой коллега Кузьмич показал видео на YouTube диковинной и взрывающей голову педальки от Molten Voltage. Это был midi-контроллер для Digitech Whammy, который превращал питч-шифтер в арпеджиатор.
Стоила педаль 100$ (3 000₽ по тем временам) и платить такие бешеные деньги за девайс было большим расточительством. А так как я увлекался программированием микроконтроллеров, то предложил за трёху сделать педаль сильно лучше.
Мне до сих пор плохо верится, что это сработало. Зацените стойки для платы, напиленные из шариковой ручки. Крутилка от выброшенного осциллографа, покрашенная цапон-лаком и отполированная пастой ГОИ. Ну и так далее
Папа у меня инженер и с детства дома были кучи радиодеталей и плат, а я паял всякие нехитрые приспособления. Из Музторга была позаимствована Digitech Whammy, в радиомагазине куплен PIC16F628, собрана схема чисто из советских деталей, написана программа на ассемблере — и готово. На всё про всё пара месяцев работы по вечерам.
Получилась такая штука. Это уже мелкосерийный образец — ручка справа заводская
Всё делалось дома вручную. Сложнее всего было напилить квадратные отверстия для разъёма питания и окошко для цифры. Окошко с внутренней стороны было закрыто приклеенным куском прозрачной шайбы, которая всегда была на шпинделе компакт-дисков, помните такую?
Программная часть вообще без каких-то новшеств. Пресеты в EEPROM, на старте читаем активный, загружаем в RAM. Раз в несколько миллисекунд опрашиваем кнопки и рисуем на экране чиселку. Конечный автомат прямо в прерывании таймера за микросекунды делает всю работу + считает темп для функции Tap Tempo (которая, конечно, подвирала).
Описываю так подробно, чтобы вы оценили масштаб дальнейшего изумления. Да, с точки зрения функциональности штука получилась более продвинутая, чем у заморского аналога. Но как она была сделана, бог мой, резисторы млт, конденсаторы из китайских приёмников, на первых педальках ножные кнопки были самоделкой из советских микропереключателей, ну и платы, конечно, сфабрикованные утюгом из позаимстованного со столешницы стола текстолита.
Сразу было сделано 3 таких педали — двум друзьям и себе. Мне девайс не понравился – не считал темп в bpm, плохие возможности программирования, мало программ, работал только с одним типом Whammy. Тем не менее, я снял видео и тоже залил в YouTube — типа зацени, Молтон Вольтейдж, пацаны с лебедевочки тоже могут!
На видео добавляет стиля миди-шнурок, свитый из трёх отдельных проводов, советские аудио-разъёмы DIN-5, демо-версия видео-редактора и порванный носок. Да, тогда YouTube многое прощал.
Так вот, какое было удивление, когда мне начали писать люди из разных стран с просьбами продать им такое же чудо-устройство. Я сделал ещё пару штук. Потом ещё. Потом ещё и понял, что надо что-то менять, потому что тратил на сборку слишком много усилий и хватит это терпеть. Поднял цену (аж на 300 рублей) и заказал платы, потому что ну достало их шлёпать утюгом.
Здесь уже фирмища — платы заводские, с защитной зелёнкой. Работали, как автомат Калашникова
Но само устройство мне всё ещё не нравилось. Слишком много инженерных и конструктивных недостатков. И функциональности маловато — хотелось больше, ярче, веселее.
Тем не менее до 2013-ого года они продавались именно в таком виде. Начали подтягиваться ребята с именами — одна ушла Паше Додонову в Дельфин. Одну подарил Стиву Ваю, когда он приезжал в Новосибирск, но он ей скорее всего максимум ножку стола подпирает. Зато поиграли с ним на гитарах, он и его менеджер Франко Пеона похвалили мой Гибсон Лес Пол, ух хороший вечерок был. Но не об этом.
Это Рома на концерте, но видна уже новая педалька — чёрная
Ещё одна ушла Роме Хомутскому в 7Расу. А я стал задумываться, что пора бы сделать следующую версию — на порядок круче и для этого нужно подтянуть технологии и инструментарий. И в следующий раз, когда 7Раса поехала в тур в Сибирь, купил в Москве на Авито макбук, чтобы учиться на нём работать и впитывать магию Эпол. Попросил ребят привезти мне его заодно в Новосиб — типа, всё равно ж сюда едете. Вот такая звёздная доставка получилась.
Главные ошибки
В моей жизни тоже происходили изменения — начали расти волосы в странных местах стал больше кататься с артистами, выполняя функции менеджера на шоу. Своих же концертов, наоборот, стало меньше и в голове начали появляться мысли про занятие в будущем, а не про то как здорово мы вчера качнули тысячник и какой удался бодрый стейдж дайвинг.
Запущенные мамкины бизнесы не приносили удовольствия, а продажи коробочек с Марио, наоборот, подогревали мысль о том, что можно производить устройства, продавать их и в ус не дуть.
Мне безумно приятно было получать сообщения, как слева. А справа — типичный вид педальки первой версии, которые отправлялись к клиентам
Но педальки продавались редко, и я придумал, что если их улучшить, то получится ну совсем бомба и станут они разлетаться как горячие пироги. Да, на этом месте можно начать загибать пальцы, подсчитывая допущенные грандиозные ошибки. Но мне за них не стыдно — тогда я понятия не имел, что такое IT, как делать продукт, чем бэкенд отличается от фронтенда, а главным инструментом программирования был паяльник. Мне просто хотелось делать и продавать уникальные штуки и я делал и продавал.
Итак, краткий список принципиальных улучшений был намечен такой:
сделать точнейшую поддержку темпа в bpm. Мы же говорим про арпеджио, значит надо чтобы эффект точно попадали в контекст трека
поддержать все типы актуальных тогда (да и сейчас) Digitech Whammy, а их 4 штуки
сделать овер-дофига пресетов и чтобы их было легко программировать, как на самой педальке, так и на компьютере
сделать полную поддержку MIDI, чтобы педаль встраивалась в цепочки других устройств, синхронизировалась по темпу, могла сама управлять темпом других устройств и т.д.
работать устройство должно от любого блока питания и от батарейки и ещё и контролировать её разряд, ну и так далее
Было ещё много других хотелок, но даже эти уже слабо ассоциировалось с резисторами млт и стойками из шариковых ручек. Ещё тогда вышел iPhone 4 и мне, конечно же, хотелось делать продукты в стиле Apple — чтобы они были офигенные и на голову опережали конкурентов по желанию ими обладать. В общем, наметился переход на более продвинутую технологию, как в hardware, так и в software.
Оказалось, что делать такие платки в домашних условиях нет большой сложности
С железом определился легко. Это точно должна быть 2-сторонняя плата и smd монтаж, чтобы получить максимум от домашнего прототипирования плат утюгом. Дальше купил паяльную станцию с феном, сделал несколько плат и обнаружил, что 0805 это раз плюнуть, довольно легко запаиваю 0603, а вот 0402 уже тяжко.
С процессором чуть сложнее. Я остался на микроконтроллерах PIC, потому что к тому времени начал мыслить их ассемблером, и он меня полностью устраивал — в голове просчитывал нужное количество тиков в прерываниях, чтобы получить real time точность и т.д. Но сам камень итеративно менял несколько раз, потому что раздувались хотелки и в итоге пришёл к PIC16F1939 в корпусе TQFP. Почти что максимум, что мог предложить Microchip на 8-bit архитектуре.
Это я купил фотоаппарат, чтобы записывать качественное видео и сфотал партию процессоров и винтики для верхней крышки, на поиски которых потратил немало времени, но они просто ахрененные
Но самое сложное оказалось с software. Я несколько недель маялся и принципиально не мог придумать, как мне сделать так, чтобы все задуманные функции выполнялись параллельно, контролируемо и точно. Напомню, я не был программистом. Я был рокером.
Здесь нужно сделать лирическое отступление про образ жизни. Тогда я сдружился с моим лучшим другом Славой, очень известным в узких кругах CG. Слава как-то решил, что хочет делать 3D-мультики ну хотя бы на уровне Pixar и начал делать. Мы с ним быстро опознали друг в друге упоротых людей и сблизились настолько, что я постоянно жил у Славы. Днём в основном мы мотались по делам, а ночи напролёт дули кофе и пилили проекты. Кстати, какой-то мультик не без помощи Pixar мы в итоге сделали, но это совсем другая история)
Позже мы реально делали мульт. Собирали аниматик, строили рендер-ферму, но об этом как-нибудь в другой раз
В итоге как-то поздно вечером я вернулся домой и папа мне подсунул статью из технического журнала. Он знал, что я чёто-то там делаю с микроконтроллерами и время от времени подкидывал интересные, на его взгляд, материалы.
И каково было изумление, когда я понял, что в статье описывается решение моей боли — а именно, как в операционной системе работает планировщик задач. Я был ослеплён изящностью и красотой этой идеи, и тут же сел писать демку планировщика. Часам к четырём ночи она была готова, я не думая прыгнул в машину и прикатил к Славе, нашёл его сидящим с краснющими глазами за мониторами и, сбиваясь, в эйфории рассказал про случившийся прорыв. Слава выслушал, посмотрел оценивающе и сказал: "Иди спать, педрила". Так появилось гордое название PeOS в пунктах преимуществ устройства и Pe — это не pedal.
Конечно, это было только начало пути, а дальше наступил сезон гастролей и я параллельно начал зачитываться как детективом "Операционными системами" Танненбаума и писать свой менеджер задач — core, вокруг которого строилась вся система.
Почему не взял готовый? Да тупой потому что. Даже Git не знал зачем нужен. Ну и хотелось во всём разобраться, сделать идеальный девайс.
Хорошо запомнил ощущение сюрреализма, когда в Томске Борис Гребенщиков с Аквариумом изрядно накидались в гостинице, плясали на столах, а я в центре этой вакханалии пишу на ассемблере свою операционную систему.
Как вам такое? Самый жёсткий был модуль экрана — со всеми шрифтами и анимациями там около 7 тысяч строк
Выбор ассемблера привёл к понятной проблеме. Вы видели когда-нибудь абсолютно нечитаемый код? Скорее всего вы видели эталон достижений в области программирования по сравнению с тем, что стало результатом работы. 30+ килобайт ассемблерного кода — это очень много.
Но дальше сюр будет только крепчать.
Прототипы
Начало работы полностью происходило в симуляторе, но довольно скоро дошло время и до проектирования схемотехники. Схему для первой версии педали чертил в простейшем Sprint Layout. Для второй же версии потребовался инструмент серьёзнее — изучил Eagle и разводил платы там.
Мне хотелось странных решений — обойтись без кнопки включения, но чтобы педаль могла выключаться с батарейкой внутри. Сделать хитрую схему питания, протестировать возможности разных копеечных экранов от телефонов, сделать автоматическое определение педали по (однонаправленному, на секундочку) протоколу MIDI и т.д.
Слева россыпь прототипов, а справа финальный в демо-корпусе
Прототипов было с десяток. Сначала неказистые макеты частей системы, потом начал объединять их на одной плате с прицелом засовывания в корпус. Но даже таких было штук 5 или 6 перед финальной версией.
В итоге устал от того, что провода постоянно рассыпаются и отваливаются и придумал для прототипов макет-корпус из орг-стекла, который и стал уже полноценным прототипом педали. Он постепенно обрастал функциональностью, тестировался в разных условиях без риска повреждения кишков.
Ручной работы с корпусами, да и со всей педалью прям хватало. Но мне реально нравилась каждая педаль, которая в итоге выходила за пределы моей комнаты
Производство корпусов на этот раз было не полностью ручным. Вручную пилил только круглые дырки на боках. Для верхней панели сделал чертёж и отдавал на гидроабразивную резку. Дальше заказывал наклейки и сверху накрывал оргстеклом, тоже вырезанным по чертежу.
Это разная графика на разных экранах. Логотип я потом переделал на более строгий. Но больше всего меня прикалывала иконка ноги, которая символизировала шаг. Прикольно)
UI весь нарисовал сам. А потом перерисовал. Тогда мы со Славой время от времени нехило рубились в танки, поэтому в педальке все цифры стали трафаретными, как будто с военной техники.
Для соединения педали с компьютером разобрался с Objective-C и написал программу (о, боги, как-то я заглянул в код и чуть не заплакал кровью) под Mac OS. Помню, как у меня бомбило, когда узнал, что в Objective-C есть специальный объект NSNumber для числа. Я привык в 1 байт упаковывать 4-битное число и 4 буля и мне это показалось кощунственным разбазариванием ресурсов.
Несколько дней потратил на написание пресетов и сочинения демок для каждого из пресетов. Записал с ними видео уже без порванного носка и смонтировал в iMovie. Но и там есть смешной факт — левый кроссовок, которым я давлю на кнопки (чтобы не было носков в кадре) — у меня был в единственном экземпляре. Правый я порвал практически сразу на футбольном сражении, поэтому кроссовок был чистый и презентабельный — ещё не успел его сносить.
Было ещё несколько ударов судьбы, которые чуть не валили с ног уверенность в блестящем будущем проекта. Точно помню два.
USART
Педалька должна была встраиваться в MIDI-цепочку. MIDI — это последовательный однонаправленный протокол с токовой петлёй на физическом уровне. Мне нужен был 1 MIDI-вход для получения данных извне, 1 MIDI-выход для отправки данных вовне и 1 MIDI-выход для отправки данных в процессор Whammy, собственно для прямой функции девайса, ради чего затевался сыр-бор.
Я был абсолютно и непоколебимо уверен, что USART-ов в PIC16F1939 ну минимум 2 или 3, а оказалось, что ОН ОДИН. Это случилось, когда почти вся функциональность была закончена и более-менее протестирована, а оставалась только реализация MIDI. Я настолько тогда охренел, что растерялся.
Добавлю контекста — денег тогда было не то чтобы много, а точнее дно было тотальное. И процессоров я уже заказал пару десятков и это было сильным ударом.
В общем, выкрутился ужасно. На выход USART'а добавил переключатель физических выходов MIDI на транзисторе. И в зависимости от назначения байт отправлялся в один или другой выход. По факту предельная скорость передачи данных снизилась в 2 раза, но на практике с этим решением вообще никаких проблем.
Деление на 3
Когда мы говорим про синхронизацию темпа с другими источниками, то нужно уметь очень быстро подстраивать темп под генератор синхроимпульсов — примерно сотню раз в секунду. И вообще задача это не сильно сложная, но в музыке есть триоли — то есть 3 ноты за долю.
В итоге задача свелась к делению 16-ричного числа на 3. А дешёвый 8-битный контроллер не то чтобы вообще умел это делать. Как бы там есть сложение, вычитание и сдвиг, которым можно делать умножение и деление на степень двойки. Но не другого числа.
И опять бессонные ночи в попытках решения задачи за прогнозируемые микросекунды. Крутил в голове цифры и так и этак и в итоге придумал алгоритм, которым страшно гордился, пока не узнал, что это какой-то супер-базовый алгоритм, который программисты изучают на 1-ом курсе. Что ж, ну ок.
Релиз
Педаль вышла в свет в 2014-ом. Для релиза первой версии заказал 10 плат у китайцев за 5 долларов. Пришло 11, что безмерно обрадовало. Платы собрал сам и после самодельных плат с трещинами в дорожках и недотравами это был просто глоток свежего воздуха.
Справа изготовление платки, два прототипа разного уровня проработки. Чёрный — уже предсерийный
Цену выставил, как мне тогда казалось, солидную — 5 000₽ за коробочку. Штук шесть у меня купили в первый же день ближайшие знакомые. Ощутил запах победы и что всё не зря. Но дальше продажи полностью остановились. Надо было что-то делать.
Не долго думая, решил использовать способ, сработавший раньше, но с небольшим дополнением. Педаль сфотографировали у знакомого фотографа по-моему за бутылку виски, которая и фигурирует на фотке. Мой друг собрал сайт, который можно посмотреть в веб-архиве. Угадайте, чего не найти на сайте? Правильно, кнопки купить!)
Дальше записал длинное видео с объяснением всех функций, доступных в педальке. Думал показать здесь тот самый видос с разбором всех функций, но лучше добавлю видео ребят, которые встраивали дикие звуки D2 в свою музыку ↑
Залил обе версии на ютюб и... Почти ничего не произошло. Да, заказов стало чуть больше, в среднем по одному-два в неделю, но этого всё равно было мало, чтобы выходить на какой-то конвейер. И для жизни ж ещё деньги зарабатывать как-то надо было.
Звёзды
К этому времени стало уже понятно, что ввязался я в длинную драку и быстрых побед не будет. Идея возникла такая — надо, чтобы топ-музыканты использовали педали в написании музла и после этого уже их фанаты и кореша из тусовки точно начнут заказывать коробочки пачками. Ну и желательно чтобы в новой тогда соц сети инстаграм педальку разместили.
Вообще, тема оказалась в целом рабочей, но мне не хватило опыта и уверенности, чтобы её реализовать в полной мере. Тем не менее, произошли крутые события, которыми я горжусь до сих пор.
Это Уэс на NAMM 2014. Сам я туда, конечно же, не попал, но Уэс здорово мне помог, век не забуду
Hed P.E. Одним из первых во внимание попал Wesley Geer (экс Hed P.E.). Он приезжал в Новосибирск вместе с Korn, оказался супер-общительным чуваком и с ним удалось посидеть в баре. Договорились, что я отправлю ему педаль на NAMM с кем-то из Нск (сам я не могу поехать, бабок не было), так и вышло. До сих пор время от времени переписываемся.
Drowning Pool Я долго работал в концертной индустрии, плюс мымногоигралирок, поэтому, конечно, знал почти всех организаторов, прокатчиков и промоутеров, и попробовал через них рассказывать о своих педальках приезжающим топ-музыкантам.
Так произошло с группой Drowning Pool. Их гитарист CJ Pierce активно использовал Digitech Whammy в музыке и был отличным кандидатом под "моего" артиста. Через знакомых рассказал их менеджеру про педаль, но так я был вообще на мели, не мог педаль подарить. В итоге менеджер купил педальку и мы здорово пообщались с CJ-ем. Я объяснил ему все функции девайса, он офигел и предложил помочь их продавать в Штатах. Я обрадовался, но опять не хватило опыта дожать тему. Мы просто потерялись.
Та самая Вамми
Но из той встречи я вынес неожиданный бонус. Моя педалька — это контроллер для Whammy, который поддерживал 4 вида процессоров, но особняком от них стояла именно эта, Whammy IV. Своих Whammy у меня тогда не было. И если пятую версию было найти легко, то четвёртую постоянно приходилось одалживать, чтобы проверить новую партию педалей. А у СиДжея тогда в туре сломалась его Whammy IV. Я его не просил, но он просто взял расписался и подарил её мне.
Я так обрадовался, ппц. Починил её дома, аккуратно почистил, чтобы сохранить историческую задроченность и до сих пор тестирую на ней новые девайсы. На фотке в заголовке она на заднем фоне красная. Помните, в самом начале фильма XXX Вин Дизель сбрасывает в пропасть красный корвет С5 под песню "Let the body hit the floor"? Ещё такой мем был с попугаем. Кароче это та самая Whammy, которая в их песнях записана.
Наив Уже не помню, как продал педальку Валере Аркадину из Наива и Матрикса. Но это один из российских музыкантов, который очень много экспериментировал с её звуком. Она вошла в песню "На пределе", Валера написал большое произведение на заказ с её использованием, рассказал о ней в журнале In/Out. Кароче, Валера, каждый раз когда ты звонишь, чувствую безумную радость и уважение, но и угрызения совести, что до сих пор не выпустил новых девайсов.
Korn Дальше узнал, что ещё раз приезжают Korn и попросил Wesley рассказать о педальке Хэду и Манки. Он не обломался и Манки вписал меня в список приглашённых группой гостей в Нск. К сожалению, Хэд тогда свалился с камнями в почках в Красноярске и остался там в больнице, так что не пообщались, но педалек я всё равно подарил две.
Дядьки оказались очень адекватными увлечёнными людьми
Это была очень странная встреча — на стадионе в Нск мы болтали с Манки, подошёл Джонотан Дэвис и восхитился педалью, рассказал про свой второй проект — Killbot. В итоге Манки записал мой номер телефона и email, мы обменялись контактами и я ушёл даже не осознавая, что вообще произошло сейчас.
Crosses и Deftones Как-то на даче я помогал родителям, копал картошку, и пошёл посидеть в тенёк, потому что припекало. На телефоне высветилось новое письмо — заказ с сайта. Имя заказчика Shaun Lopez. "Что за латинос?" — подумал я.
У меня тогда вообще игра была такая — когда приходил заказ, особенно из-за границы, всегда внимательно изучал, что там за группа, что играют, насколько интересные ребята.
Слева — моя реальность в тот день, когда Шон купил педаль. А справа она у него среди другого хлама
Так произошло и в тот раз. Но уже через несколько секунд я чуть не навалил в штаны, потому что Шон оказался продюсером Deftones, другом Чино Морено и музыкантом в one-man проекте Crosses. Ну а мы тогда сильно фанатели по Deftones.
Я предложил ему 50% скидку за упоминание Smirnov Electronics на его сайте и традиционную фотку в инстаграм. Собственно, Шон без возражений выполнил свою часть обязательств.
Limp Bizkit С лимпами была история прям по касательной. На самом деле Wes не использует Whammy в Limp Bizkit и вообще её не то чтобы любит, но у него есть и другие проекты. Плюс иногда он в инсте разыгрывает всякий ненужный ему хлам.
Тем более, по приезду они показали себя прикольными ребятами типами, которым хотелось лишний раз респектнуть. И то самое, что я мог сделать — подарить свою педальку. Собственно, так и вышло.
Заключение
Было ещё много приключений, связанных и с артистами и с организацией аутсорса производства, и с утратой проектом моего внимания, и как сайт у меня угнали и на нём появились вместо педалей голые китайские тянки.
Но, к сожалению, вывести проект на какое-то самоокупание, чтобы он начал жить самостоятельно, не требуя постоянных вливаний моего внимания, не вышло. А без этого любой, даже самый клёвый проект, рискует усохнуть. И это наверное самый главный урок, которому меня научила WhammyD2.
Как резюме, хочу подчеркнуть — смотрите, как много я совершил ошибок. Собрал почти все: от неверно выбранной технологической платформы до совершенно не организованных продаж и развития, профукал почти все шансы, упустил время. Но главное-то остаётся с нами — музыканты играют на педальках и раз в месяц-два до сих пор ребята интересуются покупкой (безуспешно, ребят простите), как подтверждение, хоть и очень локальной, но ценности.
Так что если у вас в голове есть идеи, но вы не знаете как их сделать, просто делайте. Не думайте, делайте. А как начнёте делать — думайте, и тогда это точно приведёт к какой-нибудь крутой истории.
Усвоив тот самый главный урок, я решил, что сдаваться как-то стрёмно. Пришёл в iT, научился писать код в продакшене, узнал как делаются проекты, запустил пяток приложений и сервисов.
А сейчас вернулся к своей мечте — делать фановое музыкальное железо, но это уже совсем другая история (небольшой спойлер у меня в профиле :). Может, когда-нибудь она тоже появится здесь.
Спасибо, что дочитали. Если вам было интересно, пишите — с удовольствием отвечу на вопросы.
Stay Heavy \m/
UPD:
В комментариях попросили перезалить видео с Ютюба на Рутюб, чтобы не приседать с VPN. Пост отредактировать уже не могу, так что добавляю вот таким апдейтом.
Житель Петербурга лишился глаза из-за онкологии, и обычные протезы показались ему слишком скучными. Тогда он вместе с товарищами сделал уникальный глазной протез, помогающий ему в быту! Видео с полной историей создания на YouTube
К огромному сожалению, старые смартфоны всё чаще и чаще находят своё пристанище в мусорном баке. К прошлым, надежным «друзьям» действует исключительно потребительское отношение — чуть устарел и сразу выкинули, словно это ненужный мусор. И ведь люди даже не хотят попытаться придумать какое-либо применение гаджетам прошлых лет! Отчасти, это вина корпораций — Google намеренно тормозит и добивает довольно шустрые девайсы. Отчасти — вина программистов, которые преследуют исключительно бизнес-задачи и не думают об оптимизации приложений совсем. В один день я почувствовал себя Тайлером Дёрденом от мира IT и решил бросить вызов проприетарщине: написать свою прошивку для уже существующего смартфона с нуля. А дабы задачка была ещё интереснее, я выбрал очень распространенную и дешевую модель из 2012 года — Fly IQ245 (цена на барахолках — 200-300 рублей). Кроме того, у этого телефона есть сразу несколько внешних шин, к которым можно подключить компьютер или микроконтроллер, что даёт возможность использовать его в качестве ультрадешевого одноплатника для DIY-проектов. Получилось ли у меня реализовать свои хотелки? Читайте в статье!
Мотивация
Честно сказать, идея попытаться реализовать свою прошивку мне пришла ещё давно. Однако, дабы не завлекать опытного читателя кликбейтом, я сразу поясню, в чём заключается «прошивка с нуля»:
Мы всё ещё используем Linux: в качестве ядра мы продолжаем использовать образ Linux, предоставленный нам производителем. Написание прошивки полностью с нуля заняло бы очень много времени (особенно без схемы на устройство). Однако, мы вообще не загружаем Android никаким образом.
Мы не используем библиотеки AOSP: наша прошивка без необходимости не использует никаких библиотек уже имеющегося образа Android. Вся работа с железом происходит с помощью низкоуровневого API Linux. Это значит, что отрисовка графики, звук, управление ресурсами и питанием ложится полностью на нас.
Прошивка может запускать только нативные программы: да, это тоже камень в сторону Android. Изначально, наша прошивка умеет запускать только нативные программы, написанные на C. Причём она экспортирует собственное C API — дабы приложения могли использовать всю мощь нашего смартфона в виде простого и понятного набора методов.
Проектов по выкидыванию Android из, собственно, Android-смартфонов как минимум несколько: UBPorts — бывший Ubuntu Touch, FireFox OS и его наследник Kai OS и конечно же, postmarketOS. Отчасти можно сюда отнести и Sailfish OS — но там образы имеются в основном на смартфоны от Sony. Все эти проекты объединяет сложность портирования и невозможность их завести на устройствах без исходного кода ядра. Даже если у вас есть исходный код ядра, но, например, устройство использует ядро 2.6 — навряд-ли вы сможете завести современный дистрибутив на нём.
Другой вопрос в том, что можно использовать полу-baremetal подход, когда от Linux берется практически минимальный функционал. Всё, что мы имеем — busybox, libc и низкоуровневый доступ к железу, благодаря API самого ядра. Как под это всё программировать — я рассказывал впрошлойстатье. Этот же подход мы будем использовать и сейчас — как иллюстрация реального применения подобного способа.
Итак, что наша прошивка должна уметь:
Отрисовывать произвольную графику: графическая подсистема нашей прошивки должна работать с фиксированным форматом пикселя, уметь загружать прозрачные и непрозрачные изображения, отрисовывать картинки с альфа-блендингом и т. п.
Уметь звонить и работать с модемом: общение с модемом происходит посредством AT-команд — общепринятого в индустрии стандарта. Однако в случае нашего устройства, есть м-а-а-а-ленький нюанс, о котором я расскажу позже.
Иметь механизм приложений: мы ведь не будем хардкодить все «экраны» в прошивке в виде кучи стейтов, верно? Для этого у нас должен быть простой и понятный механизм слинкованных с прошивкой приложений.
Обрабатывать ввод: обработка тачскрина и жестов — это задача подсистемы ввода.
Реализовывать анимированный UI: здесь всё очевидно, наша прошивка должна иметь готовые элементы пользовательского интерфейса для будущих приложений: кнопки, текстовые поля и т. д. О деталях реализации этой подсистемы, я расскажу ниже (а реализовал я её очень необычно для такой системы).
Начинаем мы с хардварной части. Именно здесь я покажу вам, как использовать внешние шины вашего устройства.
Аппаратная часть
В качестве смартфона для нашего проекта, я выбрал популярную бюджетную модель из 2012 года — Fly IQ245 Wizard. Это простенький китайский смартфон, который работал на базе популярного в прошлом 2G-чипсета: MediaTek MT6573, да и стоил около 2х тысяч рублей новым. Однако вот в чём суть: мне удалось заставить работать «медиатековский» модем и даже позвонить с него на свой основной телефон, но… только ввод и вывод данных из звукового тракта модема происходит через звуковую подсистему Android — к которой доступа у нас нет!
Именно поэтому, мы идём на очень хитрый и занимательный костыль: мы распаяем внешний модем сами! В качестве радиомодуля у нас выступит модуль SIM800 от компании SIMCOM. И даже он очень близок к нашему смартфону в аппаратном плане: ведь в основе этого модуля лежит популярнейший чипсет из кнопочников тех лет: MediaTek MT6261D. Преимущество SIM800 в его цене — он стоит пару сотен рублей, так что по карману выбор модема не влияет.
На весу паять крайне неудобно. В финальном варианте перепаяю нормально.
Но как его подключать? SIM800 общается с другими устройствами посредством протокола UART — универсальный асинхронный приемо-передатчик. И вот тут мы включаем смекалочку. Разбираем устройство и видим то, что я пытаюсь долгое время донести до моих читателей — аж два канала UART: один практически посередине, второй справа. Нам нужны пятачки TXD4 и RXD4:
Обычно на этот канал UART летят логи ядра, которые можно без проблем отключить минорной правкой U-Boot в HEX-редакторе. Впрочем, модем никак не реагирует на «мусор» из консоли и просто отвечает ошибками — хватит лишь очистить буфер сообщений для того, чтобы все работало нормально. Подпаиваемся к UART'у с помощью преобразователя — у меня оным выступает ESP32 с выпаянным чипом.
Увидели логи? Замечательно, пора попытаться что-то отправить на ПК и с ПК. UART работают без тактовых сигналов и зависит исключительно от старт/стоп битов и бодрейта, который на устройствах MediaTek равен 921600. TXD4 и RXD4 обнаруживаются в системе на консоли/dev/ttyMT3. Пробуем что-то отправить: всё работает!
Вот теперь-то можно подключить наш внешний модем и попытаться пообщаться с ним, отправив тестовую командуAT. Модем отвечаетOK! На этот раз я работаю с смартфоном из режимаFactory mode— практически тоже самое, что и режим recovery, но позволяющий, например, получить доступ к камере устройства. Простая и понятная схема, поясняющая что и куда подключать:
На этом модификация аппаратной частипоказакончена. Пора переходить к реализации софта! Я решил разделить материал на каждый модуль, который я реализовывал — дабы вам был понятен процесс разработки и отладки прошивки!
Заставляем смартфон запускать нашу прошивку
На этот раз я решил загружать смартфон из режима рекавери. Однако никто не мешает в будущем просто прошить раздел recovery вместо boot и получить прямую загрузку прямо в нашу прошивку. Время такой загрузки будет заниматься ~3-4 секунды с холодного старта. Очень даже ничего.
Я взял уже готовый образ TWRP для своего смартфона и пропатчил его, дабы сам рекавери не мешал своим интерфейсом. Для этого я распаковал образ recovery.img с помощью MtkImgTools и убрал в init.rc запуск службы /sbin/recovery. После этого, я залил прошивку обратно на устройство и получил подобную свободу действий — консоль через USB и чистый холст в виде смартфона! Старые смартфоны на чипсетах MediaTek шьются через USB только после замыкания тест-поинта — на моем аппарате его местонахождение очевидно. Замыкаем контакты между собой, подключаем смартфон без АКБ к ПК и ждем прошивки:
Теперь можно деплоить программы! Важный нюанс: в отличии от Makefile из прошлой статьи, для Android 2.3 параметр -fPIE нужно убрать — иначе динамический линкер (/sbin/linker) будет вылетать в segmentation fault.
❯ Графическая подсистема
В комментариях под прошлой статьёй меня похвалили за то, что я делюсь достаточно профильными знаниями касательно эффективной отрисовки 2D-графики. Собственно, к реализации графической подсистемы я подошёл ответственно и постарался реализовать достаточно шустрый рендерер, к которому затем можно подключить другие модули.
Как я уже говорил ранее, графическая подсистема должна уметь загружать картинки, выводить некоторые примитивы, выводить картинки с прозрачностью и без, загружать и отрисовывать заранее подготовленные шрифты, а также управлять отрисовкой бэкбуфера на экран.
В случае с этим устройством (и большинством старых устройств), формат пикселя оказался RGB565 — т. е. 5 бит красный, 6 бит синий, 5 бит зеленый. Конвертация форматов пикселей всегда была занозой в заднице для программных рендереров, поскольку занимает дополнительное время, которое обратно зависимо от размера дисплея. Изначально я решил выделить буфер в том же формате, что и фреймбуфер, но затем решил сделать классический и самый портативный формат — RGB888 (24х-битный цвет), а при копировании кадра на экран, на лету делать преобразования цвета:
Очень важный нюанс, который я не упомянул в предыдущей статье: на устройствах прошлых лет для обновления фреймбуфера необходимо послать структуру var_screeninfo, где хотя бы что-то изменено, иначе никаких изменений мы не увидим. Этот же костыль используется в родном recovery для отрисовки, а судя по исходникам драйвера fb, «правильный» способ обновить экран — послать драйверу ioctl (который я пока что не пробовал).
После того, как я смог управлять дисплеем, я решил загрузить и отобразить какую-нибудь картинку. Пусть это будут обои для нашей прошивки:
Загрузчик TGA сильно не поменялся: я таскаю его в неизменном виде из проекта в проект. Он поддерживает любые форматы пикселя, кроме палитровых, но я его искусственн ограничиваю на RGB888 и RGBA8888 — для поддержки обычных картинок и картинок с альфа-каналом. После этого, я написал не очень шустрые, но достаточно универсальные методы для отрисовки картинок. Для больших участков кода, я буду использовать pastebin, поскольку на Пикабу до сих пор не добавили ни подсветки синтаксиса, не нормальный перенос форматирования табов :(
PutPixel желательно заинлайнить в будущем. В целом, сама отрисовка работает достаточно быстро, но поскольку рендеринг выполняется на ЦПУ — рано или поздно мы упремся в количество картинок на экране. Есть некоторые оптимизации: например, непрозрачные картинки можно просто коприовать сканлайнами прямо в задний буфер.
Сразу же реализовываем методы для рисования шрифтов: они у нас будут совсем простенькими — только моноширинные (все символы имеют одинаковую ширину) и растровыми (для каждого размера придется «запекать» несколько шрифтов). Для этого я написал маленькую программку, которая рисует виндовые шрифты прямо в наш самопальный формат:
Формат примитивнейший:
1 байт говорит нам о размере шрифта и далее идут 255 изображений символов. Да, это не очень эффективно т.к попадают пустые символы из ASCII-таблицы, но в будущем это можно поправить.
Прозрачность в символах обеспечивает фоновый цвет Magena — ярко-розовый. Я не стал делать дополнительный альфа-канал, т. к. иначе будут серьезные лаги при выводе большого количества текста.
Теперь у нас есть отображение картинок и текста! Что с этим можно сделать?
❯ Обработка ввода
Пока что здесь не хватает обработки «хардварных» кнопок — домой, меню, назад и т. п. Однако в будущем это всё можно реализовать!
❯ Анимация
Не забыл я и про анимации. Ну кому с такими ресурсами нужен неанимированный топорный интерфейс? Пусть лучше будет анимированный, пусть и примитивный!
Аниматор напоминает оный из ранних версий Android: он имеет фиксированный набор свойств, которые умеет интерполировать в промежутках определенного времени. Если простыми словами: то он оперирует линейными отрезками времени a и b, в промежутке которых мы имеем значение «прогресса» — которое даёт нам результат от 0.0f (начало анимации) до 1.0f (конец анимации). Пока время тикает до необходимого интервала (duration), аниматор интерполирует заранее назначенные ему поля до нужных значений.
Именно так и получается плавность! Похожим образом реализованы анимационные системы во многих играх и мобильных ОС, только там они гораздо более комплексны: есть сериализация/десериализация из файлов, поддержка кейфреймов (несколько последовательных состояний на одном промежутке времени), поддержка кастомных свойств и т. п.
❯ Модем
Как я уже говорил раннее, работа с модемом происходит посредством AT-команд. Лучше всего обрабатывать ввод-вывод модема из отдельного потока, поскольку он может отвечать довольно медленно и тормозить UI-поток основной программы, вызывая лаги. В SIM800 уже реализован весь GSM-стек, в том числе декодирование и вывод звука через встроенный усилитель с фильтром — остается только подключить динамики и микрофон от нашего телефона. Пока что я подсобрал аудиотракт на том, что было под рукой — микрофон от нерабочего смартфона и динамик от планшета, но для проверки этого хватает:
Важный нюанс: по умолчанию, tty-устройства в Linux работают по терминальному принципу — т. е. дробят транзакции по символу окончания строки (\n), имеют ограниченный буфер и т. д. Для нормальной работы в условиях модема — когда фактически длина ответа неизвестна, а в сам ответ могут «вклиниваться» Unsolicited-команды (своеобразные флаги о состоянии от модема, которые могут прийти в произвольное время — т. е. при входящем звонке, модем начнёт флудить RING в терминал), необходимо иметь возможность точно прочитать весь буфер до конца и парсить данные «по месту». Для этого используется raw-режим терминала:
Пытаемся позвонить с помощью метода Dial и видим, что всё работает! Это очень круто! А теперь, конечно же, самое время переходить к реализации того, чего вы ждали — пользовательского интерфейса!
❯ Главный экран
К выбору концепции для интерфейса, я поступил максимально просто — «слизал» дизайн первых версий iOS. Как по мне, это одни из самых красивых версий iOS вообще — все эти приятные градиенты и переливания. Конечно, я не так крут, как инженеры Apple, да и мощного UI-фреймворка у меня пока что нет, поэтому я приступил к реализации с «минимальным» функционалом.
Начал я с разделения главного экрана на модули и продумывания архитектуры основного «лаунчера». У нас есть статусбар, который рисуется поверх всех приложений, полка с приложениями — AppDrawer и сами экраны приложений, унаследованные от суперкласса CScreen.
На данный момент, отрисовка достаточно примитивная: сначала рисуются фоновые обои, затем, если нет никаких активных экранов — AppDrawer и в самом конце рисуется статусбар и всевозможные оверлеи.
Выглядит симпатичненько. Если я смогу поднять хардварный GLES, то это получится сделать в разы плавнее и шустрее — не хуже айфонов тех лет! Реализация самого статусбара примитивненькая, но вполне рабочая:
Кроме этого, я сразу же реализовал предварительный механизм приложений в системе — пока что они слинкованы статически с основным лаунчером. Для этого есть структура CAppDesc, которая содержит минимально-необходимую информацию для показа информации о приложении и фабрику для создания его основного экрана.
Обратите внимание на удобство примененного подхода Immediate GUI. Нам понадобился новый элемент интерфейса, который описывает кнопку номеронабирателя? Мы просто реализовываем ещё один метод, который берет за основу стандартную кнопку и дорисовывает к ней текст. Всё крайне просто и понятно, хотя на данный момент слишком захардкожено. :)
❯ Звоним!
Пришло время совершить первый звонок с нашей по настоящему кастомной прошивки. Набираем номерок и…
Да, всё работает и мы без проблем можем дозвониться :)
❯ Заключение
Конечно же, это далеко не весь функционал, необходимый любому современному смартфону. Здесь много чего еще нужно реализовать хотя бы для соответствия уровню бюджетных кнопочных телефонов: телефонную книгу, поддержку СМС/ММС, мультимедийный функционал с играми. Однако начало уже положено и самая необходимая часть модулей реализована. Этот проект очень занимательный для меня и я горд, что смог не на словах, а на деле показать вам, моим читателям, возможности моддинга совершенно NoName-устройств, без каких либо опознавательных знаков…
Моя задача заключается в том, чтобы показать вам возможности использования старых телефонов не только в потребительских, но и в гиковских DIY-сферах. Судите сами: огромный классный дисплей, емкостной тачскрин, готовый звук, камера — и всё это за каких-то пару сотен рублей. Главное показать людям, как всю эту мощь использовать в своих целях и делать совершенно новые устройства из существующих, а не выбрасывать их на помойку! Сейчас смартфоны, подобные Fly из этого поста стоят копейки, а портировать на них прошивку можно без каких-либо трудностей. Я очень надеюсь, что после этого поста читатели попытаются сделать что-то своё из старых смартфонов, благо свои наработки я выкладываю на GitHub!
Привет! Собственно, я тут собираюсь вам показывать вот этот мопед. Я его строю. Расскажу вам чуть ниже, что куда.
1/4
Картинки этой штуки, их можно полистать.
А вот и видос на Ютубе:
А вот в ВК видео:
Очень советую взглянуть на видосы - тогда написанное ниже начнёт иметь чуть больше смысла. Хотя это опционально. Букв я вам тоже занёс.
Ну а картинки этой штуки вы видите выше.
Собственно, теперь давайте я вам тут порассказываю немного всякого эксклюзивного про этот скутер. То есть, что значит немного - приличную такую простыню накатаю.
Итак, как я докатился до жизни такой?
Вообще, я класса с 10 в скучных ситуациях (вроде уроков литературы) начинал рисовать мотоциклики. А позже так вышло, что у меня появился доступ в прекрасно оснащённую кастом-мастерскую "Бункер", где я могу возиться со своими железками и получать квалифицированную помощь, совет и обучение. Неплохое совпадение, пользуюсь им на полную. Насколько работа позволяет, точнее. Хожу туда пару раз в неделю по вечерам. Обожаю я с железками возиться.
Там я построил себе неплохой мопед из Honda Super Cub. Ну как себе - он весь в лейбах мастерской, а я как бы её член, то есть это не мой проект, а НАШ. Да и я не варил там и не красил, только гнул, шил, травил и резал. Вот его картинки:
1/6
Мопед из Хонды Суперкаба.
А ещё есть видео на Ютубе но оно только на английском - ниже его размещу. Там есть русские субтитры. Но в целом там просто обзор уже готовой работы, в карусели выше инфы плюс-минус столько же.
Хонда эта вполне себе ездит, я бывает выбираюсь по центру прокатиться. Но, конечно, он под участие в выставках, а не под езду делался. Все Питерские выставки он уже объездил. Теперь надо бы как-то на Мотовесну в Москву попасть, да что-то не выходит который год.
И вот, я начал свой второй проект кастома. Рабочее название - "Дизельпанк". Дизельпанк этот, правда, с бензиновым мотором.
В общем, проект начался с дизайна и крутится вокруг дизайна. Как-то я шёл по мастерской и увидел крыло от Ижевской коляски. А оно очень красивое. И мысль такая в голову шарахает: а ведь из него могут торчать цилиндры от мотора К-750, красиво будет! Ну, если без непонятных букв и цифр, то пока я пялился на старую деталь - придумалась какая-то ретро-штука с торчащим из неё мотором воздушного охлаждения, как это бывало на старинных самолётах.
Крыло от Ижа (фото не моё, я его украл в интернетах)
От чего же взять мотор? От Запорожца, конечно. Целых 40 лошадиных сил, 1200 кубов - вполне достаточно, чтобы кататься с ветерком (может, такое и до 130 км/ч разгонится). Он очень красивый, если снять с него кожухи охлаждения и вентилятор. С такими моторами строят кучу мотоциклов - по запросу "зазоцикл" можно найти кучу примеров. Вот, я небольшой коллажик сделал, чтобы вам далеко не ходить:
Разнообразие качества зазоциклов велико - от крутых кастомов до совсем стыдного колхоза (включать стыдный колхоз сюда я, конечно же, не стал).
В итоге дизайн понемногу превращался во что-то похожее на финальный вариант, который сейчас строится. Но чего-то в дизайне не хватало. Этим чем-то оказался футуризм. Я откровенно пропёрся дизайном шлемов из Dead Space 2 и постарался что-то взять от этих непрактичных, но таких красивых прорезей вместо забрала.
Айзек, сделай нас едиными!
В общем, под влиянием излучения маркера* морда стала агрессивнее, а зад был стилизован под то самое крыло, с которого всё началось.
* шутка понятна для игравших в dead space
Вроде бы рабочее название "дизельпанк" проекту подходит - торчащего мотора, как мне кажется, достаточно для этого, а вот стримлайнером называться - ну такое. Это всё же не чистое ар деко, разные решения в этом проекте отсылают как к 1920, так и к 1970 годам, а то и к 2570.
Вот картинка хода дизайна - у меня остались все рендеры с самых первых шагов (я чутка владею 3ds max). Именно с такого цирка всё началось - но в итоге пришло, куда нужно (как мне кажется).
Стыдно показывать первые картинки, но так оно и было!
В итоге получилось то, что получилось. Дикая дичь. Но эта дикая дичь - не скульптура, она должна передвигаться. То есть, надо придумать, как в это напихать трансмиссию и передать крутящий момент на заднее колесо.
Попытки сделать аппарат чуть длиннее или добавить какие-то выступы на пол приводят к полной потере пропорций и деградации облика. Поэтому задача была непростая - как-то впихнуть любую трансмиссию в такое ограниченное место. И дизайн ни в коем случае не трогать.
Самая очевидная мысль - поставить коробку от Урала или Днепра - не годится. Колёса 12 дюймов, оно будет разгоняться до 60 км/ч на 4 передаче и перегреваться. Плюс коробка требует некрасивого пола под ногами, даже если её повернуть - так что точно нет. Вторая идея была делать цепную трёхступенчатую коробку. Цепная КПП была на мотоциклах Zundapp и неплохо работала, а трёхступенчатая - потому что на моём первом мотороллере Вятка ВП-150М передач было ровно столько. Отложим её на случай, если нынешний вариант не сработает.
А вот и решение.
А нынешний вариант - это вариатор. Вариатор, если не знаете, это такая ременная коробка передач. Она бесступенчатая. На снегоходах, квадриках, скутерах именно такая. И на некоторых машинах (там её все ненавидят). Мне очень хотелось его поставить, поскольку логично: у скутера должен быть вариатор. Даже несмотря на то, что у него автомобильный мотор. Но впихнуть туда крупный вариатор было особо некуда, а мелкий бы не выдержал крутящего момента и не работал бы на этих оборотах. Два-три мелких уже не влезают по месту никуда. В общем, беда.
Я начал изучать вариаторы снегоходов. Потом посмотрел прайс на запчасти к Полярисам / Ямахам и понял - не накоплю столько. Полез смотреть Бураны. Цены вкусные, но там мотор 30 сил всего. Зато есть вариаторы, рассчитанные на низкооборотистые моторы, а у меня как раз такой. Народ активно ставит всякие стационарные моторы на эту технику и катается, только надо сжимающие шкив грузики утяжелить.
И тут я вижу, что у снегохода Тайга, оказывается, 50 лошадиных сил. А вариатор у него в целом тот же, что у снегохода Буран, только второй шкив чуть другой - усиленный как будто.
Вот так эта штука выглядит.
Всё, решение есть - берём эти 2 шкива и радуемся. Я их и заказал сразу. Осталось только найти способ разместить эту конструкцию под капотировкой.
А эта задачка оказалась нетривиальной, поскольку места хватает только под сам вариатор и впритык. Но как-то раз на утренней пробежке меня осенило - паразитная цепь, вал и угловой редуктор! И вот, конструкцию вы видите на видео. Всё сошлось. Штука вышла компактная, хоть и извращённая. Много паразитных передач, что плохо. Зато компактно и вписывается в дизайн!
Как-то так это выглядит в виде схемы, да простят меня настоящие инженеры за возможные ошибки.
Угловой редуктор - а от чего? Творческий поиск привёл меня к тому, что называется "угловая раздатка". В некоторых полноприводных машинах. построенных на базе переднеприводных, такая штука соединяет коробку передач с карданом заднего моста.
Вот та самая раздатка от Honda CRV. Тяжёлая, зато надёжная! Тот случай, когда лучше не экономить лишние 3...4 кг. Стоила копейки на разборке.
В общем, дело осталось за малым - найти движок от Запорожца. И знаете что? В мастерской их было 2 штуки, оба рабочие. Вот так мне и сказали: "А, тебе мотор надо? Вон лежат, бери."
Ну а дальше всё есть на видео. Дальше началась работа. И я её сразу начал снимать. Ну разве что разборку мотора и чистку говн не снял, там была страшная грязища.
Но, конечно, как не старайся снимать - а масса вещей осталась за кадром. Например, мало кому будет интересно смотреть, как я сначала теряю одну детальку, а потом трачу целый день на то, чтобы её сделать с нуля, так как купить отдельно такую можно только в составе головы для мотора в сборе. Такое лишь дискредитирует меня (хотя куда дальше-то). Но я зачем-то это снял. В видос включать не стал, кому это интересно...
Ещё за кадром остались бесконечные переделки. Я там шучу над этим в видео, а это на самом деле беда. С первого раза не получается почти ничего и никогда. Сколько было выкинуто и испорчено деталей глушака... Был и тестовый конус из стали 1,5 мм - мне надо было понять, реально ли их скрутить. До сих пор валяется в мастерской с надписью "не нужно" маркером.
Ещё много-много чего осталось снятым в качестве 720 точек по высоте (в качестве HD вместо Full HD). Камера, собака такая, переключилась. А заметил я это спустя месяц или два съёмок. Где у меня несколько кадров в одном - то было в 720. Видос был бы подлиннее, если б не это. Там много материалов по покраске, доработке головок и так далее было. Самое любопытное из не вошедшего - это обжарка головок цилиндров на электрической плите (краска требует нагрева, чтобы окончательно полимеризоваться и прилипнуть к алюминию).
Многие работы делал не я. Например, Игорь (хозяин мастерской) всё варил, он же красил головки. Но большая часть работ таки сделана мной. И всё равно спасибо, я бы так и остался странным чуваком с блокнотиком так и не построенных мотоциклов, если бы не мастерская.
В общем, надеюсь, вам понравились эти буквы, картинки и видосики. Если есть какие вопросы - смело задавайте!
PS Надпись на бумажке в видео "печь, но потом" - это подарок. Мы заказали владельцу мастерской Игорю муфельную печь, но к его ДР она не успела приехать. Поэтому он получил вот такую бумажку и трэк-номер.
PPS А вот ещё несколько более ранних рендеров проекта, где ещё шли эксперименты со стилем, цветом и т.д.
1/3
PPPPPPS Да, картинка у видоса кликбейтная - но лучше так сделать, чем не сделать )) Это позор, но позор рабочий.
Не смотрите на "приборы", они врут) Тут на самом деле высота около 30км
Все произошло спонтанно, никто нас не заставлял. Просто я собирался по делам в Питер, а в чате мне написали что-то типа: так может тогда запустим? Будто драгдиллер предлагает, отказываться нельзя. В общем опустим лишнее, я постараюсь без технических деталей (если что, раскрою в коментах по требованию, там были приключения) - у нас было КОЕ-ЧТО новое. Как мы это КОЕ-ЧТО провалили, почему и что из этого вышло? Поехали!
Если кто не понимает "о чем речь". Коротко: мы запускаем самодельные стратостаты/зонды с камерой/камерами на борту, потом их ищем, достаем и скидываем чего они там наснимали. Подробней в моем профиле в серии "Самодельный стратостат". Там начинается все со сборки "с нуля" и дальше "по нарастающей"
Оборудование
Принципиальная схема Vostok-7. Масштаб не соблюден!
Принципиальная схема не поменялась. Это по прежнему шар, ниже парашют, ниже - все остальное (мы называем это "полезная нагрузка").
Шар
Это шары. Правда-правда!
Так как запуск спонтанный, какого-то супер-шара мы не заказывали. Но у нас в запасах были два по 600гр. Их расчетная высота - 26км. Но мы не собирались ставить рекорды по высоте, мы хотели протестить КОЕ-ЧТО другое. Так что 600й шар нас устроил. Запускали его.
Бокс
Белую трубу в итоге покрасили в черный. Потому что стиль - это наше призвание
В этот раз сделали новый, поменьше. Дело в том, что в этот раз у нас не летал RPI + его питание (павербанк). Отсюда 2 последствия:
Размер бокса сильно уменьшился
Мы лишились активного обогрева
Первый момент - положительный. Со вторым придется что-то "думать". Надумали мы - химические стельки из спортмастера (это прям спасибо нашим гостям на этом запуске!). Ну а что? Есть не просят и греют. Активировали такую стельку, накрыли ею павербанк чтоб не замерз при -53С и вроде норм. Во всяком случае, раз вы видите первое фото в этом посте - значит павербанк не замерз :3
Итого в боксе у нас: павербанк для питания камеры, спутниковый трекер Азимут Иридиум (он у нас уже летал и мы знаем его "особенности") и химическая стелька для обогрева - все.
Парашют
Бесстропный. Тот же что у нас уже летал не раз. Ничего нового
Камера
Наша обычная insta360 ONE X2. Режим 4k 30fps. Налетала уже в стратосфере прилично у нас. Ничего нового.
КОЕ-ЧТО
Vaisala RS41-SGP
Я только из-за этого согласился на этот запуск, потому что уж очень хотелось это испытать - радиозонд Vaisala RS41-SGP. Это готовое устройство, которое должно было решить наши насущные проблемы, а именно:
Фиксация температур ниже -40С. Наш градусник на RPI не фиксировал температуры ниже -40С. Это устройство с этим справилось на все 100!
Фиксация высоты на протяжении всего полета. Если кто не помнит, наш спутниковый модуль для RPI имел обыкновение "периодически" терять сигнал и нам приходилось потом на земле восстанавливать показания высот (разными способами). Это устройство - не справилось. Видимо проблема не в навигационном модуле, "а в чем-то другом". В этот раз мы потеряли спутниковый сигнал примерно на 5км и больше он не вернулся (но уже по другой причине, об этом ниже)
Тем не менее считаю, что потенциал у этого устройства и сборки в целом - отличный. Будем пробовать еще.
Как он работает? Он имеет GPS модуль и набор сенсоров: давление, температура и влажность. Так же он имеет радиопередатчик. Все показания (GPS и сенсоры) он передает по открытому радиоканалу в диапазоне 400-433MHz. Внутри себя ничего не хранит.
Отсюда важное изменение нашего геймплея:
Нам теперь придется преследовать наш шар и держать с ним радиоконтакт!
Если мы потеряем радиосигнал - мы потеряем данные за это время.
Из положительного :
это должно быть очень весело - преследовать стратосферный зонд на автомобиле!
мы будем видеть все показания в реальном времени! для этого мы закупили отдельный планшет, usb-радиоприемник, антенну, поставили нужный софт и все протестили (как оказалось - плохо, но об этом позже).
Трекаем наш зонд в реальном времени!
Готовимся
Если ваша вечеринка не выглядит вот так - даже не зовите меня
Из газа мы снова взяли технический водород потому что дешево. Да опасно, но мы не курим и никому не советуем. Особенно рядом с 40 литрами водорода. Если кто первый раз - советую гелий. Подороже, но зато в бесконечное количество раз спокойней.
Качаем как обычно: мы знаем вес нашей полезной нагрузки (~1.5 кг в этот раз) и у нас есть безмен (весы такие)! соответственно цепляем безмен к шару и качаем шар пока на безмене не будет чуть больше 1.5 кг.
Качаем неспеша
Место запуска мы в этот раз выторговали у ОРВД рядом с городом, где-то под Гатчиной, точно не помню и смотреть лень. Мы подумали, что если нам не разрешат запуск поближе (раньше это было 400 км от города), то мы никуда не поедем и запускать не будем. Но нам разрешили без проблем. Вот наш полетный план на этот запуск:
(SHR-ZZZZZ
-ZZZZ0700
-K0300M3000
-DEP/5920N02957E DOF/231126 OPR/ИВАНОВ ИВАН ИВАНОВИЧ +79311231234 operatormail@gmail.com
TYP/SHAR RMK/ОБОЛОЧКА 300 ДЛЯ ЗОНДИРОВАНИЯ АТМОСФЕРЫ SID/VSTK0160)
Накачали и звоним нашему диспетчеру. За 30 минут до времени запуска (из полетного плана) он должен нам произнести в трубку - разрешаю использование воздушного пространства. Что он и делает. Мы дожидаемся назначенного времени, отпускаем наш зонд и я прыгаю "за приборы" - теперь нам надо принимать радиосигнал с зонда и смотреть что он и где он!
Я доволен!
На этой фотке высота где-то 2800 м и температура за бортом -20С. Сразу скажу: самая низкая температура, что мы успели зафиксировать за этот полет -53С!
В общем все на места, я за штурмана, человек отвечающий за хавчик в дороге - на заднем сиденье!
Погнали
... но не долго(( Пока водила мчал как пёс, я мониторил показатели. Где-то в районе 3500 м наш зонд теряет сигнал GPS. Это то, что у нас случается регулярно и мы уже не знаем, что с этим еще можно сделать. Т. е. зонд работает - он присылает показания датчиков. Мы видим что за бортом уже температура -53С, но данные GPS отсутствуют.
Штош... не впервой. Надо ждать пока прокашляется GPS, а пока погнали по прогнозируемой траектории - нам надо держать зонд в прямой видимости, чтобы принимать сигнал. Гоним и видим, что еще через несколько минут пропал радиосигнал полностью.
Просчитался, но... где?!
Мы должны были сделать что-то не так (традиция). В этот раз мы вставили не те батарейки в радиозонд. Мы использовали солевые - они имеют отрицательный КПД на морозе. Нужны были литиевые аккумы. Но мы, в суматохе, прошляпили этот момент и потеряли наш зонд(
Окэй... у нас есть план Б. Всегда должен быть план Б! Азимут Иридиум - очень капризный, но довольно надежный трекер с обратным спутниковым каналом. Это один из 2х наших постоянных трекеров. У него проблема вот в чем: он теряется на 8 км, всегда. Но потом, когда уже валяется на земле (или около) - находится.
Трек Азимута
Хоть и с провалами, но отозвался он часа через 3. Как я уже упоминал - в 6 км от прогнозируемого места приземления. Мы на тот момент были в 3-х км от точки - удачно.
Достаем
Проблема вот в чем - прилетел он в лес, в болото :-|
Ррразгружаем Сатану! Мы быстренько проверили по картам - от ближайшей дороги до места примерно 3 км. Есть какие-то просеки, вроде бы ведут в нужную сторону. План такой: на вездике мчим по просекам настолько близко, насколько сможем подобраться к зонду. дальше пешком. Надежно.
Сунулись по первой просеке - там завалено бетонными блоками прям в самом начале пути. Понятно. Кто-то не хотел чтоб там "катались". Окей поехали по второй. Не так прямо ведет к месту, но вроде бы что-то типа может быть...
Мчим по второй просеке
Через полчасика такой гонки упираемся... в болото. Водила говорит, что дальше не поедет, что-то там лапочет про "далеко от КАД" и "5 звезд", но его никто не слушает - мы все еще очень далеко от точки. Дело в том, что у нас хоть и болотоход, но наш водила тоже шарит. Он на нем уже прилично накатал и знает предел его возможностей. В общем, там был не иллюзорный шанс оставить наш вездеход до лета. А сражаться со стихией нам никак не хотелось. Вернулись обратно и призадумались.
Проблема вот в чем - зима. Это, во-первых холодно. Во-вторых - короткий световой день (под Питером). Время играло против нас - нам надо было добраться 3 км по не ясному лесу до точки, порыскать там зонд и, главное, выйти из него до темноты! Потому что по темноте мы бы там до сих пор ходили.
Где-то в лесу
Сошлись вот на чем: у нас есть N часов до сумерек (я точные цифры не помню уже, буду использовать формулы). Нам надо быть у машины через N часов. Значит у нас есть N/2 часов на дорогу ТУДА. Идем по первой просеке (та что завалена). Она проходима пешком. Вне зависимости от результата этого забега, через N/2 часов мы начинаем возвращаться.
Да, это довольно пессимистичное расписание, я понимаю. Но я хотел оставить небольшой запас времени для маневров и непредвиденных ситуаций. Все согласились и мы потопали.
Большую часть пути нам везло - мы просто топали по этой просеке прямо и очень бодро. Проблемка нарисовалась за 900 метров до цели - она была не на просеке)) По времени - мы потратили где-то 60% отведенного N/2. Наша скорость всем нравилась и мы начали прощупывать лес на предмет - как пролезь эти 900 метров. Дело в том, что болото никто не отменял. А болотоход остался у дороги. Мы потыкались с разных сторон минут 20 и обнаружили возможность.
Дальше - дело техники. Еще за 40% отведенного времени мы вышли на точку (опять везло!) и сразу же увидели оранжевый парашют - это наш парень нас ждал :3
Налетался и спит :3
На этом везение не закончилось. Лес там тоже никто не отменял и мы до последнего были уверены, что он сейчас висит на гигантской елке. Мы на него посмотрим и пойдем домой пустые. Чудом, маневрируя меж хвойных вершин, Vostok-7 аккуратно (!) приземлился на невысокий куст.
Эту эталонную посадку вы можете посмотреть на видео в конце поста!
Сняли, 5 мин привал и почти с таким же таймингом вышли обратно к машине. Немного походили в темноте, но уже по просеке, там не заблудишься. Главное успели выйти на просеку до темноты. Дальше отдых и разбор материалов.
Результаты
4k 30 fps 360 видео - можете его покрутить мышкой или посмотреть в VR-очках
Как вы помните - сигнал с зонда мы потеряли где-то на 4 км. Так что вся телеметрия у нас только до 4-х км (да и за нее пришлось немного повоевать, но это уже тема для Хабра). Выше мы не могли уже даже установить высоту по барометрической формуле - отсутствовали показания давления. Подобные полные бортовые видео это скорее традиция и для отчетности. Я прекрасно понимаю, что никто не будет 3 часа смотреть облака.
Я так же накидал пару shorts на канале с "лучшими" моментами по моему мнению - feel free.
Ну и для самых отбитых: зонд лежал нас ждал несколько часов. Все это время камера вела запись. Эта запись у меня есть)) Я почти уверен, что на камеру должно было попасть что-то интересное. Ну не знаю, олень там или волк. Но смотреть 4 часа на снег - нам физически тяжело. Если кому-то нечего делать - может ткнуть рандомный момент на видео, посмотреть нет ли там чего интересного и если есть - написать в коментах.
Думаю толпой это будет посильная задача. В один из разов таким образом пикабушники нашли на видео момент где у нас в полете выпадает павербанк))
О да, это вот "стул/стол своими руками за 30 минут" - смотришь видео, а там чувак заходит такой в мастерскую, которая больше моей квартиры, одной рукой опирается на стол с циркуляркой, другой рукой на рейсмус, жопой к вытяжке джет с фильтрами больше него самого. И такой - "возьмем простой лист фанеры (достает фанеру 12мм полтора на полтора за 2 тыщи) и сделаем ШАБЛОН для нашего стула из мореного дуба, которому 1000 лет. Делать будем на моем фрезере чпу 2 на 2 метра за 1,5 миллиона рублей, согласитесь, это быстро и просто." Я в этот момент давлюсь роллтоном перед старым ноутбуком, который по чистой случайности работает аж с 12 года. А этот хрен тем временем - "пока шаблон вырезается на фрезере, можно распустить дубовые доски в размер" прогоняет в рейсмусе, пилит диском по лазерной метке на подвижной угловой приспособе с нужный угол. Я давлюсь чаем без сахара. Мужик собирает стул на клей тайтбонд, через кососверлильную приспособу фигачит его штапиками, которые сделал на токарном за 2 минуты, шлифует орбитальными пневмомашинками, покрывает маслом за 150 баксов и такой: "как вы видите, это очень легко, справится даже ребенок" Я - а ну действительно блять, хуле там, положил, руками поводил, 5 раз отпилил, 10 просверлил. У меня ж дуб этот посреди хаты растет, а ем я за циркулярным столом дома. Сплю на фрезерном, в вытяжке белье храню, а чай размешиваю фрезами по 2к каждая. Пиздец)