Pull to refresh
15
0

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

Send message

Робот-танк на Raspberry Pi с Intel Neural Computer Stick 2

Reading time7 min
Views16K
Вот и наступил новый этап в развии Raspberry-танка.

В предыдущей серии оказалось, что семантическая сегментация из коробки не по зубам Raspberry.

Мозговой штурм и комментарии позволили определить следующие направления развития:

  • обучить собственную E-net сеть под нужный размер картинок
  • передать запуск нейросети с самой Raspberry на специальную железку, из которых наиболее часто упоминался Intel Movidius (он же Neural Compute Stick aka NCS).

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

Несколько дней — и интеловская чудо-железка у меня в руках.

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

В итоге, GPS был посажен на кабель, переведен вниз, и кабель обернут вокруг штатива, а на его место зашел NCS.

На этом hardware часть была завершена.


Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments16

Программируем квадрокоптер на Arduino (часть 1)

Reading time18 min
Views365K


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

У нас впереди:
  1. Базовые понятия (для начинающих коптероводов).
  2. PID-регуляторы с интерактивной web-демонстрацией работы на виртуальном квадрокоптере.
  3. Собственно программа для Arduino и настроечная программа на Qt.
  4. Опасные тесты квадрокоптера на веревке. Первые полёты.
  5. Крушение и потеря в поле. Автоматический поиск с воздуха средствами Qt и OpenCV.
  6. Окончательные успешные тесты. Подведение итогов. Куда дальше?

Материал объемный, но постараюсь уложиться в 2-3 статьи.
Сегодня нас ожидает: спойлер с видео, как наш квадрокоптер полетел; базовые понятия; PID-регуляторы и практика подбора их коэффициентов.
Читать дальше →
Total votes 107: ↑106 and ↓1+105
Comments96

Arduino watchdog или автоматический RESET в случае зависания

Reading time7 min
Views244K

Речь пойдет о том, как держать Arduino всегда в работоспособном состоянии. Механизм watchdog встроен в контроллеры Atmega, но, к сожалению, не всякий загрузчик (bootloader) Arduino правильно обрабатывает эту функцию. Попробуем разобраться с этой проблемой.

Итак, что такое watchdog? Простыми словами — это встроенный таймер на определенное время (до 8 сек в зависимости от чипа), который можно запустить программно. Как только таймер «дотикает» до нуля, контроллер подает правильный сигнал сброса (RESET) и всё устройство уходит в hard перезагрузку. Самое главное, что этот таймер можно сбрасывать в начальное состояние также программным способом.

  • Правильный сигнал сброса — достаточный по длительности для того, чтобы контроллер начал перегружаться. Иногда есть соблазн подключить к RST входу какой-либо цифровой выход Arduino и устанавливать его в 0 когда надо перегрузиться. Это плохой подход к решению проблемы, т.к. такого сигнала может быть недостаточно по времени, хотя и не исключено, что в некоторых случаях это тоже будет работать..
  • hard перезагрузка это самая настоящая перезагрузка, которая происходит при нажатии на кнопку RESET. Дело в том, что есть еще понятие soft перезагрузки — это программный переход на 0-вой адрес. В принципе, это тоже полезная вещь, но с помощью нее невозможно перегрузить зависший контроллер Ethernet или взглюкнувший LCD.

Короче говоря, встроенный watchdog это как раз то, что нужно и без дополнительных схем, пайки и соединений.
Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments12

Модифицирование преобразователя USB-UART на чипе CP2102 для использования в качестве программатора Arduino

Reading time2 min
Views86K
Данный метод требует прямых рук наноботов — используйте описанное на свой страх и риск.

Ко мне в руки попал преобразователь USB-UART на чипе CP2102, который шел в комплекте с Arduino Pro Mini и заявлялся как программатор для него:

image

Подключив к Arduino и попробовав залить скетч, я обнаружил, что заливка не происходит. Выдается ошибка:
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments14

Как я логгер собирал на SD card Shield V2.0

Reading time3 min
Views57K
Привет, Хабр!

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

Подробности
Total votes 27: ↑24 and ↓3+21
Comments6

Плавная прокрутка при переходе по якорям внутри страницы

Reading time4 min
Views1.9K
Проблема

