Рубрика «arduino»

Часть 1. Мир Xilinx
Часть 2. Мир Intel (Altera)

Продолжаем обзор девелоперских плат на основе SoC с ядром ARM. На этот раз мы рассмотрим платы на SoC Cyclone V. Это не единственный SoC компании Intel, есть ещё Arria V, Arria 10 и Stratix 10, но цена плат на их основе вас точно не обрадует.

К сожалению, плат на основе Cyclone V гораздо меньше, чем на Xilinx Zynq, и в основном они производятся одной компанией, Terasic. Есть ещё плата Arrow SocKit, но она полностью эквивалентна плате Terasic SoCKit. Основная информация по платам Terasic сосредоточена на сайте rocketboards.org. Там можно скачать разные полезные материалы, образы дистрибутивов Linux, там же находится форум. Форум довольно вялый, и на получение поддержки там я бы не рассчитывал, но лучше что-то, чем ничего.
Также компания Terasic продаёт некоторые платы по сниженной цене при наличии студенческого билета («academic price»). Насколько это реально для российских студентов, я не знаю, но если кто-то имел опыт такой покупки, будет интересно узнать. Пишут, что, например, Digilent при запросе покупки по академической цене отсылает к российсим дистрибьюторам, у которых цены завышены в 2-3 раза. Может быть, Terasic поступает иначе.
Кроме продукции компании Terasic мы рассмотрим также две платы производства компании EBV. Другие компании, выпускающие продукцию на Cyclone V, делают в основном модули SoM, а не девборды, и в обзор не попали.

Обзор плат на SoC ARM+FPGA. Часть 2. Мир Intel (Altera) - 1

Читать полностью »

image

Вступление

Мы давно все знаем о том, что роботы это наше будущее. Существует очень много направлений робототехники. Военные разработки, социальные, развлекательные и просто рабочие роботы.
Но в этот раз я хочу поведать от лица команды Колледжа при МИРЭА о соревновательной составляющей, а в точности про роботов сумоистов.

Немного о нашей команде

Существуем мы с 2014 года. Победители и призеры большинства соревнований Робофинист, Робофест, Спартакиады МФТИ и более мелких турниров, а также являемся абсолютными чемпионами России на 2016-2017 год в номинации мини-сумо.

Кто такие вообще эти роботы сумоисты?

Изначально, когда мы только узнали о таких соревнованиях, сумоистов делали преимущественно из лего. Но это довольно плохая идея, об этом далее.
Читать полностью »

Часть 1. Мир Xilinx
Часть 2. Мир Intel

В опубликованном ранее переводе обзора 98 «хакерских» плат немалый интерес аудитории вызвали платы на базе SoC, сочетающих в себе ядра ARM и FPGA, такие, как Parallella. И это неудивительно, ведь такая комбинация даёт воистину потрясающие возможности по сравнению с «просто» процессором или «просто» FPGA. На таких SoC можно строить системы, сочетающие в себе алгоритмичски сложные задачи, поддержку сетевых стеков, GUI и прочих вещей, проще поддающихся реализации на процессоре, и задачи, требующие жесткого реального времени, обработки сигналов, обработки изображений и другие задачи, для реализации которых удобны FPGA. Разумеется, для многих задач можно использовать простые FPGA (возможно, включив в них IP-ядро процессора типа NIOS II или MicroBlaze), многие задачи можно решить на процессоре достаточной мощности, используя операционные системы реального времени (типа RTEMS), но всё же, SoC являются в настоящее время очень привлекательным вариантом для решения множества задач, как в профессиональных областях, так и для хобби.

Обзор плат на SoC ARM+FPGA. Часть первая. Мир Xilinx - 1

Читать полностью »

Привет! Хочу на примерах рассказать о самом простом способе создания чего то сложного. Суть страшного слова «прототипирование» сводится к использованию аналогий или шаблонов в проекте Arduino.

Не хочу пугать длинными словами начинающих пользователей Python-Arduino, по-этому идем сразу по примерам.

Зуммер — генерирует звуковой сигнал тревоги

Зумер [1]. выдает звук, когда снабжен цифровым значением HIGH (то есть, +5 В), которое может быть обеспечено с помощью цифровых выводов Arduino [2].

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

Соединения

Прототипирование в среде Python-Arduino - 1
Читать полностью »

Привет! Хочу предложить реализацию двух подходов разработки программного обеспечения датчика движения, работающего совместно с платой Arduino. Ни датчик движения [1], ни Arduino [2]. в дополнительной рекламе не нуждаются.

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

Основным датчиком с которым будем использовать является датчик движения PIR [3].

PIR датчики небольшие, недорогие, потребляют меньше энергии и совместимы с аппаратными платформами, такими как Arduino.

