Pull to refresh
31
-12

Техножрец Омниссии.

Send message

Народный измеритель ёмкости батареек BatteryTest

Level of difficultyEasy
Reading time6 min
Views24K
Я разработал дешёвый, точный и максимально простой в использовании прибор, с помощью которого можно измерить ёмкость практически любой батарейки (от микроскопических батареек для слуховых аппаратов до крупных батарей). Повторить мой прибор может любой желающий.



Читать дальше →
Total votes 190: ↑208.5 and ↓-18.5+227
Comments51

Зачем Программисту Микроконтроллеров Линейная Алгебра (или Как Найти Угол Между Векторами?)

Level of difficultyEasy
Reading time7 min
Views8.5K

В программировании микроконтроллеров часто возникает задача найти угол между векторами.

Это всяческие встраиваемые системы, где есть подвижные, вращающиеся детали: PTZ камеры, поворотные платформы для радаров, турели, ветрогенераторы, солнечные панели, SDR обработка и прочее.

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

Читать далее
Total votes 18: ↑18.5 and ↓-0.5+19
Comments101

Гайд по сплит клавиатурам

Level of difficultyEasy
Reading time31 min
Views8.5K

Этот гайд создан для тех, кто интересуется сплит клавиатурами, но еще не знаком с их особенностями и преимуществами или рассматривает переход на них. Главная цель гайда – предоставить всестороннюю информацию о сплит клавиатурах: от их истории и типов до подробного рассмотрения их конструкции, обучения слепой печати, изменения раскладки и так далее.

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

Читать далее
Total votes 33: ↑33 and ↓0+33
Comments22

Краткий справочник по «всем-всем» командам Linux

Level of difficultyMedium
Reading time74 min
Views150K

Периодически меня на начальном курсе просят дать "список всех-всех команд с кратким описанием что делает"... Ну прям "всех-всех". И ведь если искать в интернете "такие" справочники существуют - либо про "20-30 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого "краткого" справочника (на 300, 515, 612, 716, 842, 1005, 1110 команд) с ссылками на wiki-описание и на cheat.sh-примеры наиболее важных команд.

Справочник по всем-всем командам LINUX
Total votes 126: ↑123 and ↓3+120
Comments114

STM32. Процесс компиляции и сборки прошивки

Level of difficultyEasy
Reading time30 min
Views20K
Многие из начинающих разработчиков софта для микроконтроллеров реализуют свои проекты исключительно в средствах разработки, которые предоставляются производителем. Многое скрыто от пользователя и очень хорошо скрыто, из-за чего некоторые воспринимают эти процессы сродни настоящей магии. Я, в свою очередь, как человек в пытливым умом и природной любознательностью, решил попробовать собрать проект без использования IDE и различного рода автоматизаций.

Так родилась идея для этой статьи: не используя ничего, кроме текстового редактора и командной строки, собрать проект мигания светодиодом на отладочной плате STM32F0-Discovery. Поскольку я не до конца понимал, как происходит процесс компиляции и сборки проекта, мне пришлось восполнять пробелы в знаниях. Разобравшись с этим вопросом, я подумал — а почему бы не рассказать другим об этом?

Всем кому интересно — добро пожаловать под кат! 🙂

Читать дальше →
Total votes 124: ↑123 and ↓1+122
Comments67

Заметка про сохранение структур во flash памяти на STM32

Level of difficultyEasy
Reading time5 min
Views6.5K

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

Читать далее
Total votes 23: ↑21 and ↓2+19
Comments18

Лазерный DIY или как с помощью дешевого гравера делать качественные платы

Level of difficultyEasy
Reading time5 min
Views30K


Привет, Хабр!

В этой статье хочу поделиться своей историей, как спонтанная покупка на местном маркетплейсе упростила процесс изготовления прототипов печатных плат в домашних условиях, сэкономив время, при этом повысив качество. Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Total votes 93: ↑92 and ↓1+91
Comments94

Малоизвестные и интересные особенности C и C++

Level of difficultyMedium
Reading time43 min
Views45K

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

Целью статьи является не освещение какой-то конкретной особенности языка или подготовка к собеседованиям, и уж тем более нет цели рассказать все потайные смыслы языка, т. к. для этого не хватит одной статьи и даже книги. Напротив, статья нужна для того, чтобы показать малоизвестные и странные решения, принятые в языках C и C++. Своего рода солянка из фактов. Вопрос “что делать с этими знаниями?” я оставляю читателю.

Если вы, как и я, любите и интересуетесь C/C++, и эти языки являются неотъемлемой частью вашей жизни, в том числе и его углубленного изучения, то эта статья для вас. По большей части я надеюсь, что эта статья сможет развлечь и заставить поработать головой. И если получится, рассказать что-то, чего вы, возможно, еще не знали.

