Pull to refresh

Comments 75

Вот именно, что под любую задачу есть свой контроллер инструмент.
В «быту», разумеется, ардуина — идеальный вариант.
Для прототипирования — хороший.
Для серийного производства — нет.
Делать серийные штуки на Ардуине это как писать коммерческий софт на Паскале. И это не наброс, просто эти инструменты были специально разработаны для обучения основам.
Половина бытовых 3D принтеров построено на Arduino. Я как человек занимающийся помимо разработки еще продажей и обслуживанием, ответственно заявляю, что с электроникой практически нет никаких проблем.
Именно Arduino? не просто ATmega а упакованная в плату Ардуино с торговой маркой и прошивкой, разработанной с соответствующими библиотеками?
Да, конкретно arduino Mega2560. Там даже прошивки заливаются через родную IDE.
А при чем тут Паскаль?
На дельфях вполне себе коммерческий софт создают. Вы будете удивлены, но коммерческий софт можно писать даже на языке 1С: Предприятия, который у «тру-программеров» вызывает еще больше ненависти, чем Паскаль.
Ардуину (в смысле железяки) не надо пихать в серийные устройства прежде всего из-за коммерческой нецелесообразности, все остальное, это уже производные от бизнеса. Только бизнес, ничего личного.
Согласен, делать промышленные устройства сегодня легче, чем расставлять запятые. И это прекрасно.
Это у вас так после предыдущей статьи про ардуино пригорело? Да ладно вам, она была вполне безобидна.
Люди ограничены в своем кругозоре, дальше и чуть больше изучить или по гуглить, это целая проблема. Одно и тоже пережевывают по 100 раз.
Другие, юные программисты смотрят и у них отпадает желания, так как первое мнение это тормознутость платформы.
я готовил целую видео постановку(миниатюру)… но меня опередили косячной заезженной темой :)))
В каких обучающих статьях об ардуине (именно их будут читать «юные программисты» для ознакомления с платформой) есть что-то о ее тормознутости?
Какая обучающая статья будет портить мнение об обучающем материале? ) Но ютубы и соц сети которые мелькают перед глазами у них, создают им ложное впечатление.
Вы преувеличиваете. Я конечно не могу гордится тем что начинал свое знакомство с МК, лазая по соцсетям, но на упоминания о тормознутости стандартных функций для работы с GPIO в ардуине натыкался всего пару раз. И там приводились цифры и осциллограммы, и даже более того — выводы о том, в каких случаях это будет важно, а в каких — нет.
Я с этим не спорю и понимаю… но все кто кричит Учите С++!!! «Ардуино позор!!!» они не видят что уже все решено с тормознутостю другими библиотеками. И на сегодняшний день пытаются поднять эту тему и опять опустить ардуино. )
Да, следующий пункт. Про с++.
У ардуины нет никакого своего языка. Все что там есть это просто библиотеки. То есть незнание С++ одинаково плохо в обоих случаях.
UFO just landed and posted this here
У меня тоже сложилось такое впечатление.
Для того, чтобы писать под что-то, не обязательно «пол-жизни изучать архитектуру процессора, команды, и регистры», порог входа намного меньше. И никто не будет изучать архитектуру процессора intel, чтобы сделать устройство на нем. В 99% случаев, если берется x86-совместимый процессор, это означает, что разработка ведется для какой-то операционной системы.
UFO just landed and posted this here
У человека просто пригорело, не стоит это воспринимать серьезно.
Да, можно сказать что у меня Бомбит
UFO just landed and posted this here
Склоняюсь перед Вашим познанием в орфографии :)
Проблема не в Ардуине. Проблема не в скорости работы, проблема не в «юных программистах»

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

И в итоге приходится обматывать провода фольгой и ставить железные пластины для борьбы с помехами, как тут Arduino управляет промышленным грузовым лифтом
или подключать выход тахометра, на котором импульсы размахом 12В приводятся к 5В входу Ардуины с помощью стабилизатора 7805, как тут Динамическая подсветка приборной панели

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

