Автоматизируй это!
525 subscribers
50 photos
49 videos
1 file
62 links
"Автоматизируй это!" сделан для тех, кто любит создавать материальные объекты — по работе или для развлечения.

Оглавление: https://t.me/automate_courses/40
Основной курс: https://automate.courses

Абонентский ящик: @prplkn
Download Telegram
Иллюстрация к посту об обнаружении хорька (телеграм ограничивает длину публикации с вложениями).

Здесь показаны все рассмотренные варианты, само собой, будет выбран какой-то один.

Вкратце — что бы мы ни выбрали, изолированная задача "обнаружить гостя" даст результат в виде логического (булевого) значения. Об этих значениях и том, что с ними делать, есть целый урок еще в базовой части курса: Баз6. Как вещь может принять решение?

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

Далее посмотрим, как пугать.
Как пугать хорька

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

В полном курсе этим непонятным словам посвящен урок Осн2. Как обеспечить вещь электричеством? и соседний с ним выпуск "Модулей и идей" под №3. Там я свел эти вопросы к набору правил, чтобы обойтись без учебника физики.

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

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

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

3. Стробоскоп скорее всего будет неприятным для любого зрячего гостя. С этим никаких проблем, можно использовать в параллель с дребезгом эксцентрика или звуком, а можно обойтись им одним. Если зона поражения достаточно компактная, будет достаточно одной-двух-трех "Пираний" (яркие светодиоды, хорошо видны в бестолковом новогоднем ролике). Если нужно замигать всю комнату, можно взять ленту или какие-то другие более мощные светильники (и еще раз обратиться к Осн2 и МиИ№3 по поводу их подключения).

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

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

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

В частности, про if-else речь идет в том же Баз6. Как вещь может принять решение? А все остальные слова про ноды, входы и выходы — и вовсе разобраны в первых трех уроках, с которыми можно ознакомиться бесплатно.

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

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

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

Теперь надо понять, как увязать это со срабатыванием датчика.

А как будет вести себя сам датчик: срабатывать один раз на визит, или посетитель будет хаотично метаться, заставляя датчик срабатывать раз за разом?

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

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

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

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

Здесь то, что в итоге уйдет на исполнительное устройство, можно посмотреть в watch, а то, что приходит от датчика — представлено в виде tweak-boolean (слева вверху), поскольку, как мы помним, любой из датчиков в данном проекте можно свести к булевому значению. Его можно подергать в симуляции, прикинувшись датчиком.

В следующем посте выложу патч файлом.
ferret-sim.xodball
13.7 KB
Можете скачать XOD на xod.io и открыть в нем этот файл. В меню Deploy -> Simulate запускается симуляция.

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

Что там должно быть и почему — см. в двух постах выше и примечаниях в самом файле.

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

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

Завтра сделаем подсчет посещений со сбросом и соберем всё вместе: датчик, исполнение, вот эту прослойку между ними и подсчет.
Подсчет хорьков

Счетчик посещений со сбросом разделим на две задачи: (1) собственно, подсчет и сброс и (2) отображение подсчитанного — оно может быть реализовано разными способами.

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

Если кому-то из слушающих курс захочется модифицировать таким образом, урок Осн7. Как передавать данные между устройствами? поможет. А сейчас сделаем, как предложил подписчик.

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

Пояснения по (1) см. на иллюстрации, а (2) реализуем в следующем посте тем способом, который предложил автор идеи:
- 1 посещение = 1 мигание светодиода
- 2 посещения = 2 мигания
- >2 посещений = непрерывное мигание
Такой способ мигания можно было бы реализовать по-разному. Я сделаю так:

- состояние светодиода (вкл или выкл) представим во времени как ленту из клеточек, в каждой из которых записана 1, если в течение этого промежутка нужно светиться, и 0, если не нужно
- получается, нас интересует лента длиной 6 клеточек, где каждая вторая клеточка всегда будет с 0 (это пауза между вспышками)
- если счетчик еще никого не посчитал, лента будет выглядеть как 000000
- если было не менее 1 визита, заполняется первая клетка: 100000
- если посещений >1: 101000
- если >2: 101010 — а поскольку лента зациклена, такой паттерн будет выглядеть как непрерывное мигание, два предыдущих — как одна или две вспышки с паузой между группой вспышек, а самый первый — как выключенный светодиод

На светодиод в каждый момент транслируется содержимое только одной из клеточек, по "ленте" как бы перемещается "рамка". Она просто перещелкивается дальше раз в интервал, а с 5 клетки на 0.

Как это можно реализовать в XOD см. на иллюстрации.
Задача с изгнанием хорька в моем варианте целиком будет выглядеть вот так.

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

Связаны они неким предположенным сценарием.

Счетчик посещений сбрасываем кнопкой, а отображаем его на светодиоде способом автора.

