Недорогая STM32 плата + Arduino IDE

Моё новое видео про дешёвую альтернативу Arduino платам.

Данная отладочная плата, основана на базе микроконтроллера STM32F103C8T6.

Недорогая STM32 плата + Arduino IDE Arduino, Mrподелкинц, Плата, Stm32, Электроника, Программирование, Устройство, Видео, Длиннопост

Сравним основные параметры STM32 платы, и её аналога по цене — Arduino Nano V3.0:


Рабочая частота 72 МГц, против 16 у ардуино;

Объем Flash памяти 64 Кбайта, против 32;

Оперативной памяти, она же RAM(где хранятся переменные), у STM32 целых 20 Кбайт, у ардуинки всего лишь 2;

Быстрый 12-ти битный АЦП, в то время как у Arduino плат, что на базе AVR микроконтроллеров(это как правило большинство) используется 10-ти битный. Это означает, что в случае STM32, функция analogRead(*); будет возвращать 0..4095 против 0..1023, что в первом случае ведёт к более точным измерениям;

16-ти битный аппаратный ШИМ, против 8-ми у Arduino плат, то есть, функция analogWrite(*);pwmWrite(*); может принимать значение 0..65535, против убогих 0..255. Это позволит ещё точнее управлять нашими двигателями, сервами и прочими девайсами, которые рулятся при помощи ШИМ;

Аппаратная работа с USB, чем не может похвастаться не одна Arduino плата стоимостью менее 2 долларов;

Напряжение питания — от 2 до 3.6В(прямо таки заточено под 2 AA батарейки), против 2.7...5В у ардуино плат;

Цены на момент публикации — 1.9 доллара против 1.8(алиэкспресс).

Недорогая STM32 плата + Arduino IDE Arduino, Mrподелкинц, Плата, Stm32, Электроника, Программирование, Устройство, Видео, Длиннопост

По размерам, STM32 чучуть больше Arduino Nano. На небольшом бредборде смотрится вот так:

Недорогая STM32 плата + Arduino IDE Arduino, Mrподелкинц, Плата, Stm32, Электроника, Программирование, Устройство, Видео, Длиннопост

Очевидно, что отладочная плата на базе STM32 выигрывает по всём параметрам у Arduino Nano, исключением является разве что стоимость, но согласитесь 10 центов — хорошая цена за большую производительность, а про периферию, которой нафарширован STM32, так я вообще молчу, чего только стоят DMA или интегрированные в микроконтроллер часы реального времени.


Но предупреждаю, пока что оно всё сыровато, есть баги, далеко не все примеры компилируются. Со временем думаю исправят.

Недорогая STM32 плата + Arduino IDE Arduino, Mrподелкинц, Плата, Stm32, Электроника, Программирование, Устройство, Видео, Длиннопост

Архив к ролику:

https://drive.google.com/file/d/0B3jRYZMczSQsS0w4SG1GRm1IdTA...

Arduino & Pi

1.4K постов20.6K подписчика

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

Вы смотрите срез комментариев. Показать все
4
Автор поста оценил этот комментарий

где же вы раньше то были )))

уже заказал 10 нанок на поделки =_=

раскрыть ветку (26)
6
DELETED
Автор поста оценил этот комментарий

Для многих поделок и нано - оверкилл)

раскрыть ветку (12)
1
Автор поста оценил этот комментарий

на моменте отладки, наткнулся на нехватку оперативы, sepial.print почему-то хранится в ней



а у вас есть дверной звонок с мп3 и датчиком движения? :)))

Иллюстрация к комментарию
Автор поста оценил этот комментарий

на моменте отладки, наткнулся на нехватку оперативы, sepial.print почему-то хранится в ней



а у вас есть дверной звонок с мп3 и датчиком движения? :)))

Иллюстрация к комментарию
раскрыть ветку (10)
Автор поста оценил этот комментарий

@fasco Ну, в STM32F103C8T6 оперативы целых 20 кб.

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

.. плюс к STM32 можно подцепить еще и внешнюю память, не уверен правда, что это касается конкретно этих недорогих плат, но количество памяти сильно нивелируется адресацией. Адрес 32 бита - вдвое больше 16битного у AVR. А поскольку это касается практически всего, что связано с памятью - от векторов прерываний, до любого пойнтера - то 20 кб выглядят не столь уж и роскошно. Но все-таки получше, чем у AVR.

А вот flash, хотя его формально больше аж в два раза на практике можно рассматривать как меньший объем. Инструкции AVR - одно и двухбайтные, максимум - три байта. У STM - до 6 байт, причем четырехбайтных инструкций довольно много.

Ну и наверное самое главное - STM32 это охрененно, но в среде ардуино, боюсь, большая часть ее великолепия исчезает.

Боюсь, некоторые самые вкусные плюшки STM32 становятся доступны только из профессиональной среды с совершенно другим подходом и порогом вхождения.

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

@Umgah ну а вдруг кто-то попробует и захочет шагнуть дальше ардуино иде? Это же лучше чем ссылатся на мануалы с колличеством *00 страниц, типа вот, изучайте.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Согласен. С этой точки зрения ардуино отличный старт. Тем более, что именно старт на STM32 крайне (КРАЙНЕ) нетривиален. У меня ушел полный рабочий день, чтобы сделать банальный blink. Дальше все идет проще, но старт STM32 на С оказался очень непрост, даже для разработчика с опытом.

