Как стать автором
Обновить
15
0
Василий @elDraco

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

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

Электроника и котики: собираем робота-игрушку для кота на STM32

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

Добрый день, уважаемые хабровчане.
Прошло достаточно много времени с тех пор, как я последний раз писал сюда статьи по разработке, пора это дело исправить.
В этой статье я расскажу о том, как собирал небольшого робота на микроконтроллере STM32F101 для развлечения своего мейн-куна, Артаса, о том, с какими проблемами пришлось столкнуться и о том, что же из этого вышло.
Читать дальше →
Всего голосов 183: ↑174 и ↓9+165
Комментарии105

Математическая модель Lego Segway

Время на прочтение3 мин
Количество просмотров27K
Добрый день, уважаемые коллеги. Данная статья будет являться продолжением темы, начатой в посте habrahabr.ru/post/178103.
Продолжим с того момента, когда у нас уже есть значения конструктивных постоянных для двигателя Lego, и можно перейти к конструированию и обсчету робота. В качестве опытного образца остановимся на Segway. Это одна из наиболее показательных задач теории автоматического управления. Привожу конструкцию этого механизма.


Читать дальше
Всего голосов 52: ↑49 и ↓3+46
Комментарии18

FabLab УрФУ: когда госинициативы бывают полезны

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


Похоже совсем скоро Екатеринбург станет идеальным городом для старта hardware-проектов. Здесь даже государственная инциатива может принести немалую пользу зарождающемуся бизнесу. Надо лишь знать пароли и явки. Одну из таких явок мы с удовольствием открываем вам сегодня. Под катом более 25 кликабельных фотографий (трафик!). Готовы?
Читать дальше →
Всего голосов 95: ↑81 и ↓14+67
Комментарии40

Легкий FPV-трикоптер: разработка, сборка, конфигурация

Время на прочтение10 мин
Количество просмотров172K
Пару месяцев назад я здесь писал про свой тяжелый квад: раз, два. Спасибо всем, кто читал и комментировал — я нe ожидал, что мои скромные труды привлекут такое количество читателей. Нo раз данная тема, судя по всему, интересует аудиторию Хабра, то поведаю вам о своем последнем проекте: легком FPV-трикоптере, который я завершил буквально на днях.



Поставленная задача


Для этого коптера я поставил себe следующие задачи:

  • Высокая маневренность: хотя мой квад неповоротливым назвать не получается, но тем не менее, при весе в 2.2кг и с дорогой камерой на относительно хрупком подвесе спереди исполнять на нем фигуры высшего пилотажа как-то рука не поднимается. Хотелось коптер, на котором можно будет крутить бочки и петли вокруг деревьев без задних мыслей.
  • Удароустойчивость: требование непосредственно связано с первым. Долго чинить коптер после каждой неожиданной посадки в дерево — не дело, аппарат должен держать удар.
  • Время полета: хотя бы 10-15 минут, менять аккумуляторы чаще — ужe неинтересно.
  • Легкий вес: данное требование исходит из трех предыдущих. Чем легче коптер, тем проще ему менять направление полета, тем меньше энергия столкновения с чем-либо, и тем дольше он провисит в воздухе на одной батарейке.
  • Компактность: хотелось аппарат, который помещается в рюкзак, чтобы можно было его без проблем брать с собой в общественном транспорте и при пеших походах.

Исходя из этих требований, я опять сел за LibreCad, и нарисовал вот что:
Под катом - много текста, картинок и видео
Всего голосов 156: ↑156 и ↓0+156
Комментарии127

В гостях у MakeItLab, первого хакспейса Екатеринбурга

Время на прочтение3 мин
Количество просмотров88K
Один вечер из жизни первого екатеринбуржского хакспейса. Небольшой рассказ о весьма полезном для всякого самоделкина начинании. Много фото интересного оборудования и проектов, мало слов. В тексте я не постеснялся привести пару ссылок. Хакспейс работает полностью на общественных началах — бесплатный офис в самом центре города, купленное основателями за свой счет совсем не дешевое оборудование. О таком начинании просто обязаны узнать все DIY-шники Екатеринбурга. Под катом 20 больших фотографий.