При навигации на одностраничных сайтах, организованной с помощью анкоров (a[name=target]), а также при серфинге по длинным документам с содержанием, перелинкованном на разделы станицы, наблюдается проблема удобства использования: переход происходит мгновенно, пользователь не всегда видит куда его перебросило и на чем следует сфокусировать взор. Демо.

Внимательный читатель несомненно припомнит, что уже давно придумано до нас, например, вот тут. Однако набросанный мною за полчаса говнокод как минимум в два раза меньше по объему и не требует поиска каких-то дополнительных плагинов.
Читать дальше →
Total votes 18: ↑11 and ↓7+4
Comments8

История покупки и опыт использования планшетного ПК Zenithink ZT-180

Reading time4 min
Views5.6K
Хочу рассказать о покупке и своём опыте использования аппарата под названием Zenithink ZT-180. Не буду повторять технические характеристики, так как их можно посмотреть в другом топике об этом устройстве. Перед покупкой я довольно много изучал рынок планшетных ПК на Android OS, даже создал топик в Q&A на Хабре. В итоге мой выбор пал на Zenithink ZT-180. Почему?
Сразу перечислю видимые мной преимущества ещё до покупки:
  • Большой экран
  • Мощный процессор
  • Распространённость аппарата, что является большим плюсом в виду большого количество русско и англоязычных сообществ, готовых в любое время дня и ночи ответить на любой вопрос, касающегося данного устройства.
Дальше хочу поделиться своим опытом покупки и использования данного девайса.
Под катом много текста и фото...
Total votes 79: ↑73 and ↓6+67
Comments110

Концепция управляемого данными процессора

Reading time3 min
Views2.1K
image

Здравствуй, Хабр!

Все имеющие процессор устройства, которые мы используем, построены по принципам фон Неймановской машины, или ее модификациях. Простой пример: всеми нами используемый x86 — это гибрид фон Неймановской и Гарвардской архитектур.

Но знает ли хабрасообщество про существование (хотя бы в концепции, планах, чертежах, работающих образцах) НЕ фон Неймановских машин?


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

Эту концепцию в 70е годы разработали монстры из MIT, а потом подхватили другие процессоростроители по всему миру.

Итак, поехали!
Читать дальше →
Total votes 57: ↑53 and ↓4+49
Comments23

Делаем сами простые часы за выходные

Reading time7 min
Views60K
Статья о том, как за выходные с нуля сделать простые электронные часы с использованием микроконтроллера. Показана только основа часов, количество программных и аппаратных фич ограничивается только вашей фантазией).

Читать дальше →
Total votes 159: ↑147 and ↓12+135
Comments80

Root или не Root, вот в чем вопрос

Reading time4 min
Views231K
Предлагаю вам свой вольный перевод статьи "To Root or Not to Root?". Все комментарии, пожелания по переводу, прошу направлять в личку.

Если вы являетесь обладателем устройства с операционной системой Android, то вы уже наверняка слышали о такой процедуре, как рутинг (от англ. Root) — получение полного контроля над программным обеспечением и операционной системы устройства.

Существуют плюсы и минусы рутинга вашего устройства. Данная статья постарается помочь вам с ответом на вопрос стоит ли вам получать полный контроль над вашим устройством с операционной системой Android или нет.
Читать дальше →
Total votes 70: ↑49 and ↓21+28
Comments131

Шаг к идеальному Droidpad — CSL Spice M700

Reading time4 min
Views1.8K
Несмотря на то, что, на первый взгляд, рынок завален планшетами под Android, при более тщательном рассмотрении выясняется, что все эти планшеты довольно низкого качества и бедные как по возможностям, так и по используемому «железу».

Строго говоря, если не брать во внимание пресловутые «китайские айпады» с двумя симками и телевизором, то выбирать на сегодня остается только из Samsung Galaxy Tab, за откровенно несуразную цену.

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

image

В сентябре в Малайзии (которая, напомню, является и сама одним из серьезных прозиводителей микроэлектроники в Юго-Восточно Азии) начались продажи 7-дюймового «дроидпада» компанией CSL.
Читать дальше →
Total votes 62: ↑52 and ↓10+42
Comments102

Основы программирования под Android на примере игры Судоку

