Рубрика «Программинг микроконтроллеров»

Четыре месяца назад мы сделали плату Франкенштейн, на которую возлагали большие надежды — на единой плате было шесть функциональных блоков, это было шагом вперёд.

image

Добровольцы в Канаде и Словакии смогли завести свои моторы, но в целом надежды не оправдались:
Читать полностью »

Видео

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

Конструкция

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

Введение

MIDI-контроллер — устройство, преобразующее определённый физический процесс в набор цифровых команд формата MIDI. Физическим процессом может являться всё, что угодно — от нажатия пальцем на клавишу до поворота ручки громкости. Полученный поток команд передаётся посредством протокола MIDI другим устройствам — компьютеру, аппаратным семплерам, синтезаторам или внешним секвенсорам и расшифровывается там определённым образом. Наиболее распространённым типом MIDI-контроллера является MIDI-клавиатура — электронный аналог клавиатуры фортепиано. Также существует множество других типов контроллеров, среди которых — электронные ударные установки.
Читать полностью »

Всем привет, не так давно я рассказал, да и показал на видео, как можно прошить Attiny13 при помощи Arduino, а теперь покажу практическое применение этому.

Скажу сразу, фьюзы, прошивку в виде hex-файла, код на Си, скетч для Arduino IDE, файлы для Proteus 7 можно скачать в конце статьи.

Ну, что уж тянуть, покажу как работает:

Давно хотел себе такой музыкальный дверной звонок, чтобы при нажатии на кнопку играл марш империи(Imperial March or Darth Vader's Theme) из «Звёздных войн», очень нравится эта мелодия.
Читать полностью »

Знал бы где упадешь, соломки подстелил бы

О существовании DMA (Direct Memory Access) — русскоязычное ПДП (Прямой Доступ к Памяти) многие разработчики встроенных устройств слышали, но вот применяют его гораздо реже, чем он (ПДП) этого заслуживает. Кстати, я буду упоминать именно эту аббревиатуру, но не потому, что я такой упрямый патриот и противник англоязычных заимствований, а всего лишь от того, что мне лень лишний раз переключать раскладку клавиатуры :). Основных причин недостаточного использования ПДП в программах для МК три: 1)относительная сложность данного устройства, которая вместе с 2) непониманием выгод его применения приводит к нежеланию данное устройство изучать и осваивать (как говорят в таких случаях, старшая сестра не велит — для тех, кто в танке — это про лень, котороая раньше нас родилась), отягощенному 3) отсутствием хороших и понятных примеров применения ПДП в поставляемых с МК руководствами. И если первые две причины носят явно субъективный характер, то третья несомненно объективна и внутри меня просыпается параноик и настойчиво утверждает, что это сделано специально с целью не допустить отечественных разработчиков МК на продвинутые уровни, где-то выше 60 (то, что при этом страдают и остальные разработчики по всему миру, параноиком игнорируется, поскольку либо 1) за пределами России распространяются правильные примеры, либо 2) ради великой цели не допустить вставания, сами понимаете кого, с колен буржуины готовы пойти на любые жертвы). Тем не менее без шуток, действительно, в примерах в лучшем случае лежит модуль настройки отдельно взятого канала ПДП, а увязанную систему с ПДП драйвером Вы в примерах применений не найдете (даже в CMSIS не найдете, ну тут действительно есть объективная причина — напишу пост про него — упомяну). Почему так на самом деле — я не знаю, но разработчикам кристаллов виднее, единственное разумное обоснование, которое мне приходит в голову — это то, что ПДП довольно таки специфичны, поэтому «нельзя просто так взять и » перенести код из другого источника, а ввиду малой востребованности ПДП в реальных разработках отсутствие таких примеров не считается существенным недостатком. Восполнить указанный мной пробел в знаниях и предназначен настоящий пост (нескромное заявление, но если сам себя не похвалишь, весь день ходишь как оплеванный), поэтому те, кого я заинтриговал, могут нажать на кнопочку.Читать полностью »

Некоторое время назад мне захотелось отвлечься от коммерческого программирования и заиметь взрослую игрушку. После долгих скитаний остановился я на RC тематике. Купить игрушку может каждый, а вот собрать – по-настоящему спортивный интерес. И так, вертолет, самолет, квадрик. Выбор пал на квадрик, в виду того, что:
1. Для тестов требуется меньше пространство, чем у самолётов
2. Более гибок, чем вертолет.

Вот что у меня получилось.
Высоко лечу, далеко гляжу…
Описание сборки дрона не вижу смысла, так как много статей уже. Скажу основное использовал КК2.0 для стабилизации.
Однако летал я недолго пока не сгорел регуль (ESC).
Пока я жду регуль задался вопросом, а как высоко летает мой дрон.
Под катом раскажу как я решал эту задачу по своему.
Читать полностью »

image

Корейская компания Hardkernel, неизвестный производитель одноплатных компьютеров, представила новую модель Odroid W. Новинка основана на схемотехнике Raspberry Pi, но при этом имеет ряд заметных Читать полностью »

Однажды попался мне заказ оцифровать сигнал. Частота дискретизации сигнала была 50кГц. С этой задачей я быстро справился используя манула из интернета. Однако вскре заказчик не смог выжать из этой скорсти то что ему хотелось и он решил объявил заказ на частоту 50МГц. В связи с тем что частота изменения сигнала от 0 до 5В была не более 10 МГц то я решил что про скин-эффект не стоит заморачиваться и взялся за заказ.
Читать полностью »

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

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

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

Доброго времени суток, уважаемые читатели.

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

Временной анализ FPGA или как я осваивала Timequest
Читать полностью »