Pull to refresh

Дешевый планарный датчик положения на основе PS/2 Mouse, MatLab + MBED + PS/2 Mouse

Reading time 4 min
Views 7K
DIY
Ну что же, попытка номер два.

В данном посте я попытаюсь рассказать об одной из частей моего дипломного проекта.
Использование контроллера типа Мышь, в качестве планарного датчика положения.

В чем же плюс Мышки?


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


  • Получение координат с контроллера типа мышь в программном комплексе MatLab

Читать дальше →
Total votes 41: ↑34 and ↓7 +27
Comments 48

ARM анонсировала mbed v3.0

Reading time 1 min
Views 19K
Programming microcontrollers *
Translation
image
В начале октября, на конференции ARM TechCon 2014, компания ARM анонсировала новое поколение mbed v3.0. Разработки ведутся над новым программным обеспечением — mbed OS и mbed Device Server.

mbed Device Server будет способен обрабатывать IoT (Internet of Things) данные в облаке через стандартный REST API, аналогично веб серверу.
mbed OS будет выполнять роль полноценной операционной системы для Cortex-M микроконтроллеров, включающей в себя: С++ фреймфорк, менеджмент защиты (TLS/DTLS), менеджмент энергопотребления, подключение к беспроводным сетям (Bluetooth Smart, 2G, 3G, LTE, CDMA и Wi-Fi).

Читать дальше →
Total votes 18: ↑15 and ↓3 +12
Comments 8

Переход из online в offline IDE при программировании Nucleo-F401RE

Reading time 4 min
Views 22K
Programming microcontrollers *
Sandbox
Понравилась мне платформа Nucleo и приобрел я плату Nucleo-F401RE.

Желания углубляться во внутреннее устройство микроконтроллера не было и мое внимание привлекла библиотека mbed. В этой библиотеке заявлена поддержка данной платы.

На Хабре уже есть публикации по быстрому старту Nucleo + mbed («Быстрый старт ST Nucleo-F401 + краткое руководство», «STM32 Nucleo. Подключаем TFT LCD на базе чипа ILI9341»). Но все примеры даются для online IDE. Но такой вариант мне не очень понравился и я стал искать настольную IDE.

Попробовал Eclipse по статье с сайта mbed.org. Но так как пример написан для другого контроллера, а адаптировать инструкцию для STM у меня не получилось, то этот вариант отпал.

Тогда стал смотреть в сторону CooCox CoIDE. К сожалению, CoIDE официально не поддерживает конроллер STM32F401RE. Но пробовать, так пробовать.
Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Comments 13

НЕ Arduino за 55 центов

Reading time 3 min
Views 103K
DIY


Эксперимент с прикручиванию к дешевым микроконтроллерам ATTiny загрузчика и среды разработки Arduino был достаточно удачным. Конечно, с AVR неплохо живется и без Arduino. Но хорошо, когда есть возможность выбора. А потом я вляпался в STM32 и заковырялся в библиотеках и громоздких конструкциях инициализации портов. Спасением ARM-«чайника» стал проект ARM mbed. Лично мне он позволил просто взять и начать работать с STM32.

Но мигать светодиодом на плате Nucleo надоело очень быстро. Отложил я ее, ибо слишком много ножек и наворотов, и взялся за Maple Mini (STM32F103CBT6 с минимальной обвязкой). Тоже все довольно легко и просто — сервоприводы крутятся, датчики работают, экранчики показывают — все популярные библиотеки, знакомые ардуинщикам, в mbed имеются.

А третий заход отчасти повторял «Arduino за 1$». О нем я и расскажу подробно. Идея такая: хочу ARM за копейки. Открываю Aliexpress и нахожу STM32F030F4P6 за 55 центов за штучку при покупке пучка (10 чипов).
Читать дальше →
Total votes 49: ↑48 and ↓1 +47
Comments 26

Знакомство: BBC micro:bit и mbed OS 5

Reading time 4 min
Views 12K
C *Programming microcontrollers *Development for IOT *
Tutorial
Как отмечалось на geektimes, микрокомпьютер BBC micro:bit ещё этой весной начали рассылать британским школьникам, а пару месяцев назад он поступил в свободную продажу по цене от £13 за штуку.

Предположим, micro:bit приобретён; что с ним делать дальше? Я решил сделать из него часы, потому что мои наручные как раз сломались.


Инструкция по использованию micro:bit со старой версией mbed OS есть на сайте Ланкастерского университета; но ARM две недели назад выпустила новую версию mbed OS 5, и с этой новой версией библиотека поддержки microbit-dal «из коробки» не работает.

Насколько я понимаю, даже в самом ARM никто ещё не пытался использовать mbed OS 5 на micro:bit; мне хотелось стать первым.
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 9

Как перестать бояться и полюбить mbed [Часть 1]