Читать дальше →
Всего голосов 75: ↑71 и ↓4+67
Комментарии34

О протоколах замолвите слово… Или давайте разрабатывать чайник вместе!

Время на прочтение8 мин
Количество просмотров25K
На самом деле не только о протоколах, а скорее о логике взаимодействия сложных систем. Это не BigData, конечно, но все равно есть над чем поломать голову и копья.



Еще в самом начале разработки, я грозился что буду рассказывать о ней в прямом эфире, чтобы любой читатель мог поучаствовать в этом занимательном процессе. И вот, время пришло. Прототип у нас почти готов, и мы сейчас занялись документацией для производства и для разработки сервера и мобильного приложения. И поняли, что прототип — это самое простое, и все те задачи, что мы решали в нем — это так, детский сад, штаны на лямках.
Вот вы задумались когда-нибудь, насколько сложная логика работает, когда вы отправляете твит или постите фотку? Ее не видно, в 99.9% она скрыта от пользователя, и ее совершенно незаметно. Я ее тоже не замечал, до того момента, когда мне пришлось проектировать ее самому.
Читать дальше →
Всего голосов 46: ↑38 и ↓8+30
Комментарии35

Разблокировка экрана Android с помощью NFC

Время на прочтение7 мин
Количество просмотров57K
Для защиты от несанкционированного доступа к своему Nexus 4 я использую стандартную блокировку экрана с паролем. Но пароль приходится постоянно вводить вручную, а это немного напрягает. Блокировка с помощью графического ключа меня не впечатлила, так же как и PIN-код (слишком мало возможных комбинаций). Хотелось сильную защиту, с сохранением скорости разблокировки. Именно по этой причине я решил присмотреться к технологии NFC.
Читать дальше →
Всего голосов 44: ↑41 и ↓3+38
Комментарии37

Ещё раз о Deferred/Promise

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

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

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

Ниже я попробую показать вам что Promise и Deferred это очень и очень просто. Кроме того, для объяснения этой темы, мне придётся затронуть еще несколько интересных моментов JavaScript.

Читать дальше →
Всего голосов 43: ↑31 и ↓12+19
Комментарии28

ARM-ы для самых маленьких: компоновка-2, прерывания и hello world!

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


Нашел возможность «добить» цикл еще одной статьей, где я подведу небольшой итог. По сути, только сейчас мы добрались до того, с чего, обычно, начинают программировать:
  • рассматриваем «сложный» сценарий компоновки GNU ld;
  • учимся использовать прерывания;
  • наконец добираемся до hello world!


Предыдущие статьи цикла:


Примеры кода из статьи: https://github.com/farcaller/arm-demos

Читать дальше →
Всего голосов 63: ↑59 и ↓4+55
Комментарии9

Домашняя автоматизация

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

Введение


В один прекрасный день я получил по почте извещение о долге за горячую воду, по причине несвоевременного оповещения коммунальных служб о показаниях водомеров. К этому моменту я, праздного любопытства ради, осваивал WiFi радиомодуль от “Roving Networks” с целью «обучить» его дистанционно включать/отключать электрический водонагреватель для экономии электроэнергии при долгом отсутствии пользователей. И так все сошлось, что решил я свести эти задачи и еще некоторые задумки «умного дома» к практической реализации. Ну и конечно, было бы не интересно, если бы я использовал знакомые мне технологии, поэтому я решил использовать как можно больше нового и интересного.
Читать дальше →
Всего голосов 60: ↑58 и ↓2+56
Комментарии32

Принципы работы сонаров и подводная акустика: как, зачем и почему

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

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

Задолго до того, как Шелдон поможет разобраться с эффектом Доплера, мы погружаемся под воду, чтобы начать знакомство с тем, как происходит и от чего зависит распространение звуковых волн в водной среде.
Осторожно: знания!
Всего голосов 66: ↑62 и ↓4+58
Комментарии19

