Во многих проектах на ардуино предлагается сделать то же самое, что продается в магазинах, но с гораздо большими трудовыми и материальными затратами. Сегодняшний проект не такой, смарт-машинки продаются в магазинах, но стоят в среднем раз в 5 дороже, чем RC-машинки. Поэтому я решил поделиться, как можно переделать практически любую RC-машинку в модную нынче машинку с приставкой «смарт» при помощи ардуино. Вот демо видео того, что получилось в итоге:
Читать полностью »
Рубрика «программирование микроконтроллеров» - 98
Переделка RC-машинки в смарт-машинку при помощи ардуино
2016-01-27 в 7:37, admin, рубрики: android, arduino, программирование микроконтроллеров, проргаммирование микрокрнтроллеров, Разработка для интернета вещей, разработка мобильных приложений, Разработка под android, Разработка робототехники, метки: проргаммирование микрокрнтроллеровSTM32F4: GNU AS: Прерывания, Системный таймер (SysTick) (Часть 6)
2016-01-25 в 10:00, admin, рубрики: asm, GNU AS, STM32F4, systick, программирование микроконтроллеровSTM32F4: GNU AS: Мигаем светодиодом (Оживление) (Часть 2)
STM32F4: GNU AS: Мигаем светодиодом (Версия для STM32F4 Discovery, Оптимизация) (Часть 3)
STM32F4: GNU AS: Настраиваем среду компиляции (Часть 4)
STM32F4: GNU AS: Настройка тактирования микроконтроллера (Часть 5)
В первых публикациях — мы тактировали микроконтроллер от внутреннего тактового генератора (HSI)… ну если быть совсем точным, то мы вообще не настраивали тактирование микроконтроллера, и пользовались тем состоянием которое было у микроконтроллера при старте (включении питания, сбросе). Для первых программ это вполне допустимо, но для будущих проектов этого не достаточно, поэтому в пятой части публикации я предложил модуль настройки тактирования микроконтроллера (sysclk) на его «родную» (определенную производителем) частоту в 168 МГц.
Теперь организуем задержку на заданное количество миллисекунд при помощи системного таймера (SYSTICK).
Читать полностью »
STM32F4: GNU AS: Настройка тактирования микроконтроллера (Часть 5)
2016-01-22 в 7:50, admin, рубрики: asm, GNU AS, reset & clock, STM32F4, программирование микроконтроллеров Все что нам нужно знать для написания программ на языке ассемблера для stm32f4 я уже написал, ссылки на прошлые публикации:
STM32F4: GNU AS: Программирование на ассемблере (Часть 1)
STM32F4: GNU AS: Мигаем светодиодом (Оживление) (Часть 2)
STM32F4: GNU AS: Мигаем светодиодом (Версия для STM32F4 Discovery, Оптимизация) (Часть 3)
STM32F4: GNU AS: Настраиваем среду компиляции (Часть 4)
Если вы читали публикации не как увлекательное чтиво, а разбираясь в прочитанном (и находя ошибки! спасибо тем кто мне о них написал!), то к вам уже пришло понимание того, что программирование на ассемблере это не какой-то архисложный и запутанный, а простой, понятный и эффективный процесс. Теперь нужно наработать библиотеку модулей, которые бы помогали использовать ту или иную функциональность периферии микроконтроллера, и плюс ко всему упростить настройку этой периферии.
Для начала, запустим микроконтроллер на его штатной частоте: 168 мгц, от внешнего кварцевого генератора, с использованием PLL.
Читать полностью »
Реверс-инжиниринг протокола датчика метеостанции TFA Spring
2016-01-22 в 6:39, admin, рубрики: stm32, TFA, метеостанция, программирование микроконтроллеров, реверс-инжинирингНе так давно TFA выпустила довольно симпатичную метеостанцию TFA Spring с сенсором температуры-влажности 30.3206.02. При желании использовать сенсор в собственных разработках, например, в самодельных часах/метеостанции, может помочь эта статья.
Делаем iBeacon и Eddystone Beacon «на коленке»
2016-01-20 в 11:08, admin, рубрики: atmel, BLE, bluetooth low energy, btlc1000, cortex-m0, Eddystone, ibeacon, saml21, Блог компании Rainbow, программирование микроконтроллеров, Разработка для интернета вещей
iBeacon и Eddystone — это сервисы Apple и Google соответственно, использующие BLE (Bluetooth Low Energy) для локального позиционирования внутри помещений. Базовый принцип у обоих сервисов одинаков, отличается лишь формат передаваемых данных. Маяк (передатчик) периодически, с интервалом от долей секунды до нескольких секунд, передаёт пакеты стандарта Bluetooth LE, которые содержат помимо заголовка дополнительную информацию. Технология не предназначена для точного определения положения в помещении, а лишь для фиксирования момента приближения на некоторое близкое расстояние к маяку.
Классический пример использования маяков — музеи. Приходя в музей, вы устанавливаете на смартфон специальное приложение и отправляетесь осматривать экспозицию. Приближаясь к экспонату (маяку) на некоторое расстояние, смартфон это фиксирует и выводит на экран экскурсионную информацию.
В продаже можно найти немало готовых маяков, но сегодня мы соберем прототип собственного маяка (как iBeacon, так и Eddystone) на микроконтроллере SAML21 и BLE модуле BTLC1000 от Atmel.Читать полностью »
«Цифровая лаборатория» Мастер Кит
2016-01-19 в 8:03, admin, рубрики: arduino, diy или сделай сам, Блог компании Мастер Кит, мастер кит, программирование микроконтроллеров, Электроника для начинающихКомпания Мастер Кит выпустила третий набор в линейке «Азбука электронщика». Этот набор называется NR05 — «Цифровая лаборатория» и посвящен изучению программируемых микроконтроллеров.
В современной технике и электронике микроконтроллеры используются очень широко: в вашей кофеварке или микроволновке, мигающей разноцветными светодиодами и отсчитывающей время приготовления, с большой вероятностью применен тот или иной микроконтроллер. Не без помощи микроконтроллеров оживают детские игрушки, летают квадрокоптеры и сверхзвуковые истребители, собираются и эксплуатируются автомобили и т.п. Поэтому изучение принципов работы, возможностей и способов применения микроконтроллеров является совершенно необходимой составляющей обучения каждого электронщика, как любителя, так и профессионала.
Читать полностью »
Измерение веса руды по току статора. Практика. Часть 1. Алгоритм обработки сигналов в МК
2016-01-19 в 5:25, admin, рубрики: алгоритм измерения веса руды на МК, Алгоритмы, Анализ и проектирование систем, измерение веса на МК, Измерение веса руды по току статора, программирование микроконтроллеров, разработка, метки: алгоритм измерения веса руды на МК, измерение веса на МК, Измерение веса руды по току статораВ прошлой статье мы рассмотрели теоретически основы измерения веса руды в сосуде ШПУ по измерению силы, развиваемым двигателем при подъеме. Схемотехнически подготовили сигналы тока и напряжения статора двигателя для обработки их в МК. В этой статье мы рассмотрим программную реализацию вычисления массы поднимаемого груза на МК. Для того что бы приступить к написанию программы для МК, необходимо разобраться, как правильно нужно данные сигналы в МК обрабатывать. Итак приступим.
Сигналы тока и напряжения представляют собой синусоидальный сигнал, в основе своей содержащий основную частоту питающей сети (для наших реалий 50 Гц). Про гармоники и прочие составляющие в сетевом напряжении говорить не будем, они есть и оказывают влияние на качество сети и динамические свойства электродвигателей. На любом производстве с ними борются по мере сил, так что их влияние, пусть и не ничтожно, но все-таки мало. Останавливаться на этом не станем.
Читать полностью »
STM32F4: GNU AS: Настраиваем среду компиляции (Часть 4)
2016-01-18 в 10:35, admin, рубрики: asm, GNU AS, STM32F4, программирование микроконтроллеровВ прошлых публикациях я показал от чего можно оттолкнуться при написании программ для STM32F4, настроили среду компиляции, определили файл компоновщика, получили шаблонный файл программы на языке ассемблера, попробовали настроить GPIO микроконтроллера и помигать светодиодом.
Ссылки на прошлые публикации:
STM32F4: GNU AS: Программирование на ассемблере (Часть 1)
STM32F4: GNU AS: Мигаем светодиодом (Оживление) (Часть 2)
STM32F4: GNU AS: Мигаем светодиодом (Версия для STM32F4 Discovery, Оптимизация) (Часть 3)
Теперь пришло время разобраться в компиляции программ состоящих из нескольких файлов, разобрать способ написания программ для нескольких отладочных плат, научиться выносить настройки программы для удобного их изменения
Читать полностью »
Динамическое управление прерываниями в ARM
2016-01-18 в 10:11, admin, рубрики: C, прерывания, программирование микроконтроллеровСегодня я расскажу, как можно динамически подменять обработчики прерываний в процессорах ARM на примере микроконтроллеров STM32. Описанный мною способ работает в процессорах ARM Cortex M3 и выше.
Когда и где это может понадобиться? Во-первых, подменять обработчики прерываний можно если перед вами стоит задача написания программы, совместимой с разными аппаратными платформами. В процессорах ARM есть несколько прерываний ядра, которые обязательны для любой реализации архитектуры. Но оставшиеся прерывания предназначены для периферии, и производители процессоров вольны устанавливать эти векторы для любых периферийных устройств, имеющихся в процессоре. Это требует динамически подставлять нужные обработчики прерываний для каждой реализации архитектуры. Во-вторых, если к вашему продукту предъявляются повышенные требования к скорости реакции на внешние события, иногда выбор нужного действия внутри обработчика прерывания оказывается неэффективным, и будет выгоднее изменять вектор прерывания динамически.
Читать полностью »
STM32F4 USB RNDIS драйвер (управление устройством через Web-интерфейс)
2016-01-16 в 14:33, admin, рубрики: C, dhcp, DNS, ethernet, lwip, rndis, STM32F4, STM32F4Discovery, usb, встраиваемые системы, гаджеты и девайсы, интерфейс, интерфейсы, клиент-сервер, контроллер, программирование микроконтроллеров, разработка, Сетевые технологии, стандарты, метки: rndis Доброе время суток, дорогие друзья!
Первым делом хотелось бы с лучшими пожеланиями поздравить всех с минувшими новогодними праздниками!
Ранее в статье была анонсирована разработка RNDIS USB драйвера для контроллеров серии STM32F4. С тех пор библиотека постепенно развивалась и нынче доросла до первой release-версии. Библиотека под названием LRNDIS (LWIP + RNDIS) позволяет нам создавать на базе контроллера STM32F4 как устройства класса USB «модем», так и любые другие устройства с управлением через web-интерфейс. Пример управления платой stm32f4-discovery из web-браузера на Android-планшете представлен на видео:
На странице видеоролика представлена ссылка на исходные коды и HEX-файл прошивки для платы discovery, с которым вы сможете повторить данный эксперимент. В статье рассказано о том, как и когда технология доступа через WEB-интерфейс полезна, а также — как работает библиотека LRNDIS для контроллеров STM32F4. Также присутствует обучающий материал о работе USB и устройстве Ethernet-сетей.
Читать полностью »