Клонирование NFC метки
Добрейший вечерочек, имеются у меня nfc метки с чипом Ntag213 и считывающее устройство в виде смартфона. На смартфоне установлен софт, который определяет id метки и при считывании каждой метки, в списке в приложении помечается соответствующие строки как отмеченные.
Внимание, вопрос: нужно сделать дубликаты nfc меток, чтобы приложение определяло их как оригинальные. Я так понимаю в памяти самих меток никакой инфы нет, а приложение определяет только id каждой отдельной метки. Каким софтом можно воспользоваться, чтобы сделать две одинаковые метки с одинаковым id?
Купленные новые метки прописать в приложение для доступа не представляется возможным, нужны именно клоны самих меток, чтобы каждая из них могла быть прочитана как оригинальная. Что подскажете , господа?
Как я учился играть на гитаре, а в итоге создал свою цифровую. Часть 3
Очередной этап разработки гитары завершен и мы наконец запустили кампанию на Кикстартере!
После публикации предыдущей статьи прошло много времени, наполненного пандемиями, чипапокалипсисами, санкциями, дискриминациями, войнами, блокировками счетов и прочими невзгодами. Все это значительно отсрочило запуск нашего Кикстартера. Но сложа руки мы не сидели. Мы изготовили несколько полнофункциональных красивых прототипов, я существенно доработал аппаратную и софтовую части гитары и мы полностью переработали мобильное приложение.
Изготовление механической части заняло практически все время, было очень сложно. Но результат оказался достойным. Для изготовления использовалось множество техпроцессов: 3д печать разными пластиками с покраской, фрезеровка и анодирование алюминия, нанесение маркировки, литье и overmolding силикона.
Все заявленные в предыдущей статье функции удалось реализовать. Мы собрали очень много фидбека по UX, так что однозначно будут изменения в конструкции в случае успешного краудфандинга. Они коснутся расположения кнопок, распределения масс, чувствительности датчиков, надежности подпружиненных контактов и узла сгибания.
В результате работы над софтовой частью и приложением появилось несколько новых режимов:
Режим игры по табулатурам
В этом режиме можно выбрать песню из списка табулатур, после чего гитара будет показывать диодами как ее играть. На каждом шагу она ждет правильного выполнения и переходит к следующему. Приложение оценивает правильность игры и выдает баллы в конце.
Также можно создавать свои собственные табулатуры и мы даже сделали для этого специальную клавиатуру для ввода символов. В будущем планируем подключить парсинг стандартных табулатур Guitar Pro и облачную библиотеку. Предстоит большая работа с лицензиями на них. Если у кого-то из читателей есть опыт в вопросах лицензий, будем благодарны консультации.
Режим упрощенной импровизации
Этот режим импровизации оказался очень удачным. Благодаря подсвечиванию на грифе гитары связанных друг с другом нот (гамма или пентатоника), которые хорошо сочетаются друг с другом, пользователю не нужно тратить месяцы на изучение музыкальной теории. Достаточно просто выбрать нужную тональность на гитаре или в приложении. При желании неподходящие ноты могут быть вообще проигнорированы системой. Тогда на гитаре будет просто невозможно сыграть неправильные ноты.
Режим импровизации с помощью ИИ
Но мы захотели пойти дальше и сделать режим еще более простой импровизации. Задумка в том, чтобы даже случайное перебирание струн и ладов приводло к адекватной приятной мелодии в рамках выбранного жанра, причем характер перебирания нот влиял на темп и характер выдаваемой мелодии.
Один из вариантов решения задачи - использование нейронной сети, обученной на базе множества midi файлов внутри заданного жанра.
Пока этот режим будет работать только в нашем приложении, но если соберем достаточную сумму, то, может быть, поставим в гитару stm-ку пожирнее и засунем нейронку в нее.
Мы только в начале пути разработки этого режима. Если среди читателей Хабра есть специалисты по нейронным сетям, генеративной музыке или теории музыки, желающие поучаствовать в проекте, прошу написать мне.
Встроенный синтезатор
К встроенному в гитару jack 3.5мм можно подключить наушники или портативную колонку и играть без подключения к внешним устройствам. Встроенный звук, конечно, не ахти, но содержит более 70-ти инструментов от пианино и гитары до барабанов, органа и даже пистолетных выстрелов. При этом ничего не мешает подключить к телефону или компу и записывать миди параллельно.
Вибрато/бенды
Для полноценной игры многим не хватает поддержки таких гитарных техник, как бенды и вибрато. Я наивно думал, что можно использовать модуляцию питч бенда наклоном гитары по акселерометру, но привычные движения рукой это не заменит. Поэтому я решил встроить в гриф датчики силы и интерпретировать изменение силы нажатия на лады как натягивание струн поперек грифа и сдвигать pitch соответствующей струны.
Так что теперь можно забиндить наклон гитары к другим эффектам.
Режим драм машины
Теперь гитару можно положить на стол и настукивать биты на грифе прямо как на midi контроллерах. Осталось адаптировать корпус гитары так, чтобы он не шатался на плоском столе.
Режимы тренажера и обучения в игровой форме
Для изучения нот, аккордов, гамм и отработки мануальных навыков можно включить режим тренажера или аркадную игру в стиле Guitar Hero.
Также за это время мы сняли финальное промо видео:
Мы только что запустили кампанию! Кому интересно следить за новостями проекта или оформить предзаказ – прошу пожаловать на Kickstarter и на наш сайт Sensy. Впереди еще очень много работы и мы надеемся на вашу поддержку.
Спасибо за внимание! Буду рад обратной связи в комментариях.
Механические клавиатуры: Кастом как смысл жизни
Что ж, вот похоже и я лишаюсь своей постовой девственности.
Чтобы не дублировать информацию, я оставлю ссылку на пост, автор которого меня и забайтил немного углубиться в тематику кастома в виде поста. Единственное, есть буквально пара моментов, с которыми я не согласен в его разборе.
Итак, сначала по поправкам:
1. Автор поста называет Cherry MX свичи золотым стандартом. Не совсем согласен с формулировкой, поскольку их распространенность вызвана лишь тем, что до недавнего времени современная конструкция переключателя (далее - свича) была запатентована ими, и никто иной производить схожую конструкцию не имел права. Нонче же патент истек, и рынок наполнился огромным количеством разнообразных переключателей для всех и каждого. Впрочем, как справедливо было подмечено, на данный момент это один из двух самых распространенных производителей свичей на рынке готовых клавиатур (второй - Outemu, по сути, дешевый китайский клон с соразмерно упавшим качеством).
2. Varmilo, Leopold и Ducky и правда производят вполне себе неплохие готовые клавиатуры, но имхо цена немного завышена. Мое предложение для готовых - компания Iqunix или Keychron.
3. Cherry MX Brown сосут жепу при любых обстоятельствах.
Ну а теперь переходим к интересному - к кастомизации собственной любимой механики, за которой проводишь многие часы в день. Далее будет много субъективного мнения вперемешку с моим сомнительным вкусом, одним словом, располагайтесь поудобнее и тащите попкорн.
В моем случае на клавиатуре объединились два качества: нездоровая любовь к азиатским порнографическим мультикам (надеюсь, из-за пары кейкапов не надо ставить тег NSFW?) и здравое нежелание тратить целое состояние на клавиатуру.
Для начала стоит уточнить моменты, на которые имеет смысл обратить внимание при покупке клавиатуры для кастома:
1. Hotswap сокеты. Согласитесь, куда проще просто повтыкать свичи, чем разбирать и паять, верно? По всем фронтам Впрочем, при пайке свичи сидят куда надежнее, так что feel free to experiment, только не забывайте: если свичи паялись, то тыкать их в хотсвап уже нельзя.
2. В случае наличия подсветки - расположение диодов на плате. Оно бывает North-facing (сверху) и South-facing (снизу). Считается, что диод сверху красивее и равномернее светит из-за расположения человека перед клавиатурой, однако у него есть одно но: в большинстве случаев вы встретитесь с проблемой, если закажете колпачки (далее - кейкапы) Cherry профиля. Из-за особенностей конструкции свича, при развороте на 180 градусов свич и кейкап мешают друг другу нормально существовать на среднем ряду, и в итоге полное нажатие кнопки невозможно. И, к сожалению, большая часть кейкапов на рынке - Cherry профиль. Прикреплю набросанную схему для понимания почему это происходит (дисклеймер: нарисовано все очень схематично чисто ради понимания процесса).
3. Способ посадки PCB (электронной платы) в самой клавиатуре. Существуют миллионы разных вариантов: gasket mount (мягкие подушечки, которые позволяют клавиатуре прогинаться при печатании, приятное ощущение), leaf gasket (примерно оно же), gasket socks (same), tray mount (жесткая фиксация болтами), top mount (крепление между двумя половинками корпуса, случай этой клавиатуры) и так далее. Вкусовщина, как и многое другое в мире клавиатур, но на своем опыте могу сказать, что top mount и gasket socks ощущаются приятнее, а tray mount - чистое зло.
4. Поддержка 5-pin свичей: в случае большего количества ножек они сидят более стабильно, что избавляет от лишних звуков и тряски. Конечно, 5-pin свичи очень быстро превращаются в 3-pin посредством кусачек, но больно на это смотреть, честное слово.
5. Тип подключения: в большинстве случаев это будет разъем USB Type-C, потому большая часть красивых кабелей на рынке сделаны под этот самый разъем, что удобненько. Однако порой встречаются монструозные явления с micro-usb, не рекомендую.
6. Поддержка QMK/VIA: Эти две аббревиатуры - утилиты для настройки клавиатур, очень удобные, все дела. Наличие их поддержки - приятный бонус, собственное ПО некоторых клавиатур это полная задница.
Схема выше показывает взаимодействие среднего ряда кейкапов Cherry профиля и MX style свичей (то бишь доминирующего большинства) при north и south расположениях диода на плате.
БИГ АТЕНШН: ВЫТАСКИВАЙТЕ PCB ИЗ КОРПУСА ПРЕДЕЛЬНО АККУРАТНО, ПОВРЕДИТЬ ПРОВОД К DAUGHTERBOARD ИЛИ К БАТАРЕЕ ОЧЕНЬ ПРОСТО, А ВОССТАНАВЛИВАТЬ ГЕМОРНО!!!!
Итак, клавиатура разобрана, руки требуют дела, так что же собственно делать?
Я стараюсь действовать всегда по схеме Корпус -> PCB -> Стабилизаторы -> Свичи -> Сборка, а также заранее продумываю что именно хочу сделать с конкретной клавиатурой.
Начальный инструментный набор маньяка-кастомера будет состоять примерно из:
1. Тонкая кисть для нанесения смазки в стабилизаторы и свичи
2. Открывашка для свичей (switch opener)
3. Ювелирный захват, или любой другой захват для маленьких деталей (можно найти на Али по запросу stem holder)
4. Кусачки обыкновенные
5. Сниматель для кейкапов, лучше проволочный (почти всегда идут в комплекте с клавиатурой и кейкапами)
6. Сниматель для свичей (switch puller)
7. Нож. Как минимум, резать шумоизоляцию поможет
8. Сама шумоизоляция, уточнения далее в посте
9. Смазка для свичей и стабилизаторов, уточнение точно также далее в посте
Далее к самому вкусному, к разнообразным вариациям модификаций, которые можно комбинировать между собой для достижения желаемого звучания.
Модификация №1: Шумоизоляция корпуса
Если в вашем комплекте производитель не позаботился изолятором, то начинаем изобретать колесо. Довольно простая, но в то же время многогранная вещь. Основная идея наполнить корпус чем-то, чтобы убрать резонацию звука внутри, уменьшив общую громкость. Материалы могут быть самые разные, например, pe foam (polyethylene foam), который часто используют для упаковки всего и вся. Или же наполнитель для мягких игрушек, более популярен в клавиатурах с мягкой посадкой PCB. Еще одним отличным вариантом является силикон, который можно отлить по собственной клавиатуре собственноручно. Мой личный фаворит - звукоизоляция для автомобилей: пусть ее не очень удобно резать, не имея поверхности, которой не жалко, однако она клеится, плотно сидит, безопасна в плане пожара. Кстати, об этом, если ваша клавиатура беспроводная, то стоит быть предельно аккуратным с выбором материала - он должен быть не горюч и располагаться в безопасной дальности от батарейки.
Я ужасно криворукий, потому ужасно нарезал шумку в этот корпус, а запасов не осталось. Впрочем, это все также убирает резонацию корпуса, а значит нужный эффект достигнут и без эстетики.
Модификация №2: Tempest mod (он же Tape mod)
Крайне популярная в последнее время модификация для PCB: поклейка нескольких слоев малярной ленты на заднюю сторону электронных мозгов нашей клавиатуры. Честно говоря, до сих пор не понял физику процесса, однако звучание клавиатуры приобретает оттенок пупырчатой упаковочной пленки. Чем больше слоев этой самой ленты, тем более яркий звук пупырки. Главное не перестараться, а то вдруг еще корпус не закроется. И не забыть поделать дырки для провода (при наличии), а также болтов. Одним словом - да-да, смело заклеиваем заднюю сторону лентой. И еще слой. Я лично фанат 2-3 слоев, хотя некоторые отдельные личности умудряются впихнуть по 5+, извращенцы. Как и в случае с шумоизоляцией корпуса, аккуратно с батарейкой!!! Малярная лента не должна проводить электричество, тоже важно!
Модификация №3: Еще больше шумоизоляции для Б-га шумоизоляции
Добрый китайский друг с Алиэкспресса позаботился о тех, кому производитель в комплект не вложил шумоизоляцию для пустоты между PCB и плейтом. Опять же, делает ровно то же, что и любая другая шумоизоляция - убирает часть звука. Материалы также бывают разные, все очень просто - если билд изначально предполагает некоторое прогибание при нажатиях, то лучше брать материалы помягче, в иных случаях без разницы. Еще есть довольно забавная штука, которая зовется switch pads. Тонкие подкладки под каждый переключатель, не сильно популярная штука, но мне прям зашло, как любителю тихого и приглушенного звука. Еще вариант, если не хочется покупать вырезанный и готовый кусок шумки - взять все тот же pe foam, но тонкий лист, и просто проложить его.
На фотке ниже можно увидеть получаемый бургер из малярной ленты, PCB, куска шумоизоляции, плейта и свичей.
Вот мы и добрались до стабилизаторов. Очень обширная тема, как минимум потому что существуют Cherry и Costar типы стабилизаторов (владельцам вторых соболезную), не говоря уж о разных способах фиксации первых: на PCB защелкиванием, на PCB закручиванием, на плейте. В случае приобретения новых стабилизаторов на замену стоковых стоит изучить то, какие конкретно нужны в конкретную клавиатуру. А, и да, подобрать нужной длины стабилизатор для пробела, они бывают также разные.
Модификация №4: Стабилизаторы и их базисная модификация
Очень, очень и очень важная вещь. Плохие несмазанные стабилизаторы производят неимоверное количество неприятного уху шума. И лучший способ с ним бороться - смазка. Чтобы не расписывать то, что было сказано в интернете миллион раз, оставлю ссылку на один из моих любимых роликов по модификации стабилизаторов от Taeha Types. Он довольно подробно и качественно расписывает поэтапно что и как делать со стабилизаторами, чтобы они звучали лучше, а также приводит пример того, как сильно это влияет на звук. И, да, стоковые стабилизаторы на доминирующем количестве клавиатур плохи. Нет, не так, ПЛОХИ. Опции? Потратить лишнюю тысячу и приобрести стабилизаторы от Durock. На том же Али есть магазин от kbdfans, где можно найти многое необходимое.
Модификация №5: Holee mod (он же Band-aid mod)
Еще одна интересная модификация для стабилизаторов, которая делает их менее трескающими. Впрочем, штука минорная - хорошо смазанные стабилизаторы уже звучат более чем отлично. Здесь я оставлю ссылку на весьма подробный разбор мода от Hanaji Neo, в котором даже без особых знаний английского можно понять что и куда пихать. Лично - не любитель, смазки и адекватных стабилизаторов более чем достаточно, как по мне.
Модификация №7: Смазка переключателей/свичей
Самая массивная по затрате времени процедура, но стоит своего на все 100%. Некоторые конторы, навроде Geekboards в Москве, делают смазку под ключ, однако цена справедливо поставлена довольно неприятная, поскольку в неопытных руках на процедуру может уйти 6-7 часов (и даже в опытных понадобится далеко не один час). Здесь я оставлю ссылку снова на Taeha Types, который и правда весьма доходчиво объясняет процесс от и до. Также здесь стоит упомянуть о switch films - небольших прокладках в каждый свич, которые делают посадку крепче и минорно изменяют его звучание, убирая лишний звук взаимодействия двух половинок корпуса. А еще о существовании свичей, смазанных с завода. Такая смазка обычно хуже, чем результат собственного труда, однако не требует затрат времени и кучи нервов.
По поводу же выбора свичей... Рынок крайне обширен, каждый может найти личных фаворитов, я же могу только выделить несколько свичей, которые конкретно нравятся мне. Если говорить о линейных свичах, то мои личные выборы - Gateron Oil King, Gateron North Pole, Gateron China Joy и более бюджетные смазанные с завода Akko CS Wine Red (представленные на картинке). Для тактильных клавиатур (например для печати) выбираю обычно Zealios за их весьма серьезную силу нажатия и приятный тактильный отклик.
Дружеский совет по установке свичей в хотсвап сокеты: придерживайте их с задней стороны во избежание отрыва этого самого сокета и необходимости перепайки.
Модификация №8: Force break mod
Модификация, подходящая только для клавиатур, состоящих из двух половинок (gasket или topmount варианты). Суть в небольших кусках изоленты между двумя половинами корпуса, уменьшающих контакт между ними и убирающих нежелательный звук от этого. Особенно хорошо работает на алюминиевых корпусах. Изобретатель этого мода Keybored, к сожалению, до сих пор не записал конкретного ролика про него, однако другой ютубер Andy V Nguyen сделал это за него. Сначала идет много рассуждений о разных модификациях со стороны дорогих премиумных клавиатур, само действо начинается примерно на 9 минуте. Тут, к сожалению, без фото, поскольку мне он был не нужен от слова совсем.
Помимо перечисленного, на звучание могут влиять еще очень многие факторы от отсутствия или наличия коврика на столе и до акустики вашей комнаты, потому все рассмотреть не получится при любом желании.
Ну и напоследок, поговорим о кейкапах.
На рынке представлено огромное количество разных по высоте и форме профилей кейкапов, и выбрать определенные можно только посредством проб и ошибок.
Основные пункты в выборе кейкапов:
1. Материал - два основных используемых материала это ABS и PBT пластик. Первый зачастую более дешевый, и его проблемой является вытирание до блеска со временем использования. Впрочем, качественные сеты из ABS существуют и вполне себе популярны. Особо искушенные миром механических клавиатур утверждают, что звучат разные пластики по-разному, но я, признаться, такой разницы не замечаю. Кстати, PBT пластик вдобавок еще шероховат наощупь, что имхо очень приятно.
2. Толщина материала. Толще кейкапы - меньше резонации звука в них.
3. Механизм нанесения легенд. Это может быть dye sub, когда на кейкап краской наносится легенда, и в таком случае со временем легенда будет стираться. Это может быть double shot (triple shot в случае легенд двух цветов), когда легенды кейкапа выполнены пластиком, и это предпочтительный вариант, поскольку сотрется такая легенда только вместо со всем кейкапом.
Наверное, на этом я закончу и без того безумную стену текста, которая, надеюсь, окажется кому-то полезной или интересной. Само собой, написанный опус мог оставить много вопросов, и я готов по мере возможности ответить на них в комментариях, так сказать, feel free to ask.
P.S.
Кстати, @rickardo, потыкался я с резиновыми колечками. Эффекта от них примерно ноль, за несколько дней так и не понял на какой половине кнопок они поставлены, а на какой - нет.
DIY термоанемометр: собираем датчик скорости и температуры потока воздуха своими руками
Введение
Был у нас на работе один адок из рубрики “админам жарко, а бухгалтерам дует”…
Ростелеком, только переехали в новый офис в ComCity, огромные опенспейсы и сплошные окна без форточек. Плюс стандартная болезнь открытого пространства - на большое помещение всего один вентканал с кучей выходов.
Летом, в жару включается централизованная система кондиционирования и увлажнения и начинается… Самые первые в цепочке отправляются на Северный полюс (или на Южный, к пингвинам в общем и снеговику Олафу). Последние продолжают изнывать в сухой и жаркой Африке. Катаклизма неизбежно приводит к войне за крутилку кондиционера, которую мудрые инженеры предусмотрительно отключили.
Регламент климатической демилитаризации предписывает на такой случай вызывать билдинг-менеджеров. Инженеры-климатологи проводят замеры температуры и скорости воздуха на каждом участке воздуховода, регулируют поток и наступает благоденствие. Впрочем, длится оно не долго. Как только аналогичная процедура настройки проводится в соседнем опенспейсе - в нашем помещении все тут же идет в разнос. Составляется новая заявка. И так по кругу.
Кончается все тем, что озверевшие от постоянной беготни и волн негатива билдинг-менеджеры просто игнорируют проведение измерений. По заявке приходит инженер с анемометром, делает замер, и говорит, мол, ребята, у Вас все нормально, вы не шахтеры, а белые воротнички, расслабьтесь, работайте. Доказать ему что-то сложно - перед тобой сертифицированный оператор измерительного оборудования и вообще эксперт.
Приблизительно в таких нечеловеческих муках родилась мечта о сборке собственного arduino-анемометра. Можно, конечно, купить готовое устройство, но для айтишника это “беспонтово”. Кроме того, на умную железку можно (в теории) повесить логирование, сбор данных по расписанию, управление умным домом и запуск кота в космос. “Ардуино, и ни в чем себе не отказывай”.
С тех пор прошло 6 лет. Работодатель остался в прошлом. Бизнес-центр скорее всего также перестал высушивать и отмораживать арендаторов. Но мечта жила.
Мы продолжаем рубрику “сенсорика для самых маленьких инженеров”. И в настоящей статье представим подробную инструкцию по сборке собственного термоанемометра. Грейте паяльники, открывайте Arduino IDE, поехали!
Экскурс в матчасть
Как гласит Вики, впервые описание анемометра появилось в виде чертежа в 1540-м в трудах Леона Батиста Альберти “Математические забавы”. Позднее подобную конструкцию описал Леонардо Да Винчи.
Через три века, в 1846-м году ирландский исследователь Джон Томас Ромни Робинсон изобрёл чашечный анемометр, ставший в то время революционным. В 1994-м году геологом Андреасом Пфличем был изобретён ультразвуковой анемометр.
Если не вдаваться в оттенки, все анемометры делятся на 3 основных типа:
1) Механические (чашечные или крыльчатые). Самый старый тип анемометров. устройства подобной конструкции используются в качестве портативных устройств для локальных замеров. На метеостанциях применяют анеморумбометры. Это те же чашечные анемометры, но с “хвостом” для определения направления потока.
3) Ультразвуковые анемометры. Принцип работы основан на измерении скорости прохождения звука, которая изменяется в зависимости от направления ветра. Ультразвуковые датчики достаточно дороги, но при этом просты в эксплуатации и способны определять направление потока. Поэтому часто применяются в бытовых и профессиональных метеостанциях.
Существуют некоторые другие разновидности, но большинство из них являются модификациями уже существующих типов, либо не имеют широкого распространения. Например Трубка Пито, которая используется в качестве измерителя скорости и высоты в авиации, а также может служить эталонным прибором
Собираем DIY термоанемометр
Скучная лекция закончилась, возвращаемся к нашему DIY.
Нам необходимо собрать железку, выполняющую три задачи:
• проводить замеры скорости потока в ручном режиме;
•рассчитывать расход воздуха в вентиляционных системах;
•обладать компактным размером для проведения замеров в вентканалах.
План покупок (BOM)
1) Плата WEMOS D1 mini (от 100 руб. на Али)
Дешёвая и компактная плата на базе ESP8266, основа проекта.
2) Термоанемометр ClimateGuard (1720 руб. на Али)
Компактный и высокоточный модуль, работающий от 3.3 В по I2C.
3) OLED-дисплей 0.96” с I2C (от 100 руб. на Али)
Сравнительно дешёвый, но комфортный для работы дисплей с неплохой яркостью.
4) Регулятор напряжения ADP3338 на 3.3 В (от 14 руб. на Али)
Необходим для стабилизации напряжения, подаваемого на анемометр. В Китае их часто продают набором за приятные деньги.
5) Аккумулятор 18650 (от 200 руб. на Али)
Любой аккумулятор типа 18650 для автономной работы анемометра.
6) Плата для аккумулятора на базе TP4056 (от 10 руб. на Али)
7) Макетная плата 7х3 см (от 50 руб. на Али)
Плата для распайки и соединения всех компонентов.
8) Разъём XH 2.54 4pin “мама” с выводом на 90 градусов и два разъёма XH 2.54 4pin “папа” с проводами (от 90 руб. на Али)
На просторах Али нашёл готовый комплект из обжатых проводов с ответной частью. За 90 рублей получаем 10 таких комплектов.
9) Выключатель KCD-1 ( от 80 руб. на Али)
Компактный и дешёвый клавишный выключатель, под него рассчитана 3D-модель.
10) Селфи-палка (от 330 руб. на Али)
Итоговая стоимость: от 2730 руб.
Для сравнения: бюджетные версии термоанемометров Testo начинаются от 14500 руб., а популярное устройства (с сомнительной репутацией) от CEM - от 25000 руб.
Алгоритм сборки анемометра
1) Ознакомление со схемами платы, компонентов и с общей схемой
2) Соединение всех компонентов на макетной плате
3) Печать корпуса на 3D-принтере, либо создание его из подручных материалов
4) Программирование и прошивка платы
5) Тестирование устройства
Схема сборки
Анемометру требуется чистое и стабильное напряжение в 3.3 В. Для его обеспечения мы будем использовать стабилизатор напряжения ADP3338.
Популярные преобразователи LM3940 или AMS117 не подходят, так как обладают низкой точностью регулирования (около 3%). При этом отклонениz напряжения напрямую влияет на качество показаний анемометра. Поэтому выбор делается в пользу ADP3338 с точностью преобразования 0,8%. Выше приведена схема подключения LDO. Также производитель рекомендует ставить на вход и выход и выход конденсаторы номиналом 1 мкФ.
Мы собираем автономное устройство, поэтому необходим аккумулятор. Для текущего кейса была выбрана банка 18650 (под него создана 3D-модель корпуса), но в принципе можно использовать и li-ion / li-pol аккумуляторы другого форм-фактора.
Плата WEMOS имеет на борту встроенный АЦП (ADC0) для измерения выходного напряжения аккумулятора. Но так как АЦП способен измерять только до 3.3 В, а полностью заряженный аккумулятор выдаёт 4.2 В, необходим делитель напряжения. Делитель напряжения представляет собой последовательно соединенные резисторы. При подключении к средней точке мы обнаружим, что напряжение там равно напряжению, рассчитанному по формуле 2 на картинке.
WEMOS имеет делитель напряжения с номиналом резисторов 220 кОм и 100 кОм соответственно.
После ознакомления с распиновкой WEMOS и LDO подключаем все компоненты согласно схеме.
В результате у нас должна получиться примерно такая плата с кучей проводов и компонентов.
Мастерство пайки постигается годами, мы нисколько не хотели задеть ваши чувства.
Печатаем корпус самодельного анемометра
В процессе работы создано несколько типов корпусов для разных задач:
• Корпус с возможностью крепления на трубки. В тыльной части имеет крепление под трубку диаметром 15 мм и пазами для стяжек.
3D-модели корпусов как обычно доступны на GitHub.
Финальная конструкция представлена на картинке. Провода были зажгутированы для удобства работы с устройством. Чтобы убрать колхоз - можно использовать спиральную обмотку (под рукой не оказалось).
Подключаем плату и библиотеки
Для дальнейшей работы нам необходимо подключить библиотеки
Сначала заходим в настройки Arduino IDE и добавляем дополнительные ссылки Менеджера плат следующее:
http://arduino.esp8266.com/stable/package_esp8266com_index.j...
Затем мы должны выбрать необходимую нам плату. Для этого переходим во вкладку “Инструменты”, выбираем раздел “Плата”, далее выбираем “Менеджер плат” и вводим в поисковую строку “esp8266”.
После установки расширения снова заходим в “Платы” и выбираем “Generic ESP8266 Module” в подразделе с ESP8266
Далее необходимо подключить библиотеки для анемометра и экрана. Для этого:
Arduino -> Скетч -> Подключить библиотеку -> Управлять библиотеками -> Написать “anem” в поисковой строке.
После установки библиотеки для анемометра проделаем такую же операцию для библиотек дисплея. В поисковой строке необходимо написать “Adafruit GFX” и “Adafruit SSD1306”.
Переходим к коду.
Код
Программа реализует базовый функционал. Следуя путями DIY можете переработать её под свои хотелки. Кодик также можно найти в GitHub или в примерах библиотеки датчика CG_Anem. Для OLED используется нетленная классика - библиотека Алекса Гавера. Она одна из самых простых, интуитивно понятна и полностью закрывает поставленные задачи.
// Инициализируем библиотеки
#include <cgAnem.h>
#include <Wire.h>
#include <GyverOLED.h>
#define ADC_pin A0 // задаём значение пина АЦП
GyverOLED<SSD1306_128x64, OLED_NO_BUFFER> oled; // Инициализируем OLED-экран
ClimateGuard_Anem cgAnem(ANEM_I2C_ADDR); // Инициализируем CG_Anem
uint16_t ADC; // Переменная для значений АЦП
uint32_t timer_cnt; // Таймер для измерений анемометра
uint32_t timer_bat; // Таймер для измерения заряда батареи
void setup() {
pinMode(ADC_pin, OUTPUT); // Инициализируем АЦП как получатель данных
oled.init(); // Инициализируем OLED в коде
oled.flipV(1); // Я перевернул экран для удобства
oled.flipH(1); // Для нормального отображения после переворота нужно инвертировать текст по горизонтали
oled.clear();
oled.setScale(2); // Устанавливаем размер шрифта
oled.setCursor(20, 3);
oled.print("CG_Anem");
delay(1500);
cgAnem.init();
oled.clear();
cgAnem.set_duct_area(100); // Задаём площадь поперечного сечения для расчёта расхода. Меняется программно, измеряется в см^2
for(int i = 10; i >= 0; i--){ // Функция таймера служит для предварительного нагрева анемометра перед использованием
oled.setCursor(55, 3);
oled.print(i);
delay(1000);
oled.clear();
}
delay(1000);
oled.clear();
oled.setScale(1);
}
void loop() {
if (millis() - timer_cnt > 1000) { // Снимаем показания с анемометра и выводим их на экран
timer_cnt = millis();
// Проверяем, обновляются ли данные с анемометра. Если да - выводим их, если нет - предупреждаем об ошибке
if (cgAnem.data_update()){
char buf1[50];
char buf2[50];
char buf3[50];
sprintf(buf1, "V: %.1f m/s ", cgAnem.getAirflowRate()); // Собираем строку с показаниями скорости потока
sprintf(buf2, "T: %.1f C ", cgAnem.getTemperature()); // Собираем строку с показаниями температуры
sprintf(buf3, "Cons: %.1f m^3/h ", cgAnem.calculateAirConsumption()); // Собираем строку с показаниями расхода воздуха, исходя из заданного сечения. Расход воздуха измеряется в м^3/час
oled.setCursor(0, 1);
oled.print(buf1);
oled.setCursor(0, 3);
oled.print(buf2);
oled.setCursor(0, 5);
oled.print(buf3);
}
else {
oled.setCursor(45, 3);
oled.print("ERROR");
}
}
if (millis() - timer_bat > 10000) { //
timer_bat = millis();
ADC = analogRead(ADC_pin); // Считываем показание с АЦП
oled.rect(104, 3, 124, 10, OLED_STROKE); // Рисуем иконку батарейки
oled.rect(125, 5, 127, 8, OLED_FILL);
if (ADC >= 970){
oled.rect(104, 3, 124, 10, OLED_FILL);
oled.setCursor(6, 1);
oled.setCursor(104, 2);
oled.print("100%");
}
if (ADC < 970 && ADC >= 870){
oled.rect(106, 3, 119, 10, OLED_FILL);
oled.setCursor(104, 2);
oled.print("75%");
}
if (ADC < 870 && ADC >= 770){
oled.rect(106, 3, 114, 10, OLED_FILL);
oled.setCursor(104, 2);
oled.print("50%");
}
if (ADC < 770){
oled.setCursor(104, 2);
oled.print("LOW");
}
}
}
Проверка
Выбор испытательного полигона для получившегося анемометра стал сложной задачей. Как отмечалось в начале статьи, доступа в офис центральной вентиляцией у нас не было. Пришлось импровизировать.
Навскидку нашлись следующие жертвы:
• окно в доме;
• вытяжка над плитой;
• кондиционеры в офисах на заводе;
• кулер 3д-принтера;
• пылесос;
• ноутбук;
• торнадо.
Домашнее окно
Кейс показывает, что устройство может ловить даже потоки от небольших сквозняков.
Вытяжка над плитой
Замер получился интересным. Вытяжка снабжена двумя секциями для установки фильтров. Слева из секции фильтр убрали, справа оставили.
Замер очень наглядно продемонстрировал, что от долгого использования фильтр забился жиром и перестал нормально пропускать воздух. Разница между секцией с фильтром и без составляет 1,3 м/с. При испытаниях ни одна вытяжка не пострадала :)
Кондиционеры в офисах на заводе
Прошли по родному Электрозаводу (он же МЭЛЗ), где базируется офис компании.
Наш офисный 10-летний кондиционер пытается справляться с жарой.
На остальных объектах по работе кондея очень хорошо видно - в каких помещениях сидят фотографы и ИТ-шники (кондей забирает воздух комнатной температуры), а в каких - трудятся работяги за станками (кондей выдувает горячий воздух в коридор).
Кулер 3д-принтера
До испытаний ожидали, что улитка работает помощнее и гонит более холодный воздух. Видимо, китайский кулер отработал свое и нуждается в замене.
Пылесос
Измерить скорость всасывания пылесоса - идея сколь гениальная, столь и бесполезная. Вернуться к кейсу можно будет разве что при выборе пылесоса в торговом зале - представляете, какое будет шоу?
Внимания достоин только тот факт, что выдуваемый воздух имеет меньшее рассеивание.
Ноутбук
В обычном режиме ноутбук практически не дает воздушного потока. При принудительном запуске охлаждения на максимум скорость потока возрастает. По температурной индикации на анемометре видно, как ноут постепенно охлаждается.
Торнадо
К сожалению, за неделю поиска нам так и не удалось найти торнадо в Москве. Но мы уже раскрыли карты и ищем ближайшую дорогу до штата Канзаса. Обещаем дополнить статью по возвращении.
Послесловие
В завершении статьи отметим, что приведенные примеры использования не раскрывают потенциала собранного DIY-анемометра. В голову приходит множество кейсов. От создания системы мониторинга вытяжки с передачей данных в облако до автоматизации охлаждения майнинг-фермы или лазерного резака. От создания “анемометра для охотников” до использования решения для измерения скорости полета дрона.
Хотели бы попросить уважаемое сообщество поделиться своими идеями и проектами, так или иначе связанными с измерением воздушного потока. Самые интересные и амбициозные задачи мы готовы взять в работу и описать в формате аналогичной статьи.
Благодарности
Команда инженеров благодарит стажера Илью Радченко за подготовку материала, упорство и доскональное изучение возможностей анемометра, Алекса Гавера за библиотеку "GyverOLED", а также магазину Duino.ru за любезно предоставленные компоненты.
Ну и конечно крепко обнимаем сообщество Пикабу за уделенное время и интерес к электронике и DIY.
Как я пришёл к любимому делу (Создание клавиш для клавиатуры) Часть 7
"Плотоядный бог". Плотоядный бог был ненасытен. Тысячи лет в глубине его древнего храма бесконечно раздавались звуки разрываемой плоти, истерзанные и предсмертные крики. Но на этой земле не было достаточно плоти, которую можно было бы предложить, чтобы насытить вечно голодное лоно древнего бога.
Всем привет, меня долго не было, был немного занят другими проектами
Но теперь я готов продолжить рассказ, думаю, что уложусь в 10 частей :D
Предыдущие части вы сможете легко найти, перейдя в мой профиль.
Итак, последняя часть истории закончилось на том, что мы расстались с партнёром и я отправился в свободное плавание.
Достаточно часто в видео бизнес тематики мне попадалось, что не нужно создавать бизнес с близкими людьми. По поводу партнёрства в целом, этот вопрос сложнее, тут уже зависит от личных качеств партнёра, но касаемо того, что не нужно создавать бизнес с близкими, я согласен на 146%
Никому не навязываю, но мой опыт мне говорит, что нужно двигаться самостоятельно, а функции партнёра легко могут выполнить помощники/наёмные сотрудники.
Моментов много, один из них - личные амбиции каждого начнут мешать общему делу.
Очень мало людей могут усмирить своё эго и на длительной дистанции жертвовать своим самоощущением, быть в стороне от иерархических гонок и прочих унаследованных от наших древних предков приматов вещей.
К таким я себя не отношу и споры с партнёром были абсолютно по каждому поводу. Вот захотел я клавишу, в которой присутствует рябина, захотел, чтобы она была красная, а партнёр начинает мне доказывать, что рябина красная только зимой, и рябины тут в принципе быть не может и так далее. Стоит ли говорить, что большая часть психоэмоционального ресурса тратилась не в дело, а в то, чтобы переспорить и доказать свою точку зрения.
Истина рождается в спорах. Так оно и есть, но если оба спорящих ищут истину, а не преследуют выгоду в виде самоутверждения за счёт того, что доказывают другому, что он не прав.
Ох уж эти прелести лимбического мозга.
Конечно, я тяжело это воспринял, меня накрыла фрустрация, апатия и так далее, потребовалось время, чтобы выйти из этого состояния, и это произошло просто в один момент. Будто по щелчку пальцев я почувствовал непреодолимый вкус к жизни, мои глаза открылись, но теперь вместо тёмных тонов я стал замечать светлые.
После 2 месяцев поиска, мне удалось найти 2 помощниц в 1 день, и я постепенно начал обучать их, но они сразу показали достаточно высокий уровень способностей. Учитывая специфичность работы, конечно потребовалось время, чтобы довести уровень их мастерства до уровня, который был во время работы с партнёром, но они очень хорошо справлялись. Спустя 1.5 месяца, они уже были абсолютно самостоятельны.
И через некоторое время после расставания с партнёром, все вопросы связанные с её уходом были закрыты, помощницы стали самостоятельными боевыми единицами и настало время воплощать новые идеи.
Первым дизайном после ухода партнёра стала коллекция из 6 спящих фей в разных цветовых схемах. Я давно хотел адаптировать нашу Fairy Dream клавишу под OEM профиль клавиш (почти на 40% ниже, чем SA профиль). Вызовом стало придумать несколько цветовых схем и в тоже время любой вызов, это точка роста.
Мы начали экспериментировать с цветами, мы не брали готовые палитры из открытых источников, мы начали самостоятельно находить красивые цветовые сочетания. Одной из помощниц, которая занималась раскрашиванием, я подарил книгу про цвета. Мы перепробовали больше 30 разных комбинаций цветов. Нужно было подобрать цвета мха, феи, ягод и листьев так, чтобы они читались, и были сочетаемыми. Самая сложная в этом плане клавиша оказалась синяя. Очень долго мы никак не могли подобрать нужные оттенки, чтобы всё смотрелось гармонично, но я привык доводить все дела до конца и спустя месяц удалось закончить все 6 цветовых схем. Мне больше всего нравится розовая фея, а какая больше нравится вам? Напишите в комментариях, мне интересно узнать ваше мнение :)
Когда мы почти закончили эти дизайны, нас ждал сюрприз, формы, которые мы разработали портили эти клавиши, боковые и верхняя грани втягивались внутрь, будто внутри был вакуум. И 9 из 10 клавиш можно было выкидывать в мусорку. Позже я заметил, что это происходило и на старых клавишах, просто масштаб проблемы был практически незаметен.
Одним из моих бзиков является то, что я не могу смириться с невротическими моментами и нестабильностью. Для меня всё должно работать стабильно, чтобы я даже секунду не думал о том, что залитая клавиша может даже с 10%-й вероятностью оказаться испорченной. Чтобы у меня была уверенность, что всё работает как должно работать.
И это вылилось в разработку новой формы.
Напомню, что первую форму мы разрабатывали 4 месяца, вдвоём. В этот раз меня ждала абсолютно непонятная ситуация, информации о которой просто невозможно найти.
Но это уже совершенно другая история :)
Многие в комментариях говорили, что хотели бы написать в лс / сделать заказ, но инстаграм им не подходит из-за ограничений, или у кого-то его нет.
По просьбам трудящихся восстановил Сайт, где вы можете посмотреть все работы
Зарегистрировал Телеграм где я могу ответить на ваши вопросы
Ну и всё ещё остался Инстаграм на который ни в коем случае нельзя подписываться. (Запрещён в РФ)
Почти под каждым постом спрашивают цену.
Цены для Россиян сильно меньше, чем цены для зарубежных покупателей, но по правилам Пикабу я не могу написать цену, извините.
Если у вас есть какие-то идеи по развитию, или продвижению бренда, с удовольствием пообщаюсь на эту тему в телеграм :)
Доплеровский радар
Разбираемся с принципом работы доплеровского радара. Этот тип радарных устройств используется для измерения скорости движения объекта, например, транспортного средства.
В настоящих радарах используются радиоволны, а в нашей настольной модели - тоже волны, но ультразвуковые.
Исходники (вдруг кому пригодятся): https://github.com/galilov/doppler-radar
Сможете найти на картинке цифру среди букв?
Справились? Тогда попробуйте пройти нашу новую игру на внимательность. Приз — награда в профиль на Пикабу: https://pikabu.ru/link/-oD8sjtmAi