DELETED
Автор поста оценил этот комментарий

Так надо отладить на крупном мк, а потом залить уже куда надо. Либо отладка светодиодами и кодом на них, достаточно одной ноги мк.

раскрыть ветку (5)
Автор поста оценил этот комментарий

самого факта захода в условие мне недостаточно, да и кода с костылями уже на 1000+ строк на 12кб

раскрыть ветку (4)
3
DELETED
Автор поста оценил этот комментарий
И это все один звонок?) сурово)


Кстати, как PIR-сенсор работает? Я тут игрался с ними, как-то нелогично для меня работа его, несмотря на гугл и прочее. Думал его поставить на подступенок и лестницы и засекать приближение человека, чтобы зажечь подсветку лестницы. Но теперь задумался в сторону ультразвуковых датчиков.

А вообще - если 1000 строк занимают 12 кб - что-то где-то не оптимизировано) почти уверен, что в 85 Тиньку реально упихать.
раскрыть ветку (3)
Автор поста оценил этот комментарий

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

настраиваются прямо на плеере кнопками, без программирования, с голосовым меню :)

https://www.youtube.com/watch?v=e-myavdP-p0


сам пир дает 1 на выходе если регистрирует движение, если по его устройству, то читал что сенсор разделен на 2 половины между которыми сравнивается наличие ик диапазона, если разница велика значит что-то теплое появилось в области действия, у меня вроде нормально реагирует, только после самого запуска его глючит немного, но через минуту где-то все ок

раскрыть ветку (2)
1
DELETED
Автор поста оценил этот комментарий
Не, я про то, сразу ли срабатывает пир, не даёт ли ложных сигналов и вообще про точную настройку его - у меня пока нет реальных условий, а на столе он работает... Странно он работает.
раскрыть ветку (1)
Автор поста оценил этот комментарий

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


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


колесиками на нем регулируется дальность(чувствительность) и время как долго он дает 1 (подписано на плате time), настроить вроде можно на достаточно долго

Автор поста оценил этот комментарий

@fasco раньше я переваривал информацию, потом озвучивал ролик, монтировал, писал статью... В общей сложности на всё пошло больше недели, если просуммировать все жопочасы.

Попробуйте для начала одну плату взять, тут много чего недоделано, кое-что так вообще не работает.

раскрыть ветку (12)
1
Автор поста оценил этот комментарий

Не знаю насколько верно, но решил погуглить по данной плате: многие пишут на форумах что несмотря на то, что у нее больше оперативы, съедается она быстрей. И без нужды на нее не ставят такие загрузчики.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Скорее всего верно пишут. Если Вы не работаете с памятью напрямую из С, не определяете размер каждой переменной и не контролируете lst выхода из компилятора на предмет оптимизации - на выходе у Вас будет черти что и сбоку бантик, тем более, что качество очень большого количества библиотек arduino на откровенно посредственном уровне, с точки зрения оптимизации. Не всех, конечно есть библиотеки, из которых я и сам куски кода, процедуры и функции ворую. Но их относительно немного.

Автор поста оценил этот комментарий

я уже собрал рабочую пару прототипов и заказал нанок на следующие, так что уже поздно :)

еще пару лет назад стмки разве что здоровые платы были по несколько килорублей, а уже вышли в ценовую группы ардуинок, подождем еще немного, когда они станут еще лучше :)

раскрыть ветку (9)
Автор поста оценил этот комментарий

@fasco а там и ещё что-то новое появится, например как ESP32 ;)

раскрыть ветку (8)
Автор поста оценил этот комментарий

инфа по прошивке есп уже давно вроде есть, около года точно, но я пока не знаю зачем мне wifi, если только для настройки устройств с телефона где-нибудь в полевых условиях

хотя вот если сделать управление кондиционером... :)

раскрыть ветку (7)
Автор поста оценил этот комментарий

@fasco Нееет, ESP32 уже будет не только вай фай устройство.

раскрыть ветку (6)
Автор поста оценил этот комментарий

все, понял, я подумал вы про esp8266

тогда ждем 32 и посмотрим что там такого :)

раскрыть ветку (5)
4
Автор поста оценил этот комментарий
Новый чип есп32 будет иметь на борту 2 ядра со скоростью 160 мгц, 400кб sram, can шину, 2 i2c, все пины с аппаратным шим и количество оных аж 33 штуки. + встроенный синезуб.
2
Автор поста оценил этот комментарий

ESP8266 тоже не только WiFi. Там 160Mhz проц и от 512Кб флэш-памяти ставят. Еще мощнее сабжа. При том также можно через Arduino IDE программировать: http://pikabu.ru/story/esp8266__nedorogaya_alternativa_ardui...

раскрыть ветку (3)
Автор поста оценил этот комментарий

@nstorm Может и мощнее, но на до ещё учитывать что работа с Wi-Fi забирает немало ресурсов.

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

Wi-Fi никто не заставляет использовать. ) Да и не так уж много оно жрет. Вон что можно сделать в одной прошивке: http://wifi-iot.com/

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