Reading time 9 min
Views 24K
ЭФО corporate blog Industrial Programming *Robotics development *Programming microcontrollers *Development for IOT *
Мы занимаемся поставками электронных компонентов. Чтобы делать нашу работу хорошо, недостаточно просто уметь привозить и продавать электронные компоненты — ещё важно уметь демонстрировать их преимущества. Именно поэтому мы не только пишем обзорные статьи, но и создаем руководства по применению разных «железок» и разрабатываем небольшие демонстрационные проекты.



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

Особенный интерес представляет подход к написанию встроенного ПО — софт полностью написан в онлайн IDE от mbed. То есть программа для микроконтроллера была создана на единственной вкладке гугл-хрома и одинаково работает на отладочных платах от разных производителей.

Содержание цикла публикаций:

Первая часть под катом.
Total votes 21: ↑19 and ↓2 +17
Comments 8

Как перестать бояться и полюбить mbed [Часть 2]

Reading time 12 min
Views 13K
ЭФО corporate blog Industrial Programming *Robotics development *Programming microcontrollers *Development for IOT *
Продолжаем серию публикаций, посвященных использованию среды ARM mbed для создания прототипа измерительного устройства.

Напомню что речь идет о разработке устройства с сенсорным экраном, которое служит для высокоскоростного измерения температуры и относительной влажности. Самое интересное в этой истории — подход к созданию встроенного ПО. Для написания программы используется онлайн IDE mbed, позволяющая создавать железонезависимый код, который одинаково работает на отладочных платах от SiLabs, Atmel, Wiznet, STM32, NXP и других производителей.

Сегодня начинаем работать с выводом картинки на TFT-дисплей.



Содержание цикла публикаций:


Вторая часть под катом.
Total votes 18: ↑18 and ↓0 +18
Comments 5

Как перестать бояться и полюбить mbed [Часть 3]

Reading time 10 min
Views 7.1K
ЭФО corporate blog Industrial Programming *Robotics development *Programming microcontrollers *Development for IOT *
Продолжаем серию публикаций, посвященных использованию среды ARM mbed для создания прототипа измерительного устройства.

Сегодня подключаем датчик.



Содержание цикла публикаций:


Третья часть под катом.
Total votes 13: ↑13 and ↓0 +13
Comments 4

Как перестать бояться и полюбить mbed [Часть 4]

Reading time 9 min
Views 6.7K
ЭФО corporate blog Industrial Programming *Robotics development *Programming microcontrollers *Development for IOT *
Продолжаем серию публикаций, посвященных использованию среды ARM mbed для создания прототипа измерительного устройства. Сегодня говорим об основах работы с сенсорным вводом.



Содержание цикла публикаций:
  1. [Часть 1] Обзор использованных программных и аппаратных решений.
  2. [Часть 2] Начало работы с графическим контроллером FT800. Использование готовых mbed-библиотек для периферийных устройств.
  3. [Часть 3] Подключение датчика HYT-271. Создание и публикация в mbed собственной библиотеки для периферийных устройств.
  4. [Часть 4] Разработка приложения: Структура программы, работа с сенсорным экраном.
  5. [Часть 5] Разработка приложения: Вывод изображений на дисплей, проблемы русификации.
  6. [Часть 6] Печать деталей корпуса
Total votes 20: ↑19 and ↓1 +18
Comments 9

Как перестать бояться и полюбить mbed [Часть 5]

Reading time 13 min
Views 8.3K
ЭФО corporate blog Industrial Programming *Robotics development *Programming microcontrollers *Development for IOT *
Продолжаем серию публикаций, посвященных использованию среды ARM mbed для создания прототипа измерительного устройства.

Сегодня я наконец-то заканчиваю описание программной части — остались вопросы связанные с выводом на TFT-дисплей изображений и кириллицы. Сделаем всё красиво.



Содержание цикла публикаций:

Total votes 17: ↑16 and ↓1 +15
Comments 8

Как полюбить mbed, а потом дважды облажаться

Reading time 5 min
Views 7.5K
ЭФО corporate blog Industrial Programming *Robotics development *Programming microcontrollers *Development for IOT *
Эта статья заканчивает цикл публикаций о разработке измерительного устройства в онлайн IDE mbed от компании ARM.

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

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

Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Comments 3

MBED, или о дырявых абстракциях

Reading time 7 min
Views 11K
Electronics for beginners
Понадобилось взглянуть в сторону mbed. На первый взгляд выглядело весьма интересно – железонезависимый фреймворк, на С++, с поддержкой кучи микроконтроллеров и демо-плат, онлайн-компилятор с интеграцией в систему контроля версий. Куча примеров, еще более убеждающих в элегантности фреймворка. Прямо «из коробки» доступны практически все интерфейсы микроконтроллера при помощи соответствующих, уже реализованных классов. Вот прямо из коробки бери и программируй на С++, не заглядывая в даташит от микроконтроллера – ну не мечта ли?

