Как стать автором
Обновить
46
0
Dmitry Votintsev @dmitryvv

Пользователь

Отправить сообщение

Работа c Doxygen в CMake

Время на прочтение5 мин
Количество просмотров12K
Недавно задался вопросом ведения документации по исходному коду и сборки её используя Doxygen и CMake. Столкнулся сразу с неприятной проблемой. Дело в том, что в своих проектах я использую следующую структуру:
  build/
  src/
  CMakeLists.txt
  Doxyfile
Сборка, в моём случае, происходит в каталоге build. Но сборка может быть выполнена из любого места. Так вот, если изменить каталог сборки, документация не будет собрана, т.к. Doxygen не найдет исходников по которым нужно собрать эту самую документацию. Тогда то я и задумался, как же управлять процессом сборки документации в связке CMake и Doxygen? Что если мне нужно получить несколько видов документации: пользователя и разработчика? Держать два файла конфигурации для Doxygen? Мне такой вариант не нравится, т.к. файлы будут отличаться значением только одной переменной ENABLED_SECTIONS. Ниже я расскажу о там как можно управлять сборкой документации.
Читать дальше →

Делаем приватный монитор из старого LCD монитора

Время на прочтение2 мин
Количество просмотров978K


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

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

Читать дальше →

Строим гусеничного Bluetooth-робота с камерой. Часть 1

Время на прочтение7 мин
Количество просмотров147K
По многочисленным просьбам я решил описать процесс создания вот такого робота с камерой на гусеничном шасси и управлением по bluetooth с помощью джойстика.

Я всегда мечтал создать робота, которым можно управлять с помощью компьютера и смотреть за его перемещениями от первого лица.
Весь процесс я условно разделил на три части:
1. Сборка робота
2. Программирование боротового микроконтроллера
3. Программирование управления с ПК
Читать дальше →

Веломузыка

Время на прочтение5 мин
Количество просмотров8.9K

Тема портативного аудио на велосипеде часто становится актуальной после регулярных покатушек. Само по себе катание на велосипеде с группой алкобайкеров знакомых лиц не похоже на обычные встречи. Большую часть пути все находятся в молчании. От монотонного кручения педалей и относительно бедного ночного разнообразия перед глазами (днем ведь работаем, а катаемся вечером) нечто под названием желание переходит в скуку. Скучно долго монотонно молча крутить педали, одиноко. Какой выход?
«Каждый видит лишь то, что в нем уже есть» — не считае эту статью, как руководство к воровству тишины соседа. Никто этого не делал, и не собирается.
Нужен связующий элемент — музыка. Слушаешь ее — знаешь что слушает сосед. Заместо невозможности говорить получаем возможность слушать. Часто ли в жизни у вас бывают моменты когда все люди слушают и молчат? ( маршрутки с радио не в счет, там водитель свои уши отдает радиостанции, видимо от страха незнания что с ними делать). Поэтому очень важно слушать то, что вы действительно считаете нужным и продуманным. Что-то я все не про то.
Читать дальше →

Программирование ПЛИС. Плавное изменение яркости светодиодов на Spartan-3E Starter Kit с использованием ШИМ (PWM)

Время на прочтение9 мин
Количество просмотров63K
Эта статья ориентирована на новичков в программировании ПЛИС на языке VHDL и тех, кто хочет научиться это делать. Ранее на хабре уже была рассмотрена статья с аналогичной задачей, реализованной на PIC-контроллере. А в этой статье речь пойдет об изменении яркости свечения светодиода с помощью ПЛИС.
Итак, цель работы: Освоить понятие ШИМ и применить его в изменении яркости светодиода. Для реализации воспользоваться языком программирования VHDL в среде разработки Xilinx ISE Project Navigator v12.3.

Перейдем к реализации цели

«Сердце» электронного устройства на основе Silicon Labs C8051F320

Время на прочтение2 мин
Количество просмотров16K
Бывает, что вам необходимо быстро разработать какое-то электронное устройство для управления какими либо агрегатами или сбора какой либо информации от этих агрегатов. Для этой задачи идеально подходят либо какие либо готовые устройства наподобие Arduino, либо железка собственной разработки на основе микроконтроллера. В данной статье я решил рассмотреть небольшую самодельную плату, которая и будет сердцем любого подобного устройства.