Самый маленький в мире автопилот

Время на прочтение1 мин
Количество просмотров30K
image
Команда разработчиков из Делфтского технического университета создала самый маленький в мире автопилот. Он предназначен для микрокоптеров или вертолётов и имеет размеры всего 2х2 сантиметра. Вес платы составляет 2,8 грамма. Управляет работой автопилота 72-мегагерцовый микроконтроллер ARM Cortex M3 MCU c 16 кБ оперативной памяти и 512 кБ флэш-памяти. Несмотря на крошечные размеры, на борту есть серьёзный набор навигационного оборудования — акcелерометр, гироскоп, магнитометр, барометр и GPS.
Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Комментарии38

EmBlocks — IDE для STM32

Время на прочтение3 мин
Количество просмотров62K
Я обещал поделиться своей настроенной средой Em::Blocks.
Выполняю обещание.


Что такое Em::Blocks?


Это IDE на основе Code::Blocks — кросс-платформенной быстрой среды разработки со встроенным скриптовым языком и очень гибкой настройкой, ориентированной под С/С++ разработку. В среде есть встроенные шаблоны для кучи различных случаев и возможность подключать любые компиляторы.
EmBlocks в отличие от CodeBlocks не кросс-платформенная, она существует только под Windows.
Зато вместе с ней поставляется специальная версия CodeSourcery тулчейна, которая позволяет плотнее интегрировать тулчейн с IDE. Версия в комплекте всегда свежая.

Достоинства EmBlocks


  • быстрая, т.к. написана в native коде
  • расширяемая и хорошо автоматизируется с помощью скриптов
  • шаблоны проектов можно настроить на свой вкус
  • можно самому изменить диалог мастера создания проекта
  • не требует установки — можно носить с собой на флешке и легко перенести с настройками на другой комп
  • из коробки поддерживает отладку через ST-Link и J-Link
  • бесплатная
  • неплохо поддерживается на собственном форуме

Пример проекта с использованием EmBlocks — мигание светодиодами.
Подробности и архив для скачивания
Всего голосов 18: ↑17 и ↓1+16
Комментарии23

Автоматизация выдачи AdHoc сборки приложения из Xcode для установки на девайс заказчика

Время на прочтение10 мин
Количество просмотров20K
Поясню для начинающих, что при разработке под iOS для установки на девайс большую часть времени вы собираете приложение в development режиме, т.е. только для себя.
Но в какой-то момент требуется начинать выдавать заказчику результат работы на «посмотреть».
Для этого используется особый вид сборки AdHoc Distribution. Нужно сходить к Apple'у и создать distribution provisioning profile. После чего собирать приложение, подписывая его этим профилем. В профиле прописываются все идентификаторы девайсов, на которые планируется это приложение устанавливать на этом этапе. В итоге при билде под AdHoc, XСode создает файл с расширением .ipa, который уже можно установить на все, прописанные в профиле, девайсы. Например через iTunes.

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

Об одном из таких способов, с автоматизацией выдачи из Xcode читаем под катом!

Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии11

Много бесплатных книг по программированию

Время на прочтение7 мин
Количество просмотров346K
Читать дальше →
Всего голосов 202: ↑192 и ↓10+182
Комментарии42

ARM-ы для самых маленьких: тонкости компиляции и компоновщик

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

Продолжая серию статей про разработку с нуля для ARM, сегодня я затрону тему написания скриптов компоновщика для GNU ld. Эта тема может пригодиться не только тем, кто работает со встраиваемыми системами, но и тем, кто хочет лучше понять строение исполняемых файлов. Хотя примеры так или иначе основаны на тулчейне arm-none-eabi, суть компоновки та же и у компоновщика Visual Studio, например.

Предыдущие статьи:


Примеры кода из статьи: https://github.com/farcaller/arm-demos

Читать дальше →
Всего голосов 54: ↑54 и ↓0+54
Комментарии16

Hardkernel ODROID-XU миникомпьютер на Exynos5 Octa (big.LITTLE Cortex-A15). Личные впечатления