Тестовой платформой стала давно лежащая без дела STM Nucleo F030, поддерживаемая этой платформой. О том, как зарегистрироваться и начать первый проект, есть много хороших туториалов, об этом не будем. Перейдем сразу к интересному.
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Comments 13

Использование mbed кода в собственном проекте на STM32 — опыт разгона китайского LCD

Reading time 6 min
Views 14K
Periphery Wearable electronics DIY
Иногда чужой код очень помогает в деле подключения к микроконтроллеру периферийного железа. К сожалению, адаптировать чужой код к своему проекту бывает сложнее, чем переписать его самому, особенно если речь идет о мега фреймворках вроде arduino или mbed. Желая подключить китайский LCD на базе ILI9341 к плате STM32L476G DISCOVERY, автор задался целью воспользоваться в демо-проекте от ST драйвером, написанным для mbed, не изменив ни строчки в его коде. В результате удалось заодно разогнать экран до невиданных скоростей обновления в 27 fps.



Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 12

Быстрый старт с ARM Mbed: разработка на современных микроконтроллерах для начинающих

Reading time 17 min
Views 70K
C++ *Programming microcontrollers *Developing for Arduino *Electronics for beginners
Привет, Хабр.

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

Спросите примерно у любого активного сторонника Arduino — и вам быстро объяснят, что можно, конечно, писать под STM32 или nRF52, но выгоды в том реальной никакой, зато вас ждут бессонные ночи над сотнями страниц даташитов и бесконечные простыни функций с длинными непонятными названиями.

Заслуги Arduino в снижении порога вхождения действительно трудно переоценить — эта платформа появилась на свет в середине нулевых годов, а после 2010 завоевала серьёзную популярность среди любителей. Особых альтернатив на тот момент ей не было — процессоры на ядрах Cortex-M только появились, по сравнению с AVR они были довольно сложны даже для профессиональных разработчиков, а отладочные платы у большинства вендоров стоили от сотни долларов и выше (и в общем в индустрии ценник за отладку на 5-долларовом контроллере в $500 никого сильно не удивлял).

Однако большая проблема Arduino в том, что её развитие за минувшие 10+ лет более всего напоминает некоторые модели АвтоВАЗа:


Так как дальше я планирую длинное вступление, то сейчас, чтобы вы представляли, в чём будет заключаться практическая часть, я приведу полный текст программы, включающий инициализацию процессора STM32 и мигание светодиодом. Программа написана для ОС ARM Mbed:

#include "mbed.h"
DigitalOut myled(LED1);

int main() {
    while(1) {
        myled = 1; // LED is ON
        wait(0.2); // 200 ms
        myled = 0; // LED is OFF
        wait(1.0); // 1 sec
    }
}

Похоже ли это на высокий входной порог? На функции с непонятными названиями? Бессонные ночи над даташитами? Нет? Ладно, давайте не будем забегать вперёд.
Читать дальше →
Total votes 114: ↑98 and ↓16 +82
Comments 472

Применение Arm Mbed OS. Тонкая настройка

Reading time 17 min
Views 17K
C++ *Industrial Programming *Programming microcontrollers *Manufacture and development of electronics *

LNDC1


После того как с помощью Arm Mbed OS удалось помигать светодиодом, настало время протестировать и настроить другие важные сервисы. Далее рассказывается:


  • Технология конфигурирование Mbed
  • Почему сложно перейти на C++ в обычных RTOS
  • Как экономить память в RTOS
  • Как организуются прерывания в Mbed OS
  • Чем удобно отлаживать Mbed OS
  • Как избавиться от лишнего слоя абстракции SDK
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 11

Собираем простейшую ZigBee-сеть, программируем под Mbed, общаемся через MQTT

Reading time 14 min
Views 22K
Samsung corporate blog IOT
Tutorial
Эта статья — большой учебный практикум начального уровня по использованию XBee-модуля в связке с микроконтроллером, имеющим на борту Mbed OS. ZigBee — давно и прочно укоренившийся стандарт в системах «Умного дома» (например, он используется наряду с Z-Wave в хабе Samsung SmartThings, см. нашу статью), он отличается низким энергопотреблением, простотой использования, и, что самое интересное, возможностью создания самоконфигурируемых mesh-сетей. Вы увидите из практикума, что это действительно так — мы посмотрим на структуру такой сети через удобную утилиту-визуализатор.

Предполагается, что вы уже знаете, что такое ZigBee и для чего он нужен. Теперь вам хочется подключить свой первый XBee-модуль и решить с его помощью свои задачи, не вдаваясь в программирование самого модуля, а лишь используя его как интерфейс связи. В конце будем все данные пересылать через самодельный MQTT-шлюз куда угодно, хоть на локальный сервер, хоть в Интернет. Мы решили показать всё на примере Mbed как самой простой и доступной новичкам RTOS. Вы убедитесь, что всё работает «из коробки», и можете сразу начать делать свой проект, даже если до этого вы имели дело только с Ардуино.


Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 10