Читать далее
Total votes 161: ↑160 and ↓1+159
Comments61

Часы на газоразрядных лампах (ГРИ), они же Nixie clock

Reading time18 min
Views52K

Концепция проекта


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

Задачи создать прибор для массового производства не ставилось.

Поэтому бюджет проекта заметно больше разумного. Решения принимались исходя из собственных представлений о красоте, стоимость комплектующих не учитывалась. Реально ограничения конечно есть всегда и, например, покупать большие ГРИ (газоразрядные индикаторы) типа ИН18 я не стал – цена их больше интуитивно определенной границы и они не вписывались в мою концепцию внешнего вида изделия. Я использовал ГРИ типа ИН-12.
Рассказ об увлекательной работе далее
Total votes 31: ↑31 and ↓0+31
Comments41

Затыкаем рот Windows 10

Level of difficultyHard
Reading time33 min
Views96K


Windows 10 очень любит Интернет. Обновления, синхронизации, телеметрия и ещё куча разной другой очень нужной ЕЙ информации постоянно гуляет через наши сетевые соединения. В «стандартном» сценарии использования, когда Windows 10 управляет домашним или рабочим компьютером, это, в общем-то, терпимо, хотя и не очень приятно.

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

Для того чтобы подобного не происходило, необходимо «заткнуть рот Windows», то есть сделать так, чтобы она самостоятельно перестала «стучаться» в Интернет, устанавливать обновления и заниматься прочими непотребствами. Вот именно этим мы с вами и займёмся.
Читать дальше →
Total votes 217: ↑207 and ↓10+197
Comments308

Использвание Blender и FreeCad для импорта 3D-моделей компонентов в KiCad

Reading time5 min
Views13K
KiCad отличная программа для проектирования печатных плат, позволяющая создавать достаточно сложные проекты. Она поддерживает трёхмерную визуализацию изделия, что может быть очень полезно для нахождения ошибок в топологии или конструкции.

Есть лишь одно неудобство: KiCad не поддерживает широкораспространенный формат step. Многие производители электронных компонентов предоставляют 3D-модели своих изделий именно в этом виде. И, чтобы воспользоваться этими файлами, приходится конвертировать их в формат vrml, понимаемый KiCad’ом.

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


В этой статье я расскажу, как без регистрации и смс преобразовать 3D-модель объекта для подключения его к посадочной площадке в библиотеке KiCad.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments14

О простых вещах-сложно. Письмо химика 3D-печатнику. Растворители для пластмасс и защита от них

Reading time15 min
Views98K
DIY посвящается...

Одним из наиболее часто задаваемых вопросов в моей консультационной практике являются вопросы связанные с растворением/склейкой пластмасс с помощью всевозможных органических растворителей. В последнее время произошел настоящий всплеск интереса к химии высокомолекулярных соединений, связанный с появлением доступных 3D принтеров и необходимостью ориентироваться в «чернилах» для них (т.е. полимерных нитях-филаментах). Лишний раз убеждаюсь в том, что ни один, даже самый продвинутый «музей науки» с эффектным шоу не может так заставить IT-шника интересоваться пластмассами, как собственный 3D-принтер. Так что, читатель, если тебе хоть раз приходилось думать чем склеить пластмассу, которую не клеил default-ный суперклей, если мучали сомнения по поводу растворения поддержек свежеотпечатанной детали, да и просто интересно, чем можно отмыть клей от магазинного ценника на подарке — прошу под кат. Также настоятельно рекомендую страницу отправить в закладки не только тем, кто часто занимается склеиванием пластмасс, но и всем тем, кому часто приходится работать с различными растворителями/разбавителями. Делалось для себя — подарено Хабру!

Читать дальше →
Total votes 115: ↑114 and ↓1+113
Comments194

Взгляд на телеграм-ботов изнутри

Level of difficultyEasy
Reading time14 min
Views12K


Боты позволяют предоставлять услуги и обслуживание клиентов в режиме 24/7, без необходимости иметь человеческий персонал на стойке приема заказов или в службе поддержки. Они также обеспечивают конфиденциальное и безопасное взаимодействие с пользователем, что делает их идеальным инструментом для обработки чувствительных данных.

Боты на платформе Telegram особенно популярны благодаря ее широкой аудитории и высокой степени защиты данных. Они могут быть использованы для самых разных целей, будь то автоматизация бизнес-процессов, предоставление новостей и обновлений, обучение или развлечение пользователей.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments8

DCF77: как работает система передачи сигналов точного времени?

Reading time6 min
Views66K
Привет Хабр.

Наверное многие, приобретающие часы или метеостанцию, видели на упаковке логотип Radio Controlled Clock или даже Atomic Clock. Это весьма удобно, ведь достаточно поставить часы на стол, и они через некоторое время автоматически настроятся на точное время.



Разберемся как это работает и напишем декодер на языке Python.
Читать дальше →
Total votes 59: ↑58 and ↓1+57
Comments106

Видеокарта VGA для микроконтроллера

Level of difficultyMedium
Reading time17 min
Views14K
image

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

В то же время есть огромный парк старых ЖК мониторов. Модели с диагональю 15-19 дюймов можно приобрести в рабочем состоянии за 200 – 500 руб. Особенно это касается моделей с немодным сейчас соотношением сторон 4:3. Эти модели достаточно надежные. Лампы CCFL, используемые для подсветки, конечно, теряют яркость за годы эксплуатации и их спектр свечения уходит в неприятный красноватый оттенок, но благодаря большому количеству таких мониторов всегда есть возможность выбрать более-менее живой экземпляр. Кроме того, лампы CCFL относительно несложно заменить обычной светодиодной лентой, подключив ее напрямую к источнику питания 12 В монитора. Однако при этом обычно необходимо заблокировать цепи обратной связи от микросхемы управления подсветкой к контроллеру самого монитора, иначе монитор будет думать что подсветка неисправна и просто выключится. Также придется пожертвовать функцией регулировки яркости. Однако, этой функцией мало кто пользуется. Обычно яркость монитора настраивается один раз в жизни, сразу после его покупки и потом никогда не меняется.
Читать дальше →
Total votes 69: ↑68 and ↓1+67
Comments76

Виртуальный COM-порт на STM32 или как управлять контроллером через USB не привлекая внимания санитаров

Reading time24 min
Views25K

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

как же оно всё-таки работает
Total votes 38: ↑36 and ↓2+34
Comments9

Простая схема на оптроне создает «ламповый» звук

Level of difficultyEasy
Reading time2 min
Views18K

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

Тогда я написал в Electronic Design News, который довольно быстро принял статью к рассмотрению и через некоторое время опубликовал ее. Теперь собственно статья.

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

Простая схема с оптроном типа TLP621 показана на рис. 1.

Читать далее
Total votes 61: ↑60 and ↓1+59
Comments93

STM32 bootloader DFU mode с использованием CubeMX. Инструкция пошаговая, step by step

Reading time6 min
Views55K
Итак, сочинение сего мандригала было сподвигнуто практически полным отсутствием пошаговой инструкции с использованием обычного инструментария предлагаемого STMicroelectronics.

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

Предлагаемый материал содержит процедуру использования пакета CubeMX, «загружалки» DfuSeDemo и утилиты подготовки прошивки Dfu file manager, т. е. Мы абстрагируем наши «хотелки» от железки, да простят меня гуру макроассемблера и даташита.
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments29

Сам себе сотовый оператор

Reading time14 min
Views88K
… Кроме типовых для журнала статей, там была статья за авторством некоего «DI HALT» про то, как из двух телефонов и микроконтроллера извлечь кучу лулзов. «Прикольный ник» — подумал мальчик Андрей и перелистнул страницу, ибо ниасилил. А за ней была статья того же автора про то, как скрестить флешку с мышкой. «А вот это нам под силу» — подумал мальчик и убил уже знакомую вам флешку банальной переполюсовкой. Но зато он понял, что электроника — это весело и почти безопасно. — с просторов



Приветствую всех!

Многие из вас наверняка слышали про OsmocomBB. Однако каких-то исчерпывающих мануалов по запуску почему-то крайне мало. Итак, в ходе данной статьи постараемся максимально простым образом запустить собственную базовую станцию из доступных комплектующих. Постараемся разобраться, как сделать так, чтобы оно точно заработало.
Читать дальше →
Total votes 342: ↑342 and ↓0+342
Comments135

Умные указатели в современном C++ с точки зрения новичка

Reading time10 min
Views53K

Новые (?) пути управления памятью


Указатели в языках C и C++ — те еще штучки. Они чрезвычайно мощные, но в то же время такие опасные: достаточно небольшого недосмотра, чтобы сломать все ваше приложение. Проблема в том, что управление указателями полностью зависит от вас. За каждым динамическим выделением объекта (например, new T) должно следовать ручное удаление (например, delete T). Забудете это сделать, и в итоге получите хорошенькую утечку памяти.

Более того, динамически выделяемые массивы (например, new T[N]) необходимо удалять с помощью другого оператора (например, delete[]). Поэтому приходится мысленно отслеживать, что вы выделили, и соответственно вызывать нужный оператор. Ошибки с выбором формы приводят к неопределенному поведению, чего при работе на C++ нужно избегать любой ценой.

Другая деликатная проблема заключается во владении. Сторонняя функция возвращает указатель: а не динамически ли были выделены эти данные? Если да, то кто отвечает за очистку? Невозможно получить такую информацию, просто посмотрев на возвращаемый тип.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments28
1
23 ...

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Embedded Software Engineer
Middle