Reading time6 min
Views375K
В статье описаны основные трудности создания приложений под Android.
Рассматриваются базовые понятия программирования Android.
Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
Осторожно много скриншотов.

Читать дальше →
Total votes 137: ↑131 and ↓6+125
Comments48

Интерфейс JTAG? — Это очень просто

Reading time6 min
Views255K
Многие знакомы со словом «JTAG», но знакомство это скорее всего поверхностное. В этой статье я хочу перевести Вас на новый уровень, так сказать «во френдзону». Возможно, для многих я не открою ничего нового, но надеюсь тем, кто давно хотел ознакомиться, будет интересно почитать. Итак, от винта.
image

Запустить JTAG тестирование
Total votes 90: ↑86 and ↓4+82
Comments17

Конструктор для «Умного Дома» — от идеи до воплощения

Reading time16 min
Views162K


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

Проект, начавшийся в формате «для души», удивительным образом вышел за рамки хобби, и вырос серьезную разработку. В основе лежало желание создать систему, интересную как в плане технического творчества и программирования, так и удобную для повседневного использования. Хотя работа еще в разгаре, уже отчетливо видны контуры задуманного: распределенная система, высокотехнологичный «конструктор» для реализации всевозможных идей умного дома, с хорошей масштабируемостью.
Читать дальше →
Total votes 93: ↑92 and ↓1+91
Comments86

Custom View, скроллинг и жесты в Android на примере простого вьювера картинок

Reading time10 min
Views51K
В статье описываются детали реализации простого вьювера картинок и показываются некоторые тонкости имплементации скроллинга и обработки жестов.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments10

Qt и SQLite и вообще, программирование БД в Qt

Reading time9 min
Views156K
Добрый день.

Ниже пойдет речь о том, как использовать SQLite в Qt. Автор постарался как можно подробнее рассматривать программирование баз данных в Qt.

Об этих двух замечательных продуктах можно прочитать следуя приведенным выше ссылкам, а мы будем конкретно рассматривать программирование БД в Qt, в частности, на примере SQLite. Скажу только, что SQLite несколько отличается от «обычных» баз данных, таких как MySQL тем, что «не обладает» клиент-серверной архитектурой. То есть движок БД не является отдельно работающим процессом, с которым взаимодействует программа. SQLite представляет собой библиотеку, с которой компонуется ваша программа и, таким образом, движок становится составной частью программы. То есть представьте вы решили сохранять все данные, с которыми «сталкивается» ваша программа в обычный файл. В один прекрасный день вы решаете сохранять данные в файле, но организовав это с «реляционной» точки зрения. После этого вы поняли, что новая структура файла должна «распознаваться особым образом». С этого, как минимум, следует, что вам нужно предоставить некоторый API, обеспечивающий связь между этим файлом данных с приложением. В общем, следуя логической постановке приведенного сценария у вас рождается система БД, не требующая сервера БД и собственно, клиента. Получается достаточно быстрая по сравнению с «клиент-серверной» БД система, и сама программа упрощается.
Почему я рассматриваю именно SQLite?
Total votes 48: ↑43 and ↓5+38
Comments57

Работа с базами данных в Qt

Reading time6 min
Views207K
Qt дает возможность создания платформо-независимых приложений для работы с базами данных, используя стандартные СУБД. Qt включает «родные» драйвера для Oracle, Microsoft SQL Server, Sybase Adaptive Server, IBM DB2, PostgreSQL, MySQL и ODBC-совместимых баз данных. Qt включает специфичные для баз данных виджеты, а также поддерживает расширение для работы с базами данных любых встроенных или отдельно написанных виджетов.
Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments89

Shodan – самый страшный поисковик Интернета

Reading time3 min
Views702K


«Если люди не могут найти что-то в Google, они думают, что это не сможет найти никто. Это не так», – утверждает Джон Мэзерли, создатель Shodan, самого страшного поискового движка Интернета.

В отличие от Google, который ищет в Сети простые сайты, Shodan работает с теневыми каналами Интернета. Это своего рода «черный» Google, позволяющий искать серверы, веб-камеры, принтеры, роутеры и самую разную технику, которая подключена к Интернету и составляет его часть.

Читать дальше →
Total votes 199: ↑191 and ↓8+183
Comments131

Information

Rating
Does not participate
Location
Россия
Registered
Activity