@komandakycto
php программист

С чего начать в программировании микроконтроллеров?

Имеется 4 летний опыт разработки веб приложений. Давнее желание пощупать микроконтроллеры. Техническое образование. Готовность к относительному хардкору. Базовые знания в области C/C++ и ассемблера.
Хочется попробовать делать вещи для систем вроде умного дома. То есть автоматизация управления различными вещами, устройствами и взаимодействие с системами связи.
Не хочется собирать плату с 0 самостоятельно, искать под нее транзисторы, резисторы и т.д.

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

UPD: Заказал следующий набор Ultimate-UNO-R3-Starter-Kit-for-Arduino
  • Вопрос задан
  • 5001 просмотр
Решения вопроса 1
trampick
@trampick
Веб-разработчик
Приветствую. Сам web разработчик и как хобби играюсь с железом. Для работы с микроконтроллером как минимум необходимы какие то знания электронике и схемотехнике. Затем я советовал бы взять arduino. На него очень много уроков и схем плюс среда ide простая для понимания. По цене не соглашусь. Можно саму плату взять за рублей 500 с китая. К нему еще стартовые радиодетальки - светодиоды, резисторы, кнопки и т.д. - тоже не дорого. Все это можно собрать за 1000-1500р - в наше время это не много.
Как более сложный уровень я бы советовал взять какую-нибудь платку stm32. К ней тоже будут нужны компоненты.
За 2000 можно собрать неплохой комплект.
На этому сайте есть недорогие платки
Ответ написан
Пригласить эксперта
Ответы на вопрос 7
kashamalasha
@kashamalasha
Нужен будет следующий набор, чтобы было интересно что-то делать:
  • *duino плата (желательно Uno или Mega) - 1шт.
  • Макетная безпаечная плата (solderless breadboard) - 2шт.
  • Резисторы - по 10 шт каждого номинала от 1Ом до 22МОм по ряду Е12
  • Набор светодиодов 3мм. на 20мА - штук 5 лучше разных цветов
  • Тактовые кнопки - штуки 4-6
  • Потенциометры разных номиналов - пара штук
  • Фоторезисторы - пара штук
  • Полупроводниковые диоды - штук 10
  • Биполярные транзисторы npn 222 (для ключей) - штук 10
  • Полевые логические транзисторы для моторов и LED-лент - штуки 2
  • Блоки реле для коммутации 220В - несколько штук опционально
  • Набор конденсаторов электролитических - штук 10 разных номиналов на 12-35В
  • Регуляторы напряжения 7805 или 317 - опционально
  • Батарейка типа Крона - опционально


С этим набором можно будет что-то делать, если появится какая-то идея. Просто купить ардуино бессмысленно, надоест на следующий день.

Плюс скорее всего понадобится минимальный инструмент:
  • Паяльник 30Вт
  • Мультиметр любой
  • Пинцет
  • Узкогубцы
  • Куча обувных коробок, чтобы все это хранить


Можно все купить одним набором, например так: amperka.ru/product/matryoshka-z выложив 4 стоимости от составляющих комплекта, либо все по кускам покупать на eBay.

Ардуино хороша как старт. Можно абстрагироваться от Фреймворка Ардуино и программировать МК на C, штудируя datasheet. Но начинать бы я с этого не стал, т.к. есть шанс погрязнуть в настройке регистров, разочароваться и бросить.
Ответ написан
@dsd_corp
Привет. Все верно комментаторы говорят - начинать с Ардуино вполне резонно. И не слушайте тех, кто говорит, что Ардуино гуано потому что [и тут разные расплывчатые аргументы]. Ардуинщики в большинстве вырастают в говнокодеров не потому, что Ардуино плоха, а потому что даже не пытаются развиваться дальше. Типичная проблема низкого порога входа(как у 1С, например). То есть проблема в самих человеках, а не в Ардуине.
У вас же, судя по тексту вопроса, мотивация развиваться есть )

Для Ардуины действительно существует куча шилдов и примеров кода на своем упрощенном языке(хотя это по-прежнему C++), что для старта очень даже неплохо - при наличии желания можно разобраться в том, как все устроено еще до того, как возьмете в руки паяльник.
И никто не мешает вам, при достижении определенного уровня, перейти на программирование контроллеров с помощью других компиляторов, исключая Arduino IDE и lazy coding. При этом на первых порах по-прежнему можно использовать Arduino-загрузчик и не париться со всеми проблемами сразу.

Сразу же рекомендую кроме Ардуино купить на будущее что-нибудь типа STM32 Nucleo. У этой платы есть совместимость с Arduino-шилдами, mbed-загрузчик(заливка прошивки происходит простым копированием на виртуальную USB-флешку), а так же полноценный STLink-программатор с пинами для программирования внешних контроллеров - это значит, что в последствии вы можете собрать собственный девайс на STM32 микроконтроллере и с помощью встроенного в Nucleo SLink-программатора его запрограммировать, просто подсоединив пару проводков(SWD).

И впоследствии, если не растеряете желание расти, вполне сможете создавать уже свою электронику и при этом, к примеру если остановитесь на STM32 контроллерах, все еще использовать STLink от Nucleo для программирования своих девайсов.
Выглядеть это будет приблизительно так: 5.101.107.156/Habr/IMG_1235.JPG
Здесь две Nucleo-платы слева используются как STLink-программаторы для двух плат справа соответственно )

Ну а дальше все зависит только от вас.
Удачи )
Ответ написан
@evgeniy_lm
Разумеется Arduino.
Для начала можно купить наборчик побольше для поиграться.
Не знаю ваш уровень общего развития в этом плане по этому рекомендую книги Юный радиолюбитель Борисов В.Г. и Юный кибернетик Отряшенков Ю. М. Книги детские и старые, но теория там очень хорошо описана
Ответ написан
@vilgeforce
Раздолбай и программист
Arduino и вперед, осваивайте I2C, SPI, 1-Wire и так далее.
Ответ написан
@BMSerg
Инженер СХД
На shop.easyelectronics.ru можно приобрести отладочные платы с обвязкой, на самом easyelectronics.ru найти статьи учебных курсов по ARM и AVR и много чего еще полезного для начинающего.
Ответ написан
@jakara
Чарльз Платт электроника для начинающих скачать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
МТС Москва
от 140 000 до 250 000 ₽
Eltex Новосибирск
от 80 000 ₽
Eltex Новосибирск
от 80 000 ₽
27 окт. 2020, в 05:39
100 руб./за проект
27 окт. 2020, в 04:55
1000 руб./за проект
27 окт. 2020, в 03:49
2000 руб./за проект