Время на прочтение6 мин
Количество просмотров65K
Как многие, кто интересуется этой темой, знают, компания Hardkernel, специализирующаяся на выпуске мини-компьютеров бренда ODROID на ARM SoC Samsung, недавно анонсировала новую плату ODROID-XU.
Плата построена вокруг Exynos5 Octa Cortex-A15 с технологией big.LITTLE. Это самый быстрый SoC на данный момент из доступных в виде готовых решений, хоть и не самый быстрый из анонсированных.
Это практически единственная плата на рынке которую можно называть мини-компьютером, а не development board. Потому что она выполнена в миниатюрном форм-факторе, а не лопатой, и заключена в какой-никакой, но корпус. Довольно удобно не только для разработчиков, но вполне подходит и для энтузиастов, жаждущих компактных домашних компьютерных систем.

image

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

Читать дальше →
Всего голосов 67: ↑57 и ↓10+47
Комментарии79

Google выпустила парсер HTML5 на чистом Си

Время на прочтение1 мин
Количество просмотров67K
Удачная возможность для веб-разработчиков выучить язык программирования Си — HTML5-парсер Gumbo, реализованный в виде небольшой библиотеки C99 без внешних зависимостей. Парсер создан как строительный блок для создания других инструментов и библиотек, таких как валидаторы, языки шаблонов, инструменты рефакторинга и анализа кода.

Особенности:
  • Полная совместимость со спецификациями HTML5.
  • Устойчивость к некачественным входным данным.
  • Простые API, которые могут быть легко обработаны программами на других ЯП.
  • Поддержка исходных позиций и указателей в оригинальном коде, при навигации по дереву зависимостей.
  • Проходит все тесты html5lib-0.95.
  • Проверен на более чем 2,5 млрд страниц в индексе Google.
Читать дальше →
Всего голосов 139: ↑134 и ↓5+129
Комментарии38

ARM аccемблер

Время на прочтение6 мин
Количество просмотров137K
Привет всем!
По роду деятельности я программист на Java. Последние месяцы работы заставили меня познакомиться с разработкой под Android NDK и соответственно написание нативных приложений на С. Тут я столкнулся с проблемой оптимизации Linux библиотек. Многие оказались абсолютно не оптимизированы под ARM и сильно нагружали процессор. Ранее я практически не программировал на ассемблере, поэтому сначала было сложно начать изучать этот язык, но все же я решил попробовать. Эта статья написана, так сказать, от новичка для новичков. Я постараюсь описать те основы, которые уже изучил, надеюсь кого-то это заинтересует. Кроме того, буду рад конструктивной критике со стороны профессионалов.
Читать дальше →
Всего голосов 66: ↑64 и ↓2+62
Комментарии27

ARM ассемблер (продолжение)

Время на прочтение7 мин
Количество просмотров47K
Доброго времени суток, хабражители. Вдохновившись статьёй ARM аccемблер, решил для интересующихся и таких же начинающих, как я, продолжить эту статью. Исходя из названия становится понятно, что перед тем, как читать эту статью, желательно прочесть вышеуказанную. Итак, «продолжим».

Мой случай будет отличаться от предыдущего следующим:
  • у меня на машине ubuntu 12.04
  • arm toolchain я брал от сюда(выбрать ARM Processors — Download the GNU/Linux Release). На момент написания статьи появились более свежие версии, но я использовал arm-2012.09(arm-none-linux-gnueabi toolchain)
  • устанавливал так:
    $ mkdir ~/toolchains
    $ cd ~/toolchains
    $ tar -jxf ~/arm-2012.09-64-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
  • добавлял для упрощения дальнейших действий наш тулчейн в PATH
    $ PATH=$HOME/toolchains/arm-2012.09/bin:$PATH
  • установка qemu в ubuntu
    $ sudo apt-get install qemu
    $ sudo apt-get install qemu-system

В принципе, никаких критических изменений относительно случая в статье-«родителе» нет.
Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии29

Информация

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