А беда конкретно Ардуины в том, что она, как в свое время и персональные компьютеры, резко снизили порог вхождения в экосистему, и туда ломанулись «домохозяйки», которым лень разбираться в нюансах, а надо что бы кнопку нажал / проводок прикрутил / написал digitalWrite — и все заработало так, как хочется.
Тут я не спорю, уникалов хватает, все нужно тестировать не однократно перед использованием в реальных условиях.
Ну а будущее я вижу, как и раньше думали, Basic для домохозяек — стиралку запрограммировать и т.д. В ардуино есть все шансы получить внедрение во все бытовые приборы — по типа arduino- совместимые. Да в этом есть много минусов — но это если воспринимать с критикой.
У Ардуины нет никаких шансов на внедрение в бытовые приборы. Домохозяйкам не надо программировать стиралки, им надо нажать кнопку «Стирать» и всё. Так же, как и разработчикам бытовых приборов, нет никакого смысла ограничивать себя костылями схемотехники и среды разработки Ардуины, при всем богатстве выбора микроконтроллеров.

Ардуина уже заняла свою нишу — быстрое и/или ленивое прототипирование, либо универсальный конструктор для начинающих с очень низким порогом вхождения.
Возможно вы и правы, но то было только моё мнение. Так как разнообразность оборудование и контроллеров в бытовой технике на столько обширное, что большинство не поддается ремонту из-за недоступности компонентов. Хотелось что бы все было совместимое, заливая только нужную прогу. Что то по типу универсально micro USB на всех устройствах.
Вы собираетесь ремонтировать сломанную стиралку, заливая в нее прошивку от работающей микроволновки по «универсальному micro USB»?

Из всей моей бытовухи, за все время эксплуатации, требовало ремонта:
1. Кондей и холодильник, отремонтированы заменой предохранителя и варистора.
2. Стиралка, отремонтирована по гарантии заменой всей платы и статора двигателя (это была самая первая серия LG Direct Drive)
3. Стиралка, заклинило крыльчатку на сливном насосе.

Как вы эти проблемы решите «совместимой универсальной с micro USB» Ардуиной? Какие компоненты недоступны? Предохранитель? Варистор?
Недавно столкнулся с наболевшей темой для многих обладателей техники «Горенье». Сервис центр не ремонтирует свои контроллеры(а купить их и прошить нет возможности). Любым способом снимают с гарантии и за плату просят около 100$.
Мне попался такой заказ на ремонт, единственный выход был, это установка Arduino pro mini в место штатного контроллера.
Обошлось все в 20$. Внешне управление не изменилось от заводского.
Я о таких случаях и их не мало.
Если в управляющей плате сгорела некая деталь, то никакая прошивка не поможет.
Установка arduino — это уже полноценный ремонт. Если бы его выполнял мастер из фирмы, 20$ скорее всего бы не хватило (даже если бы речь шла просто про замену сгоревших компонентов).

И неужели вы думаете, что производители бытовой техники просто так будут выкладывать прошивки в интернет? В лучшем случае, прошивки будут выкладываться как сейчас — некий набор данных для закрытого бутлоадера.
на котором импульсы размахом 12В приводятся к 5В входу Ардуины с помощью стабилизатора 7805

Там же делитель.

UPD: пардон, действительно там был стаб для согласования, автор застеснялся и исправил.
Всегда повторяем себе: «Инструмент под задачу, а не задачу под инструмент!»
Хочешь поморгать светодиодиком, сделать погодную станцию и прочую веселуху, начинаешь учиться программированию микроконтроллеров — велком ту Arduino.
Хочешь сделать промышленную железку на 100500 экземпляров — велком ту микроконтролерное программирование.

В чём проблема?
Да не вижу проблем ни в программировании ни в производстве. Вижу постоянный стёб с ардуинщиков в соц сетях, грубо тролят их заставляя изучать с++. )
Их грубо троллят, заставляя изучить хотя бы основы схемотехники. И троллят не сразу, а после того, как устают разжевывать в десятый раз одни и те же ошибки, и выслушивать в ответ сперва добейся я собрал мигалку из трех светодиодов, а что сделал ты?
Это вопрос на который нужно ответить? )
Ах, всё тот же древний спор, как глубоко нужно разбираться в платформе.
Аргумент в этом споре всегда один. Закон дырявых абстракций (http://russian.joelonsoftware.com/Articles/LeakyAbstractions.html).
При прочих равных, конкурентными преимуществами всегда будет обладать разработчик, который понимает как работает то, что он использует. И чем больше школьников которые которые считают, что их Непонимание и Нежелание понимать, как все это работает — это приемущество, тем более ценными специалистами становятся те, кто удосужился разобраться в стеке технологий.
Ненависть, со стороны программистов, вызывает именно эта выраженная гордость своим невежеством, а не что-то другое. Есть, конечно, контингент мумифицированных старперов, которые уже ничему новому научиться не могут, но это меньшинство. У среднестатистического профессионального разработчика уже давно есть библиотека собственных велосипедов, которая даст фору любым ардуинам. То, что у старперов ушел год, на то, на что у вас месяц — это их недоработка, а не ваша заслуга. Плохие, значит, специалисты.
Тут просто есть еще такой забавный момент, что ардуина стоит ровно посрединке между решениями, требующими именно вот закопаться в конкретный микроконтроллер и решениями, основанными на «полноценных» армовских отладочных платах, типа распберрипи и всяких биглбордах сотоварищи. В итоге с одной стороны люди видят какую-то причудливую прослойку между микроконтроллером (к тому же достаточно древним и бедным, как за его цену) и машинным кодом, а с другой — необходимость геморроиться с экзотическим операционным окружением, в которое нельзя притащить без проблем весь мешок библиотек, которые нарабатывались десятилетиями. Т.е. решение может выглядеть действительно хорошим для тех, кто ещё не зарылся в ту или иную разработку (т.к. порог вхождения-то низкий), но причудливым и бедным для остальных.
Я вообще проблемы не вижу в изучении регистров, ядра и инструкций тем более AVR. Там же детский сад. И когда смотрю на ардуину, вижу в ней прежде всего AVRку. Проблема ардуинщиков как раз скрыта за всеми этими DigitalWrite. И когда нужно сделать шаг влево или вправо, то всё, приехали. Я сам частенько поглядываю в ассемблерный листинг, чтобы понять что мне там компилятор накомпилировал и бывает диву даешься. Так что ассемблер наше все))) Еще, обычно, для ардуинщиков аналоговая схемотехника вызывает серьезный батхерт. Вы предложите ему собрать что-нибудь на операционниках, миксерах, сделать нормальную защиту от ЭМП или правильно развести плату. Повесится наверное)
Ардуинщики покупают готовый дом. Программисты строят его с нуля. Да, купить дом быстрее и легче, но только построенный с нуля будет похож на тот о котором вы мечтали.
Ардуинщики покупают готовый дом. Программисты строят его с нуля. Да, купить дом быстрее и легче, но только построенный с нуля будет похож на тот о котором вы мечтали.


Программисты выбирают материалы для отделки и расставляют мебель. С нуля строят схемотехники.
По моему программисты ненавидят не саму ардуину, а часть тех кто ей пользуется, и свято верят что они собрав что то из готовых блоков и написав что то на готовых библиотеках, стали инженерами, схемотениками и эмбедед программистами. Но как только сталкиваются c отсутствием нужного шилда или библиотеки оказываются в тупике и не могут решить задачу.
купил УСБ программатор за 2 бакса
по сути среда ардуины недалеко ушла от атмел студии
почти тоже си

но когда у тебя на плате помимо контроллера питание. индикатор и силовые элементы
а не куча проводов на макетной плате — работать удобнее
для первого раза посмотреть на контроллер — ардуина идеальный вариант
или нано вместо ДИП корпуса вставить в несирийное устройство
А я начинал с БЗ-34, и мигал индикатором, так как светодиоды подключать было некуда.
Да, программировать в жестких ограничениях весело. Но роботами и умными домами заниматься было бы веселее на системе с предустановленными Linux и ROS, и на современных языках программирования с адаптированными библиотеками — путь это и дороже в несколько раз, не такие уж и большие деньги.
За 8-битный стоить браться, если предполагается со временем серийный выпуск устройств. Здесь было бы уместным использовать Arduino, особенно если бы была доступна его промышленная версия, выполненная по соответствующим стандартам надежности, но совместимая с любительской.
За 8-битный стоить браться, если предполагается со временем серийный выпуск устройств.

Linux и ROS — это всегда достаточно большое потребление энергии и отсутствие realtime. Именно в этих нишах микроконтроллеры заменить нечем, и не важно, какая серия требуется.
Если скорости (того самого realtime) не хватает, приходится использовать ПЛИС.
Там, где справляется AVR, справится и ARM с ROS в реальном времени. К тому же в Linux есть поддержка realtime.

Энергопотребление для любительских устройств не критично. Даже если это мультикоптер — двигатели сожрут гораздо больше. Только в носимой электронике стоит заморачиваться.
Стоит отметить что прерывания AVR очень быстры и с их частотами в 16 МГц выполняются примерно столько же, если не быстрее, прерываний ARM. А RTOS и реал тайм вещи немного не совместимые. Разве что использовать прерывания и bare metal программирование или же вклинивать обработчики прерываний в ROS.
Не совсем понял о каких «программистах» идет речь. Я например пришел к Ардуино из энтерпрайзного программирования (Delphi, C++, Java, 1C etc). Отсутствие необходимости паять и вспоминать электротехнику очень радует.
Радовать будет недолго, до первых спалённых портов на ровном месте из-за ЭМ-наводок(что такое тиристорное защелкивание входов надеюсь загуглите) и совершенно необъяснимых аппаратных глюков, после чего придется все-таки взяться за электротехнику.
Если серьезно заниматься и постоянно повышать свой уровень — конечно довольно быстро вырастешь из Ардуины и вспомнишь и элтех и курс микроэлектроники и паять и травить научишься.
Плюс Ардуины в том что можно начинать с наглядных работающих вещей буквально за минуты.
«А вот школьник Ардуинщик на таком Arduino соберёт в считанные минуты проект который и не снился программисту.»
О каком таком проекте может идти речь? Да и что значит «соберет»? Любое изделие имеет функцию, которую реализуют не тупой набивкой модулей, нужно их еще увязывать и согласовывать. А если он просто скачает и загрузит готовый проект то чем это отличается от установки готовой программы на тот же планшет в магазине?

Ну орфография не соответствует олдскульности автора.
Ардуина раздражает тем, что снизив порог вхождения она влила к микроконтроллерщикам домохозяек, которые при малейшей ошибке начинают плакаться и вопрошать «какэтасделатьнадапамагите». В результате, когда пытаешься выяснить, это бага в компиляторе, кандидат в эррату, кЕтайская микросхема, или сам олень, натыкаешься на толпу ардуинщиков, т.е. к полезной информации, благодаря ардуине, была вылита тонна мусорной. Далее некоторые погроммисты-ардуины умудряются пропихнуть свои решения на этой самой ардуине в продакшен, не заботясь об быстродействии/оптимизации. И приходится расхлёбывать «ну почему эта тварь так медленно работает, вон аналог на почти томже железе в 7 раз быстрее». Плюс имеем кучу народа, который начинает лезть с простейшими вопросами везде (ну где на форуме надо задать вопрос, почему светодиод не горит — конечно-же везде, кроме раздела «для новичков», яж не новичёк, я вон, осилил три строчки кода). Плюс некоторые такие товарищи умудряются взяться за какой-либо проект, а за неделю до дедлайна понять, что нипалучаицца. Следом таковые пытаются спихнуть свою работу на коллег, которые итак загружены. В результате человек, которому эта ардуина была полностью пофигу (ну есть она, и что, мне вот пофигу, есть фирма MIPS со своими процессорнымы ядрами и есть, мне от этого фигалетово и ничем не мешает), начинает плеваться от неё — т.к. даже из унитаза звучит волшебное слово «ардуино», и поиск информации о слоне превращается в муку по убиранию из выдачи предложений купить этого самого слона.
Хватит называть электронщиков программистами. Электронщик освоивший базовый синтаксис «С» настолько же программист, насколько я, программист, освоивший Ардуино и познавший транзисторы — электронщик.
Программист — это все же немного другой уровень. Никого не хочу обидеть, но электронщики все же больше электронщики, чем программисты.
Я электронщик, писал на ассемблере, С, для AVR и ARM, сейчас системное программирование на С++. Согласен с вами полностью. Не хватает мышления программиста, но элетронщину на программирование не променяю ни за что))
Ну вообще, ардуина и правда крута в том, что можно очень быстро собрать прототип. Я свою телегу c телеуправлением по Wi-Fi дольше собирал механику. Однако есть и другие задачи, типа виртуальной реальности, которой занимаемся последний год уже. И вот там, конечно STM32…
Даже у него память заканчивается, а без операционки типа free RTOS иногда всё плохо заканчивается… Ну, и конечно, всё упирается в себестоимость готового изделия и их кол-ва.
Хорошо у вас бомбануло. А вся суть статьи сводится к тому «я делаю что то, я не понимаю как оно работает, но оно работает!»

Самое интересное начинается когда оно вдруг не работает, хотя вроде бы должно. Или работает как то не так :) Потому как «я не понимаю» никуда не делось.
+ упущены из виду инструменты вроде stm32 hal и mbed, которые дают все преимущества абстракции от железа не мешая отладке, выбору МК/платы и запуску масс производства
1. Те, у кого нашлась неделя времени освоить Atmel Studio и основы «голого» программирования Atmel, все также могут использовать и библиотеки ардуино целиком, и куски кода из них, и писать свой код, поглядывая в исходник библиотеки ардуино, но у них при этом есть еще и нормальная отладка с точками останова, просмотром памяти и всей периферии контроллера, логом переменных и много чем еще, а также куда больше контроля над компиляцией, ее результатами, компоновкой кода и остальным. Но и писать программы на wiring-библиотеках все еще можно.

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

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

Ну и есть другой момент. Часто все-таки эффективнее изучить чуть более сложный, но гораздо более мощный инструмент, чтобы потом себе же упростить работу\хобби и получать больше удовольствия и меньше проблем. И те, кто этот инструмент изучили, смотрят на тех, кто принципиально не вылезает из Arduino IDE как на… ну не знаю, людей, которые упорно ездят на трехколесном велосипеде, не желая потратить два дня и пересесть на взрослый.
Никого не желая обидеть (ага, конечно), тем не менее позволю себе высказывание — лично у меня Ардуинщики не вызывают ненависти, это слишком сильное чувство, я его приберегаю для равных, а скорее чувство тягостного недоумения от того, что человек сознательно ограничивает свое развитие. Причем не просто сознательно ограничивает, но еще и гордится своей ограниченностью, ставит ее в основу и подводит теоретическую базу, и все это для того, чтобы оправдать свою лень — по моему, результат совершенно не оправдывает усилий, что и вызывает недоумение.

А что касается равенства (в смысле возможности дискуссии), то позволю себе привести одну строку из программы автора, демонстрируемую как высшее достижение свободного полета человеческой мысли
int v = 13; // создаем переменную v со значением 13 (номер вывода микроконтроллера) 
Да, вы правы, данная строчка меня именно что приводит в шок, но, думаю, если я озвучу, по какой именно причине программы ТАКОГО класса меня приводят в вышеуказанное состояние, Вы не будете очень довольны услышанным.