На втором скрине всё то же самое, но упакованное в отдельные ноды. В уроке Осн5. Как создавать собственные ноды? можно узнать, как это сделать.

В общем, постарался рассмотреть задачку со всех сторон, все непонятные нюансы должны стать понятными при прохождении Автоматизируй это!
Media is too big
VIEW IN TELEGRAM
После солнечной прогулки захотелось немного рекреационного приборостроения и за ленивым субботним ютубом #взялсделал прототип для Системы Изгнания Хорька, добавив в нее управление с телефона, теперь могу успокоиться.

Давайте так, на сегодня и завтра xopek отгрызает
- 1500 рублей от стоимости полного курса, если хотите научиться делать это же и лучше
- 290 рублей от кругозорно-творческого интенсива, если хотите размять воображение и прикинуть, что вообще можно создать.

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

UPD.: Забыл показать, что в телефоне видно не только 0-1-2-«много» визитов, а точное число, сколько бы там их ни было, но досъёмывать уже не стану.
На дворе 21 марта, а значит пора выбирать победителя конкурса про светильник! https://t.me/automate_courses/122

Мы можем рассмотреть все предложенные варианты. Кто же победил?
Anonymous Poll
21%
Никто
79%
Дружба
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня/В Петрограде/На Надеждинской/Ни за грош

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

Это про те "психологические бонусы" из начала курса плюс в ключе "творческого развития", о чем не рассказывал явно.

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

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

Давайте встретимся в 20 часов по Мск сегодня прямо здесь, в канале!

Это будет не лекция и не постановка, экспромт на тему, пообщаемся вживую.

(Приложено секретное архивное видео от 13.04.2016)
Live stream finished (1 hour)
Audio
Для тех, кто не пришел вчера в эфир, оставил четверть в записи. Там есть про:
- часть "психологических бонусов"
- "проклятие знания" с экспериментом в реальном времени
- гуманитариев
- опыты переживания опыта
- первые пробы общения со слушателями (класс!)
- гиков
А также:
- часть баек для фанаток Кирилла
- два каминг аута
- магическая сцена после титров

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

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

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

Казалось бы, при чем здесь АЭ, угадаете?
This media is not supported in your browser
VIEW IN TELEGRAM
Сначала легкомысленный пост.

Попалось видео из второй версии съемок, которая никогда не была опубликована. В этом кусочке:
- использованы слова "покажу вам фокус"
- регулируемое мигание делается еще четырьмя, а не тремя нодами
- до радикального переписывания структуры курса еще месяц (переписана после 3 версии)
- до запуска пилота еще три месяца
- до начала изоляции весны 2020 еще три дня
- у ведущего уже нет бороды, но еще есть волосы😆

А серьезный пост сформулирую к вечеру.
А теперь серьезный пост.

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

Нередко слышу "у тебя вон сколько народу в канале, поди прёт проект-то?" Нет 😁

Суть поста: если вы считаете проект "Автоматизируй это!" чем-то для вас любопытным, самое время каким-то образом выразить это.
Разверну, каким образом это можно сделать и почему об этом зашла речь.

Напомню, зачем это всё.
Какую пользу для аудитории я вкладывал в проект:
1) Непосредственно способ научиться делать работающие вещи максимально просто. Для тех, кто занимается материальным прототипированием по работе, и для тех, кому скучно жить без созидательной деятельности.
2) Способ "саморазвиться": размять мозг, пережить тот опыт, о котором беседовали с Кириллом и поверить в свои технические силы.

Какой отдачи я ожидал от проекта:
1) Расширить круг общения "созидательными" людьми для новых свершений и просто контакта, обсуждать потребление мне скучно.
2) Как минимум отбить затраты, в идеале заработать.
3) Убедиться, что я могу запустить что-то сам.

В чем проблема.
С отдачей пока плохо.
По п.1: можете судить по косвенным признакам сколько народу откликается на опросы, сколько поучаствовало в конкурсе. Ценю вовлеченность двух-трех десятков активных людей, спасибо вам! Пару прекрасных контактов благодаря проекту удалось установить, но точно ли для этого нужны были месяцы работы?
По п.2: на нынешний момент проект вернул примерно 1/8 от затрат.
С п.3 получше, запустить-то запустил, тем, что сделано, я скорее доволен, но см. пп. 1 и 2.

С одной стороны кто весел, тот смеется, я убежден, что еще не дотянулся до нужного количества людей, идущих на контакт и заинтересованных в предмете (я полагаю, что таких людей на свете куда больше, вспоминая 25+ тыс. слушателей моего курсеровского курса) и перепробовано наверняка не всё. Но!

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

Второе "но": как ты ни верь в проект, без отдачи батарейка неизменно садится.

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

Как можно откликнуться:

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

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

Обратная связь: пообщайтесь со мной в личке, расскажите, чего вам не хватает, чтобы занырнуть в плотное взаимодействие с АЭ!

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

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