На фото изображено получившееся устройство (слева), подключенное к программатору (справа)
Читать дальше →

Минимальная Arduino своими руками

Время на прочтение4 мин
Количество просмотров379K
Arduino — это хорошо, когда хочется быстро реализовать идею, не заморачиваясь мелочами. Но когда идея проверена, лишняя функциональность начинает просто мешать.
Собирая робота на гусеничном шасси, я столкнулся с тем, что бутерброд из Arduino + MotorShield + Sensor Shield плюс ко всему аккумулятор и прочие компоненты обросли проводами и стали с трудом помещаться на не самом крошечном шасси. Городить еще кучу шилдов, чтобы избавиться от лишних проводов не хотелось.
Появилась идея избавиться от всего, что в Arduino не требуется в готовом девайсе. Попутно хотелось снизить стоимость робота.
Многих интересующихся электроникой отпугивает еще и стоимость Arduino в магазинах. С ebay и китайских магазинов посылка идет долго, изобретательский пыл успевает остыть, поэтому приобретение откладывается «на потом», «когда сын подрастет». Поэтому я решил собрать Arduino-совместимую плату из деталей, которые всегда можно купить в городе.
В итоге я получил Arduino-совместимую плату, стоимостью в 210 рублей на макетной плате и в ~270 рублей в готовом для наращивания функционала виде.
Minimalist Arduino
«Minimalist Arduino»
С нуля до полной готовности собирается с дешевым 40Вт паяльником за 1 выходной без каких-то особых навыков.
Читать дальше →

Анимация меню при помощи CSS3

Время на прочтение8 мин
Количество просмотров37K


В данной статье я хотел бы показать вам некоторые приёмы создания эффектов при помощи CSS3 на примере меню. Идея заключается в простой композиции элементов: иконки, основного названия и вторичного названия, которое будет анимировано при наведении курсора, используя только CSS-переходы и CSS-анимацию. Мы рассмотрим несколько различных эффектов для элементов.
Читать дальше →

Шести-степенная жизнь на хвосте питона

Время на прочтение8 мин
Количество просмотров12K
Продолжая цикл статей моделирования параллельных механизмов с использованием аппаратной платформы Arduino и различного подручного хлама (Ловим горизонт с Arduino, Трех-степенной манипулятор на Arduino), сегодня стоит уделить внимание управлению шести-степенной платформой с помощью языка Python из операционной системы Linux.

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

image
Читать дальше →

Взгляд изнутри: Вскрытие чипа Nvidia 8600M GT

Время на прочтение6 мин
Количество просмотров97K
image
Предисловие

Года 3-4 назад судьба распорядилась так, что в руки мне попал ноутбук Asus G2S. Счастье моё длилось ровно до прошлой зимы, когда ни с того, ни с сего на экране стали появляться артефакты, особенно при запуске игрушек или «мощных» приложений, активно работающих с видеочипом. В результате оказалось, что проблема именно в нём. Nvidia для практически всей геймерской линейки G2 поставляла видеочипы с браком (отслоение контактов между самим кристаллом и подложкой), который обнаруживался лишь через пару лет интенсивной работы. Решение было однозначным – замена видеочипа. Но что делать со старым?! Ответ на этот вопрос пришёл на редкость быстро…
Много трафика под катом
Читать дальше →

Сортировщик страниц для распечатывания книги

Время на прочтение2 мин
Количество просмотров107K
Помните этот пост? У меня он сразу попал в закладки, а уже на следующий день я с огромным удовольствием читал свежераспечатанную книгу. Сколько их (распечатанных книг) было — уже не помню. Но уверен, что не я один этим занимался. А что? Не всегда есть в продаже книга, которая нужна прям сейчас. Да и средства экономит.

Тот, кто пробовал сам распечатывать книги, знает, что процесс печати требует внимательности и аккуратности. Печатаем по 16 страниц (4 листа формата А4, по 2 страницы книги на каждой стороне листа) таким образом чтобы, сложив пополам эту стопку, получить тетрадку, в которой страницы идут по порядку, как в книге. Из этих тетрадок потом и будет сшиваться сама книга.
Читать дальше →

«Бегущая строка» — динамическая индикация на примере светодиодной матрицы RL-M2388 и Arduino Mega