Он использует пару пироэлектрических датчиков, которые обнаруживают инфракрасное излучение. Он имеет радиус действия до 6 метров, что достаточно для проекта.

Методы разработки потока программного обеспечения датчиков движения, работающих с Arduino - 1

Кроме того понадобятся светодиоды: зеленый и красный. Шнуры, резисторы и макет: для завершения соединений понадобится пучок проводов и макет. Также понадобятся два резистора на 220 Ом и один 10 кОм.

Следующим составляющим будет плата Arduino: плата Arduino Uno. Для связи платы Arduino с компьютером используем кабель USB.Читать полностью »

Как и многие другие самоделкины, я регулярно использую микроконтроллеры AVR для всяких разных любительских поделок. А благодаря концепции «Arduino» эти поделки теперь приобретают еще и элегантный вид. Действительно, за какие-то 300-400 рублей мы получаем миниатюрную многослойную плату с маской, шелкографией и с полностью разведенной на ней периферией для микроконтроллера (причем в SMD исполнении!). Я уже не говорю о всевозможных подключаемых модулях этой же «Arduino» серии: датчиках, контролерах, дисплеях и целых наборов, так нужной нам дополнительной периферии. И опять же всё также недорогих и в прекрасном исполнении. Практически уже нет необходимости, что-то разводить и допаивать на «коленке».­­­­­­­­­

Программирование и обмен данными с «ARDUINO» по WI-FI посредством ESP8266 - 1

Но все эти разнообразные любительские поделки, требуют естественно, предварительного программирования. Да и в последующем при разных усовершенствованиях, постоянно приходится эти поделки перепрошивать. Понятное дело, что удобнее делать это дистанционно, чем постоянно таскать их к обычному программатору. Вообще, благодаря той же платформе «Arduino», вариантов и здесь много: Bluetooth, ZigBee, радиоканал с вашим личным протоколом, IR, и даже Wi-Fi. Все они позволяют наладить беспроводной контакт с вашим микроконтроллером. Но мы же остановимся на последнем варианте. Основных причин здесь четыре:

1: современно, интернет вещей же!

2: беспроводной роутер есть в каждой квартире, регистрируй в домашней сети свои устройства и вуаля!

3: ваши поделки осуществляют революционный скачок в своём развитии; мало того, что их можно программировать на расстоянии, они теперь ещё и сами могут общаться с окружающим их миром: электронные часы самостоятельно берут точное время с часовых NTP-серверов, исполнительные устройства управляются с другого конца города или страны, регистрирующие девайсы сохраняют накопленные данные в облако и т.д. и т.п.

4: есть замечательная серия микросхем ESP8266 на которой не очень легко всё это реализовать.

Читать полностью »

Постановка задачи

Цифровые и аналоговые датчики, подключенные к Arduino, генерируют большие объёмы информации, которая требует обработки в реальном масштабе времени [1].

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

Читать полностью »

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

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

Сегодня я избавлю вас от страданий
Читать полностью »

В прошлом году мы в летней компьютерной школе проводили кружок по Arduino. Там поучаствовали и преподаватели, в результате чего появилась 8-битная игровая консоль с экраном 64x64.

Теперь же мы решили сделать кружок, в котором ребята смогут создать собственные игры для этой консоли. Благодаря её минимализму, кода должно получиться немного. Всего на кружок было запланировано около 14 часов в течение смены, так что низкий порог входа в программирование таких игр был важной особенностью.

Разработка игр для консоли на Arduino в летнем лагере - 1
4095 светодиодов и все-все-все
Читать полностью »

Зачем?

В эпоху Arduino UNO и Atmega328 я вполне обходился без программатора, прошивая микроконтроллер сначала загрузчиком Arduino через другую Arduino (Arduino as ISP), а потом через обычный последовательный порт, и лишь после появления поддержки Arduino для модулей на основе Nordic Semiconductor nrf51822 и nrf52832 для меня впервые стало актуальным наличие swd-программатора, ибо никаким другим способом прошивку в голый китайский модуль не зальешь.

Стандартом де-факто в данной области являются программаторы Jlink немецкой компании Segger Microcontroller System, известные не только своими прекрасными ТТХ, но и заоблачной ценой (около $500-600). Надо отдать должное компании Segger, для некоммерческого использования выпускается EDU версия, полностью идентичная Jlink Base, но даже она стоит в России в районе 3000 руб. Любимый Aliexpress полон китайских клонов, однако и они относительно недешевы, не говоря уж о прочем.

Есть еще ST-LINK/V2 от ST Microelectronics, правда, под вопросом их совместимость с микроконтроллерами производства не самой STMicro.

В итоге, мой взгляд неминуемо пал на JTAG/SWD программатор Black Magic Probe (BMP), собравший на Kickstarter более $47,000 при заявленной цели в $10,000.
Читать полностью »