Давно думал о том, что надо бы написать об Ардуино платформе (но, конечно, серьезно, а не так), но теперь, с одной стороны, не хотелось бы оказаться в компании авторов подобных опусов, но, с другой стороны, данные произведения могут прочитать дети, и оставлять их в неведении относительно истинного положения вещей было бы бесчеловечно. Так что продолжаю пребывать в раздумьях, писать иль не писать?
это очень плохая идея сравнивать молотки с микроскопами и мастерство владения ими. Не уподобляйтесь)
Не уподобляйтесь, это Вы правильно, но ведь ДЕТИ могли прочитать).
для детей нужна двухходовка:
1. Завоевать авторитет
2. Показать собственный пример

В общем, ждем статьи о прелестях новой атмел студии и ее функционала импорта ардуино скетчей ;) Я его пока так и не попробовал (
Однажды мы заказчику предлагали на выбор микроконтроллер для проекта, обоснованно предлагали. Но он выбрал Атмел. Т.к. до этого игрался в Ардуино (и это не шутка!). В итоге мы на этом проекте СТОЛЬКО проблем огребли из-за этого выбора… А если посчитать зря протраченное время на поиски обходных путей и общение с техподдержкой, и перевести это в деньги…
Как говорили в одном хорошем фильме «Самая дорогая вещь на свете — это глупость, потому что за нее дороже всего платить приходится.»
Atmel довольно дорогие контроллеры, а старые семейства tiny\mega имеют некоторое количество пронаследованных от самых ранних контроллеров ограничений, вроде невозможности переключить источник частоты на лету или жестко привязанную к выводам периферию, но в остальном у них нет каких-то прямо огромных проблем по сравнению с PIC\MSP430\STM8. Они вполне стабильно и предсказуемо работают, имеют неплохую документацию, удобную и бесплатную IDE с компилятором C++, сделанную из Visual Studio, энергопотребление и набор периферии тоже на уровне конкурентов (8/16 битных), доступно множество готового кода\примеров для почти любой обвязки. У xmega же практически все эти проблемы исправлены (но стоят они еще более недешево, да).
Исправлено, да. ATMEGA165PA. Если тронуть фьюз, который защищает EEPROM от стирания (а по умолчанию EEPROM по команде chip erase стирается, при этом chip erase — единственная возможность очистить флеш перед перепрошивкой), то примерно у 50% контроллеров после следующего chip erase сотрется «read-only» CPUID вместе с калибрацией частоты. Калибрация частоты тоже «только для чтения», да. После чего при работе от внутреннего клока частота во-первых будет в два раза выше ожидаемой (16 МГц вместо штатных 8), а во-вторых, иногда будет отличаться на плюс-минус несколько процентов, и иногда «несколько» = 20. А у вас в паре мест критически важны точные временные интервалы…
CPUID это печалька, программаторы которые проверяют чип перед прошивкой не смогут его прошить…
А вот калибровку можно обойти, её можно задать программно на старте но конечно же потребует определённого количества дополнительных операций.
В этом контроллере же не заявлена точность и температурная стабильность внутренего RC-генератора поэтому странно было бы вообще опираться на это значение как на точное… даже плохой керамический резонатор что в пультах используют и тот будет выдавать частоту стабильней.
Плохо конечно и то что тайминги записи EEPROM зависят от внутреннего генератора… т.е. программатором со сбитой калибровочной константой EEPROM будет прошиваться со сбоями и/или ненадёжно.
Смогут, если применить грязный хак :) описанный на avr freaks. Но нам и не надо было, мы его сами шили через spi. Со стороны «большого» атмела. А вот частота да. Кстати, после заводской калибрации точность вполне была на уровне. А после того как калибрация слетала, приходилось самому его калибровать на старте, передавать измеренное значение и корректировать частоту. Но это ж все непредвиденные накладные расходы на разработку, плюс баг еще обнаружить надо было и убедить техподдержку в его наличии (а они два года дуплились, пока не признали). Внешний кварц решил бы проблему, но его ж надо было туда поставить, а контроллеров было 5 в каждом девайсе, оптимизация расходов еще на этапе дизайна…
Можно было все остальные затактировать от одного главного, который никогда не уходит в глубокий сон.
Исправлено в xmega, я же написал. Там и управление источником частоты нормальное, и интерфейс программирования другой, и чудовищный debugWire выкинули, и много чего еще. Про использование внешнего кварца, хотя бы одного, писали ниже. Проблемы Atmel Studio 5 — не совсем проблемы контроллера (у STM8, например, вообще нет нормальной бесплатной, а тем более, родной, среды), и они тоже в 6 и тем более 7 студии исправлены. У нас вот, к примеру, в серии из 3300 штук плат прошилось и правильно заработало 3300, в меньших сериях то же самое, каких-то других проблем именно с контроллерами и за пределами Errata — не было.

Да, у Atmel mega\tiny есть недостатки:
1) дорого, особенно на фоне STM8
2) debugWire (впрочем, есть варианты с нормальным JTAG)
3) наличие фьюзов и то, что многое настраивается только через них и не в рантайме
4) нет серийного номера и еще некоторых приятных штук, которые уже есть у других

Но в остальном это вполне нормальные контроллеры, сравнимые с остальными и имеющие некоторый набор преимуществ. Не идеал, конечно, но идеала тут вообще нет.
Валяется на работе Ардуино, поигрался с SIM900 шилдом. Да просто, за часик слепил прогу на готовых примерах и бибках, позвонил с шилда друзьям и по отсылал мессаджи… Но! Как оно там все работает так и не понял… Второй раз взял эту платку, что бы поиграться с Flowcode, из под этой среды заливал алгоритмы в ардуино (на easyelectronics выкладывал описание), на этом все… Все-таки для каждого изготавливаемого девайса необходим свой форм — фактор, свои ресурсы. Удобнее сделать печатную плату под себя, вывел все необходимое и работай на здоровье. Программирование железа… ммммм, ну тут не обойтись без изучения регистров ибо не будешь знать, как девайс работает, когда уходит в прерывание, как дергаешь ножку и тд. ИМХО Arduino хорошая штука для метеостанций и инкубаторов. Если бы я был заказчиком, то никогда бы в жизни не купил подобный «бутерброд» собранный на разноцветных шлейфах… PS: из этой серии мне больше по нраву STM32Nucleo ну и Малинка конечно же.
Давайте сначала разберёмся что такое Arduino.
Все здесь зациклились на том это это платы для беспаечного монтажа. Взгляд истинного программиста но не схемотехника.
Вообще то Arduino — это бутлоадер + ArduinoIDE + контроллер Atmega со стандартной обвязкой. Что бы понять это достаточно посмотреть на плату Arduino Pro Mini.
То есть с таким подходом в серийном устройстве нормальный схемотехник разработает качественную внешнюю обвязку (мы же всё равно это делаем для других контроллеров в серийной плате), добавит к ней контроллер со стандартными внешними цепями (то же делается для любого другого горячо любимого контроллера), или предусмотрит установку уже готовой той же ProMini, изучит в необходимом объёме С (или обойдется вообще без изучения языка программирования — flprog), проведёт тестовые испытания, и пустит изделие в серию. Где отличия от любого другого контроллера применяемого в серийном производстве?
Но тут как раз кроется причина ненависти программистов к Ардуино. Его в этом цикле НЕТ. ТО есть применяя АRDUINO схемотехник может обойтись без программиста для создания законченного, даже серийного устройства. А вот программист, без серьёзного изучения схемотехники и электроники обойтись без инженера не может.
Микроконтроллер — схемотехник (электронщик, радиоэлектронщик, радиотехник etc..), в 21 веке как по мне должны быть единым ядром… Практически любой даже начинающий радиолюбитель «щупал» микроконтроллеры либо на С, либо на ассемблере, доходя до Arduino IDE, и прог подобных FLOWCODE. Программист — это программист. Электронщик — это электронщик. Программирование МК, ПЛИС и тд многим отличается от девелопмента прикладных приложений и софта… Язык не повернется назвать хардвер (софтвер)эмбеддера — программистом.
Sign up to leave a comment.

Articles