Метка «микроконтроллеры» - 4

ARM ы для самых маленьких: который час?

Сегодня мы разберемся с двумя важными вопросами: как писать более эффективный код с CMSIS и как правильно рассчитывать скорость работы процессора. Начнем мы со второй части и изучим процессы, которые происходят в LPC1114 для генерации тактовой частоты.

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

ARM ы для самых маленьких

Пару дней назад я опубликовал и потом внезапно убрал в черновики статью о плане написать про создание своей ОС для архитектуры ARM. Я сделал это, потому что получил много интересных отзывов как на Хабре, так и в G+.

Сегодня я попробую подойти к вопросу с другой стороны, я буду рассказывать о том, как программировать микроконтроллеры ARM на нарастающих по сложности примерах, пока мы не напишем свою ОС или пока мне не надоест. А может, мы перепрыгнем на ковыряние в Contiki, TinyOS, ChibiOS или FreeRTOS, кто знает, их там столько много разных и интересных (а у TinyOS еще и свой язык программирования!).

Итак, почему ARM? Возиться с 8-битными микроконтроллерами хотя и интересно, но скоро надоедает. Кроме того, средства разработки под ARM обкатаны долгим опытом и намного приятнее в работе. При этом, начать мигать светодиодами на каком-то «evaluation board» так же просто, как и на Arduino.

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

Давайте сделаем еще одну ОС!

На хабре время от времени появляются и, что печально, пропадают темы, посвященные созданию своих ОС. На самом деле написать ОС с нуля и описать весь процесс – далеко не самая легкая задача, особено если начать со своего загрузчика.

Но что если мы возьмем архитектуру, где не нужен загрузчик, и при некотором умении вообще не придется ни одной строчки писать на ассемблере?

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

Светомузыкальный подарок любимой своими руками

Речь пойдет об устройстве очень простом в изготовлении (даже для начинающего электронщика-любителя), но при этом крайне интересном и полезном — электронной «музыкальной шкатулке». Также, в качестве примера, я покажу и расскажу об одном из возможных воплощений и применений этого девайса — про последний сделанный на его основе подарок своей девушке.
Читать полностью »

Дробление непрерывного потока данных на структурные единицы

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

Такие задачи возникают, к примеру, при передаче телеметрии и для управления удаленным оборудованием. С одной стороны обычно стоит простейший микроконтроллер, с другой стороны стоит компьютер. Связь между ними может осуществляться по старому, доброму RS232. Хотя бывает и сложнее, например, выход микроконтроллера UART преобразуется в 802.11b, затем идет распространение радиосигнала до радиомачты и в сервер приходит Ethernet.

Если интересен мой велосипед на эту тему, добро пожаловать под кат.
Читать полностью »

Автоматизированные системы управления робототехническими средствами предполагают наличие оператора и, соответственно, интерфейса пользователя. В данной статье отражен результат разработки интерфейса пользователя мобильного робота. Приложение разрабатывалось в платформе Microsoft robotics developer studio 4 c использованием скриптового языка SPL. В идею создания приложения легли подходы, описанные в учебнике «Основы робототехники» Е. И. Юревича. Тестирование приложения проводилось в симуляторе VSE и на реальных моделях мобильных роботов (Mindstorms NXT 2.0 и Parallax Basic Stamp 2).
Читать полностью »

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

image
Простой проект с описанием изготовления 4WD машинки с управлением от Android-устройства через Bluetooth канал. Управление машинкой происходит при помощи акселерометра, путем наклона планшета/смартфона. Видео работы смотрите в конце статьи. Все исходные тексты прилагаются.

Инструментарии разработки: Java/Eclipse для Android и .NET Micro Framework/Visual C# Express для микроконтроллера.

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

Понадобилось нам однажды измерять температуру и влажность в одном помещении, несложная задача, стоит обратиться в гугл и там до кучи примеров на ардуино как это сделать, скетчи, схемы и пояснения. Простые задачи подобного рода возникают достаточно часто и каждый раз модифицировать код для контроллера не хотелось. Мы подумали, а что если написать что-то типа интерпретатора для микроконтроллера(МК), который бы принимал команды и выполнял их. Таким образом отпадает необходимость писать софт каждый раз для МК, это занятие требует времени зачастую больше, чем под ПК из-за того, что объем памяти МК ограничен и не попользуешься развитыми средствами типа regex и прочего. Интерпретатор должен быть расширяемый, то есть добавление новой команды, не должно быть зубодробительной операцией. Также в будущем он должен быть легко переносим на ARM Cortex-M3 архитектуру и способен работать через различные интерфейсы связи будь то RS485, Ethernet, ZigBee.

На основании этих требований было решено разработать такое устройство и + библиотеки для работы с ним под несколько языков (сейчас Python и GCC C/C++) и ОС ( Win и Linux) чтобы не париться больше с написанием каждый раз софта для контроллера, который делает рутину — собирает данные или что-то включает или выключает.

Контроллер MeteoBoard
Рис. 1. Контроллер MeteoBoard
Читать полностью »

Сетевое кольцо на микроконтроллерах
Здравствуй, уважаемое читатели!
Не так давно пришлось столкнуться с топологией сети в виде “избыточного кольца (redundant ring)”, о принципах работы которого и хотелось бы поговорить.
Дабы избежать недоразумений, сразу скажу, что в кольцо соединены только устройства на микроконтроллерах — на линии нет никаких коммутаторов и прочего такого. Только микроконтроллеры с физическим уровнем Ethernet в виде трёхпортового аппаратного свитча Micrel (о нём — далее). Ну и поскольку использовался Ethernet, то позволю себе вольность дальше употреблять выражение “сетевое кольцо”.

Изначально пост планировался в виде перевода способов организации кольца из вот этого документа с шутками и прибаутками комментариями и дополнениями. В процессе разработки предложенные варианты были опробованы, но они не устроили по некоторым причинам. Вследствие чего родилась эта статья. Я надеюсь, что описанные здесь способы организации работы сетевого кольца могут пригодиться не только мне.
Кому интересно — добро пожаловать под кат.
Под катом много букв и трафика
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js