Время на прочтение6 мин
Количество просмотров95K
Данная статья не претендует на толкование как единственно возможного метода отображения и прокрутки информации на светодиодной матрице. Я с удовольствием выслушаю ваши замечания и предложения по улучшению метода/функций. Данная статья – изложение личного опыта и описание результата, которого я добился.

Немного теории

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

Читать дальше →

консоль в микроконтроллере с micro readline

Время на прочтение9 мин
Количество просмотров34K
Представляю вашему вниманию библиотеку microrl (on github), предназначенную для организации консольного интерфейса в разного рода встраиваемых железках на микроконтроллерах.

Зачем нам консоль в МК?


Текстовый консольный интерфейс обладает рядом преимуществ для встраиваемых систем, при всей своей мощи и простоте (ведь текст, в отличие от светодиода, говорит сам за себя!):
  • Требует относительно мало ресурсов МК, и минимум аппаратных затрат — последовательный интерфейс типа UART или любой другой имеющийся в МК, это может быть встроенный USB или внешний USB-Com адаптер или даже TCP если ваше микроконтроллер достаточно серьезный.
  • Удобно подключаться — достаточно терминала поддерживающего Com-port (putty для Windows или minicom для linux).
  • Удобно использовать — цветной вывод в терминал, поддержка авто-дополнений, горячих клавиш и истории ввода.
Читать дальше →

Получаем изображение с оптического сенсора комьютерной мыши с помощью Arduino

Время на прочтение3 мин
Количество просмотров235K
КПДВ, 111.3 KB

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

Точное выделение контуров на изображениях

Время на прочтение2 мин
Количество просмотров15K
Хочу описать, один из нелинейных алгоритмов выделения контуров на изображениях.

Классика

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

А если так не делать?
Читать дальше →

Что делать, если вы застряли с Большой и Сложной Программистской Задачей?

Время на прочтение5 мин
Количество просмотров8.7K
image

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

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

Со временем я выработал способ, позволяющий вернуть мне продуктивность в такой ситуации и суметь закончить непростую задачу. Этим опытом я и хочу поделиться.
Читать дальше →

Элемент задержки на VHDL

Время на прочтение2 мин
Количество просмотров29K
При проектировании различных цифровых устройств, в частности, контроллеров, требуется организовать задержку подачи одного и того же сигнала на различные выводы ПЛИС или на другие элементы внутри ПЛИС.

Для начала рассмотрим подобную ситуацию с дискретной логикой. Обычно, если у разработчика имеется микросхема с шестью вентилями НЕ (например ,155ЛН1), в качестве элемента задержки (величиной 10…20 наносекунд) он использует последовательное соединение двух элементов. Иногда между ними он вставляет RC-цепь, с помощью которой можно сделать время задержки от 10 до 150 нс.

В микросхеме ПЛИС задержку таким способом организовать НЕЛЬЗЯ. Всё дело в
Читать дальше →

Расширение функциональности не имея исходного кода

Время на прочтение4 мин
Количество просмотров3.2K
Думаю, у каждого из вас было ощущение, что в той, или иной программе не хватает какой-нибудь must have фичи. Если программа идет с исходным кодом, то проблем не возникает. Любой желающий может дописать нужную функциональность. А что если программа закрытая? Не стоит отчаиваться, это не пропащий случай. Сейчас расскажу, как можно дописать за автора то, чего не хватает.
Читать дальше →

Геометрические фигуры на CSS

Время на прочтение4 мин
Количество просмотров963K
Отличная подборка, как нарисовать различные геометрические фигуры одним элементом HTML.

Квадрат



#square {
	width: 100px;
	height: 100px;
	background: red;
}

Читать дальше →

Microsoft выпускает собственный «конструктор», конкурент Arduino

Время на прочтение2 мин
Количество просмотров6.5K


Видимо, подобные комплекты стали очень популярны среди разработчиков, поскольку сейчас появляются новые и новые «конструкторы для взрослых». Например, вчера на Хабре был описан ProtoSnap, а теперь и Microsoft выпускает нечто подобное, только комплект от софтверного гиганта более совершенен, чем ProtoSnap. Устройство получило название Microsoft .NET Gadgeteer. Его описание, фотки и видео — в продолжении.

Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность