@zemand

Стоит ли начинать с Ардуино, если хочешь познать мир микроконтроллеров на хорошем уровне?

Купил на алиэкспресс Starter Kit на Ардуино и с тех пор как начал играться с ним, до меня дошло что ардуиновская среда слишком все упрощает и возможно нужно было начинать с чего-то другого, если я хочу в деталях познать мир микроконтроллеров. Направьте на путь истинный юного падавана, можно ли абстрагироваться от ардуиновской среды и используя Уно, например, программировать Atmega328 на СИ с помощью VS,Atmel?
P.S. Есть большое желание и настрой выучить, но иногда по неопытности не знаешь за что браться.
Спасибо.
  • Вопрос задан
  • 7933 просмотра
Решения вопроса 1
@janikc
Отвечу немного спорными словами. Я прочитал ответы авторов. Я бы посоветовал не слушать их.
Погружение в мир микроконтроллеров (МК) очень размытая цель. Первое что нужно, это понимания нам и вам для чего это вам? В качестве карьеры? Хобби? и т.п.?
Кроме того большинство авторов бросилось советовать вам конкретные МК, что неверно.
Мир МК тесно связан с другими инженерными отраслями: конструирование, схемотехника, СВЧ, обработка информации, алгоритмы и т.п. По мимо этого нужны знания и понимания: интерфейсов, современной электронной элементной базы, операционных систем, и т.п.
Поэтому, чтобы ограничить изучение всего и вся нужно очертить ваши текущие знания(от обычных фундаментальных дисциплин(английский, алгебра) до прикладных) и ваши цели.

Это в качестве предисловия. Выбор платы для начала? Многие начитавших инетов советуют stm32.
Во-первых, на каком основании они советую именно его не ясно. Есть много других производителей с данным ядром cortex.
Во-вторых, это МК довольно сложный. Вы бросите его изучать на этапе чтения технической литературы и настройки среды. Т.к. сей час много инструментов автоматизации настройки МК, то вы даже не поймете, как и что вы настроили. Просто нажали кноки, как на ютубе и вот он мигает...
Поэтому бросьте это. Никто детей не учит алфавиту по Шекспиру.

Берите ардуино. Во-первых, на плате есть все чтобы работать. Во-вторых, много примеров. Дальше, пока вы настроите другой МК и плату на обмен с ПК вам это наскучит. А тут есть готовые шаблоны для обмена с пк информацией.
Дальше, есть много книг по avr, в частности на сайте easyelectronics курс есть шикарный. Т.е. можете брать ардуино и прогать, как avr.

Поэтому советую брать ардуино и, если не наскучит, прогать авр на нем. А дальше, когда придет опыт, вы уже с более-менее понимаем перейдете на тот кристал(МК) который вам уже понравиться и не посоветам в интернетах, которые просто с бухты барахты советую не пойми что.

PS. Сорри за ошибкив тексте. Лень править
PS/PS ничего не имею против авторов других ответов
Ответ написан
Пригласить эксперта
Ответы на вопрос 9
@lexxkrt
Конечно изучай, никого не спрашивай, особенно стмщиков
Ответ написан
Комментировать
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Берите STM32, причем любой. Это достаточно современное семейство процессоров, с хорошими возможностями, как по энергопотреблению, так и по периферии. Обучающих материалов масса, но нужно прикладывать руки. Можно даже на нем запустить какую нибудь RTOS.
Ответ написан
Комментировать
@pfg21
ex-турист
тоже ратую за стм32 - это современный, многофункциональный и перспективный проц. но функциональность оборачивается сложностью и высоким порогом входа.

по сравнению с ним аурдино - детский трехколесный велосипед. но ентот трехколесный велосипед весьма нужен для начала. главное на нем не задерживаться и идти вперед. так что начинай с аурдино и смотри в будущее.
атмега тоже древность, если задач по учебе или работе не предвидится - не ковыряй.
Ответ написан
Комментировать
@RBxx
STM32 слишком круто и дорого для каких нибудь простых устройств. Мне часто хватает pic12f675, а если не хватает, тогда pic16f886. С atmega хотел попробовать, но так и остался на pic, т.к. небыло версии avr studio под linux.
Если хочется понять глубже, открываешь датащит на контроллер, изучаешь и пишешь код.
А Ардуино считаю каким-то детским конструктором.
Ответ написан
ilyazh
@ilyazh
Инженер-программист
Начинайте с Ардуино, если есть. Ничего страшного в этом нет. Я сам когда-то с него начинал, ныне работаю инженером-разработчиком и не считаю, что опыт Ардуино был ущербным. Главное не начать строить на Ардуино серьёзное железо. У Ардуино есть большой плюс для начинающих - можно пощупать и попробовать многие вещи, чтоб понять действительно ли это вам интересно. А потом когда поймете что на этом уровне ваш интерес угасает - пойти глубже, и, например, отказавшись от среды Ардуино, программировать ту же плату "напрямую" - без библиотек и оберток, используя регистры контроллера. После этого у вас не будет сложностей с переездом на другое семейство МК, т.к. вы уже будете иметь представление что и как это устроено в общих чертах, что искать и куда копать у других МК. А далее углубляясь и улучшая навыки в смежных областях: схемотехника, физика и прочие инженерные навыки - будете развиваться.

П.с. Также Ардуино иногда может быть полезно, когда надо быстро сделать какую-то единичную экспериментальную железку или замакетировать что-либо по-быстрому.
Ответ написан
Комментировать
@evgeniy_lm
1. Arduino у вас уже есть. Не вижу причины его не изучать
2. Arduino это просто удобно упакованный МК AVR, ни кто вам не мешает писать для него программы в любой другой среде кроме Arduino IDE.
3. Упрощения Arduino это его фишка. Как правило большинство проектов не требуют огромного быстродействия, но реализовать алгоритм работы в Arduino IDE существенно проще чем в Atmel Studio и пр.
4. STM32 штука замечательная, но ни кто из фанатов не может вразумительно ответить почему все уважаемые производители плат на STM32 обязательно делают порт для Arduino IDE, а многие даже повторяют формфактор плат Arduino.
5. Для Arduino библиотек работы с различной периферией и прочих ресурсов несоизмеримо больше чем для STM32.
6. Конечно в бочке меда Arduino IDE есть большая ложка дегтя - отсутствие аппаратной отладки. Лично меня это бесит.

Единственное мне не понятно какую конкретную цель вы преследуете. Возможно я мог бы посоветовать что нибудь более конкретное
Ответ написан
riky
@riky
Laravel
вы правильно поняли ардуино для тех кому надо быстрый результат без погружения вдебри.
поддержу вариант stm32 - дешевая мощная и современная замена, с очень богатым функционалом.
ардуино тоже можно использовать и на низком уровне, но он к тому же и морально устарел.
Ответ написан
@frozendog
Ниразу не эксперт, но начал с esp8266. плата wemos d1 mini. Сразу есть миниюсб и возможность подключить некоторые датчики без пайки. Больше возьни было с ide atom и паяльником. Сделал пару датчиков и захотелось большего и заказал чистые esp8266 12f ну и обвесы к ним. Пока они идут я уже начитался про esp32/RTL/stm. Хочется какой-нить арм. Т.е. если для себя то лучше начать с платы d1 mini(или подобного) а потом уходить в армы. Стандартные шилды лучше не использовать чтобы разобраться с пинами на датчиках и научиться их использовать на любых устройствах. Все имхо.
Ответ написан
Комментировать
@Zig145
Если изучать, то stm32! Стоимость плат подчас даже дешевле, а аппаратных возможностей больше. В отличие от ардуино на stm32 реально можно отлаживать код. Куций 10 битный АЦП ардуинки, или 12 битный у stm32, подключение внешних RTC к ардуине, или использование аппаратных в stm32, наличие аппаратного usb, встроенные подтягивающие и стягивающие резисторы, возможность работы с пониженным напряжением. у stm32 плюсов очень много, ардуино не плоха была в своё время но она устарела. Современные модули всё реже делают на 5v. Не верьте на слово, сравните микроконтроллеры одной ценовой категории, вы всё поймёте сами. В плане программирования, ардуино IDE это отдельный пиздец, у stm32 есть более взрослая stm32cubeide.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы