Я презираю Arduino

Я – выпускник специальности «Микроэлектроника и полупроводниковые устройства». За годы обучения я разработал множество устройств на микроконтроллерах, участвовал в конкурсах вместе со своей командой и являлся заведующим лабораторией встраиваемых систем. У меня есть мечта – создать в своей стране условия для разработки роботизированных систем и есть план её достижения, одним из пунктов которого является участие в подготовке большого количества профессионалов в этой области.
Arduino


Я радуюсь, когда будущие инженеры создают свои устройства и расстраиваюсь, когда слышу, как кто-то говорит об использовании Arduino в них.

Это не первая моя статья на эту тему: у меня возникает желание написать такую сразу после прочтения фразы о безграничных возможностях платформы в DIY-топике на Хабре. У меня возникает желание написать об истинной цене деталей после прочтения статьи о покупке конструктора за $200 почти ничего не содержащего (уж простите, запамятовал где видел).


Дело тут совсем не в том, что я считаю, что Arduino – это плохая идея. Наоборот – благодаря платформе многие познали мир микроконтроллеров, узнали, что собрать небольшое прикольное устройство может даже человек без специального образования, с минимальными познаниями в программировании и с отсутствием познаний в электронике.

Благодаря Arduino увидело свет множество проектов, которые пылились в банках памяти мозга их авторов.

Честно признаюсь, я иногда и сам пользовался кодом, написанным для Ардуино (к примеру, фирма InvenSense производит модуль MPU6050, запустить нормально который получилось только у Jeff Rowberg).
Презираю я тех людей, которые, открыв для себя мир микроконтроллеров, не потрудились осмотреться в нём и тех, кто нагло наживается на подобных людях.

К нам в лабораторию заходил (и работал с нами) студент кафедры информационных технологий — поклонник Arduino. Человек тратил огромные деньги на покупку самих *дуин и модулей к ним. Я не без сожаления наблюдал, как будущий (я всё же надеюсь) создатель роботизированных систем не мог запустить ШИМ нужной частоты, хотя «лётных» часов работы с платформой он намотал немало.

Так вот, этот студент показал мне «измеритель уровня заряда батареи», или как-то так. Я специально нашёл его сейчас на ebay, где он называется «High Sensitivity Voltage Sensor Module -Arduino Compatible» и продаётся за $8.58. Вот он, на рисунке:

High Sensitivity Voltage Sensor Module


Кстати, центральный провод, который «+» — он просто висит в воздухе – всё сделано для максимального удобного подключения простого делителя напряжения, красная цена которому 2 цента за резисторы и 20 центов за разьём – это если в розницу покупать.

Это не единственный случай обмана нашего брата, ниже я приведу ещё несколько. Сейчас же, для любителей структурирования, я напишу основные недостатки Arduino.
  1. Библиотеки. Я люблю библиотеки – я пишу свои классы и функции, или использую грамотно написанный код моих коллег – это существенно ускоряет мою работу. Библиотеки Arduino просты в освоении, но на этом их плюсы заканчиваются. К примеру, вы можете всю жизнь формировать задержки с помощью delay-функций и не иметь простейшего представления, как работает таймер на микроконтроллере — из таких минусов состоят все библиотеки Arduino.
    Я имею в виду то, что таймер и другая периферия в микроконтроллере реализована так, чтоб компенсировать его однопоточность прерываниями. А люди тратят процессорное время на декрементацию неиспользуемой переменной.
    Деление и использование чисел с плавающей точкой на восьмибитных контроллерах AVR – это то, к чему надо прибегать только в самых крайних случаях, когда без этого обойтись никак нельзя.
    Строка в последовательный порт не посылается с помощью конечного автомата с множеством пустых циклов ожидания флага опустошения буфера в основном теле программы – это опять же пустое расходование ресурсов – ведь есть прерывания.
    Да, в Arduino можно включить прерывания, но кто это делает?
    На Хабре есть хорошая статья о том, как ускорить работу библиотек Arduino. Меня она, если честно, поразила тем, что даже работники оборонной промышленности скатились до работы с платформой, но дать общие понятия о скорости работы этих библиотек она может.
  2. Среда разработки. Микроконтроллеры можно программировать в IAR, Eclipse, Keil и других, менее известных средах.
    IAR EWB

    А IDE Arduino является кроссплатформенным и с подсветкой синтаксиса.
    Arduino IDE


  3. Мощность. Причём, как аппаратная, так и рассеиваемая. Разработка любой встраиваемой системы начинается с выбора компонентов в зависимости от требуемых функций. Для моргания диодом Atmega328 (или 2560) – слишком мощно, а для создания системы реального времени с алгоритмами обработки изображений – слишком слабо.
  4. Расхолаживание программистов. Программирование микроконтроллера не требует особых навыков и умений, но потратить пару часов и изучить работу нескольких периферийных устройств, тем самым размяв свои мозги, всё же придётся. Зачем это делать, если можно написать что-то вроде analogRead и digitalWrite?
  5. Цена. Тут уже вопрос не только к производителям Arduino и клонов: цены на контроллеры AVR в целом завышены. К примеру, Atmega2560 обойдётся вам в $10. За такие же деньги можно купить два STM32F103. Так получилось потому – что людям лень учить другие контроллеры, а по этим кругом множество материалов и примеров.


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

Arduino Compatible Mini Motor Speed counter Sensor AVR PIC – заменяется светодиодом и фототранзистором, подключающимися к центральному контроллеру и двадцатью строчками кода. Он не стоит 7.98.

2*4 Matrix Keyboard Push Buttons AVR ARM Arduino Compatible – это просто кнопки, которые можно купить по цене 10 штук за доллар.

Есть один девайс в мире, который я ненавижу больше чем Arduino – это mbed. Его разработчики взяли контроллер LPC1768 (есть ещё на LPC11U24), припаяли его на плату с двумя стабилизаторами (о качестве разводки платы я говорить не буду), вывели половину ног наружу (вторая половина никуда не подключена, что очень раздражает), написали онлайн недо-IDE (впрочем, чуть лучше, чем у Arduino, хоть и требует подключения к интернету) и продают его за $64. Простите, но это уже совсем.

Что делать, если вы, вдруг, решили перестать топтаться на месте, и начать изучать микроконтроллеры?
  1. На Хабре был цикл статей «STM32F1xx — лечимся от ардуинозависимости вместе» — статьи хорошие и достаточно понятные, жаль, что автор забросил написание новых статей.
  2. Всех новичков посылают на easyelectronics.ru, где товарищ DIHALT публиковал учебный курс по микроконтроллерам AVR.
  3. «Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С» С. Ф. Баррет, Д. Дж. Пак – супер книга, помогает понять основы программирования на C для микроконтроллеров. Единственная проблема – вы вряд ли достанете микроконтроллеры Freescale, поэтому примеры придётся самостоятельно портировать примеры на AVR, PIC, MSP430 или любой другой контроллер.
  4. Перед покупкой чего бы то не было для своих устройств, почитайте об этом хотя-бы в Википедии — возможно эту же деталь можно купить дешевле, если назвать её по-другому.

Вообще знаете, что странно? Среди пользователей Arduino есть даже те, кто презирают Apple за их «направленность на недалёкого занятого-для-таких-мелочей юзера».

Я не хочу никого обидеть или переубедить. Но я буду рад, если хоть один человек, дочитавший статью до этого момента, поменяет Arduino на простой микроконтроллер – может быть, из него получится хороший разработчик встраиваемых систем в будущем.
Поделиться публикацией
Похожие публикации
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 516
  • +145
    Я не хочу становится разработчиком встраиваемых систем. У меня есть прекрасная работа и прекрасная область, на которой я специализируюсь и которая приносит мне очень неплохой доход.

    А с микроконтроллером я хочу просто поиграться. Не заморачиваясь излишней пайкой, изучением периферии и прочим. И я готов переплачивать за простоту и отсутствие геммороя.
    • +53
      Кажется, автор имел в виду не тех, кому хочется поиграться, а тех, для кого это специальность и хлеб.
      • +14
        Кажется, что не тех.
        • +34
          Не представляю, для кого ардуино является специальностью и хлебом, кроме его продавцов :)
          • +2
            вы видимо не видели готовые продукты на аурдуйнях. Например автомат, торгующий прохладительными напитками. А если такие изделия существуют, то надо полагать, что их разработчики крайне мало понимают в электронике. Отсюда можно делать выводы о качестве конечных продуктов.
            Еще был случай, контора попросила разработать одно устройство. По сути очень простецкое с аппаратной точки зрения. Себестоимость конечного железа была около 300 рублей вместе с печаткой и сборкой. До меня его там разрабатывал ардуинщик. Мини серию в 50 штук он собирался сделать на ардуйне256 + шилд. Естественно цена там была аховая. Работодатель в этом плохо соображал, думал что такие модные веяния в мире электронике, что все это круто и супер надежно. Потом его друг узнал об этом и раскрыл глаза, вообщем вовремя спохватились. И супер модный код я тоже видел, немного смеялся.
            • +1
              В таких случаях три фактора часто действуют (по одному или в сочетаниях):
              — заказчик не компетентен
              — заказчик не готов платить за работу квалифицированны специалистов «почему-то» отя щи больше денег чем любители по-сути.
              — таки специалистов просто не хватает на всех заказчиков
              Про коррупцию и т. п. умолчим. И такая ситуация далеко не только на рынке разработки софта или девайсов, но и, например, на строительном, несмотря на то, что подлежит обязательному лицензированию деятельность на нём.
              • +21
                Тут есть и обратная сторона. Один супер-пупер-электронщик сделает дело и уволится. И фиг ему замену найдешь, чтоб разбираться в его супер-коде и супер-плате. В результате придется дважды платить — и ему, и тому, кто не настолько крут, но будет вынужден переписывать все с нуля.

                Так что бывает дешевле заплатить за менее красивое творение, но которое потребует намного более дешевой поддержки.
                • +1
                  Вполне можно на ардуино сделать прототип или тестовую партию для проверки перспективности девайса. А заказчики, которые хотят то, что на слуху, вместо того, чтобы доверить технические решения профессионалам во всех отраслях водятся.
                  • 0
                    Под каждый контроллер, производитель продает так называемый отладочный модуль. Использовать андруино рационально, когда вы будет использовать Атмегу входящию в его состав. Но тем не менее все слишком заостряют внимание на мк производства Атмел и не видят аналогов вообще.
                    • 0
                      +В комплекте с отладочным модулем всегда идет тонна примеров.
                      • НЛО прилетело и опубликовало эту надпись здесь
                        • 0
                          Программные библиотеки есть и под другие мк. Например под Сygnal(C8051) от компании Силабс есть просто гора примеров и программных библиотек от производителя. Там даже есть Мастер который позволяет вам сгенерить конфигурацию пинов с нужными вам параметрами таймеров, SPI и тд. Также аналогичные мастера есть под все их микросхемы: под езерернет(CP2200), радио и тд. У других производителей мк тоже самое есть, но в меньшем объеме.
                          А что касается прототипов, то серийный Андруино дороже серийного СТМ32влдисковери, при том что последняя имеет куда как больше возможностей.
                          • 0
                            т.е. мастер вам код генерит по С++ и ассемблер.
                            • НЛО прилетело и опубликовало эту надпись здесь
                              • 0
                                1. Возможно.
                                2. Может. Но почему бы не пробывать и другие мк?
                                3. А с другими мк плат отлаженных плат нет? Не аргумент.
                                4. У нас(на Украине) дешевле взять стм32(20$) или Лаунчпад от ТИ(10$). Я не видел дешевых Андруин(в среднем от 30$). Возможно у вас другие ценовые расценки. Так что тоже возможно.
                                П.С.
                                А теперь подумаем сколько стоит напечатать плату:
                                К слову цена печати плат одной промышленной заготовки(300 на 400 мм)~10$(на заготовки размещается может как комплект из разных плат, так и одинаковые платы, цена с учетом распилки плат) Подготовка производства(изготовление шаблонов и тд)~40$.(цены Киевского завода Радар). Т.е. 40 платим один раз и 10 за каждый лист. Распайка-не знаю, но есть фирмы предоставляющие такие услуги. Такие услуги предоставляются как фирмам так и частным лицам. У китайцев еще дешевле. Разумеется еще комплектующие и тд, но обычно дешевле изготовить платы под свои нужды. Да и изделие лучше выглядит. Возможно вам действительно дешевле использовать Андруино, но у нас дешевле к нему вообще не прикасаться. Конечно будет еще этап исправления ошибок, но изделие будет качественней.
                              • НЛО прилетело и опубликовало эту надпись здесь
                        • +13
                          Ну и чёрт бы с ним, с торговым автоматом. Там разница в цене железки в 50 баксов роли не играет ни малейшей, зато для программирования ардуин и последующей поддержки кода можно задействовать более доступную рабочую силу. Это 21-ый век, когда время живых людей стоит намного дороже бездушного железа.
                          • +21
                            21й век: от говнокода и говносайтов переходим к говноэлектронике, дальше обратно к говномеханике… продуктам питания и т.п. Главное, чтобы самолёты не делали на таких игрушках и через 15 фреймворков…

                            PS: минусуйте — я готов :)
                            • +16
                              говноэлектронике
                              И в чём же она говно? В том, что неоптимально расходует вычислительные ресурсы? Но позвольте, код-то при этом сам по себе проще. Да, он медлителен, но он понятен, его легко читать и поддерживать. В конце концов в синхронном коде намного сложнее сделать ошибку. В итоге получаем ситуацию, когда не нужно знать особенности железа, достаточно сосредоточиться на бизнес-логике. Сейчас никто не пишет офисные пакеты на ассемблере, сейчас это приходит и на микроконтроллеры, ресурсы которых уже позволяют использовать тот же подход, что и для ПК.
                              Резюмируя: мы получаем надёжность за счёт избыточности ресурсов. Если мне не изменяет память, в военных и используемых в опасных отраслях системах так делали всегда.
                              Я понимаю вашу страсть к «байтоёбству», но в реальной жизни сейчас оно зачастую не просто не нужно, но и вредно.
                              • –6
                                Не в избыточности дело. Используя чужой код получаешь запас чужих граблей/ошибок. Но для мелких домашних поделок это не имеет значения.
                                • +7
                                  Используя чужой код получаешь запас чужих граблей/ошибок.
                                  Т. е. вы предлагаете для, ну, скажем, текстового редактора с нуля писать прошивку BIOS, ядро ОС, библиотеки прикладного уровня и всё такое?
                                  • +1
                                    Нет, предлагаю разумно оценивать область применения поделки.
                                    И если в драйвер для люстры (плавное включение, регулировка освещенности, расписание,...) я не парясь применю готовые либы, то в модуль управления паровым котлом перепишу их сам. Т.к. риски при зависании контроллера парового котла несколько выше.
                                    • 0
                                      Обычно достаточно взять адекватные проверенные временем библиотеки, а не наколеночное студенческое поделие, позавчера выложенное в интернете. Как правило, стандартные библиотеки от производителя устройства достаточно надёжны.
                                      • –2
                                        Их как правило нет. Точнее, то, что есть — это очень тонкая базовая прослойка. BIOS и близко не валялся, да.
                                      • +13
                                        То есть ваш пилотный набор велосипедов для парового котла окажется абсолютно безошибочным с первого раза,

                                        в то время, когда

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

                                        :)
                                        • +1
                                          это зависит от уровня/квалификации разработчика ;)

                                          микроконтроллеры это не линукс, там сложно найти нормальные проверенные либы.
                                          • 0
                                            использовал готовые либы под ту же ардуину и то приходилось исправлять баги и подпирать костылями. т.к. без них код просто не работал в ряде случаев.
                                            не знаю какие там еще есть ошибки которых я не заметил, но т.к. я делаю «для домашнего применения» меня это мало беспокоит.
                                          • 0
                                            Вот я бы сделал как раз с точностью до наоборот — поиграть в переписывание либ под люстру еще куда ни шло, а вот с нуля на свои грабли наступать с паровым котлом поостерегся бы. Да, не брал бы первое, что под руку попадет, поискал бы качественные решения, но с нуля писать точно бы не стал — уже не раз проходили, что каждый вновь приходящий «крутой» разработчик горит желанием переписать все «правильно» и с нуля.
                                            • –1
                                              Все-равно библиотека библиотеке рознь. Когда андроид только появился, появилось куча глючных библиотек. Часть их было просто портировано под дэлвик, а часть написана с нуля. В итоге часто было надежней написать с нуля свой собственный (пусть и облегченный) вариант. Я имею ввиду библиотеки по сложности, как ORM.
                                              Вообще написание с нуля не такая уже и плохая практика, если знаешь, что именно нужно, т.к. готовые библиотеки — это часто 90% ненужного функционала.
                                              • +1
                                                Ну для свеженаписанных/свежепортированных библиотек это нормально. Но свой велосипед тоже будет свеженаписанным. Кроме того, широкоиспользуемые библиотеки обычно выправляются быстрее — большая база пользователей эффективнее выявляет баги. Своей же на пользу может пойти только то, что в ней нет ненужного функционала и несомых им багов, да то, что она досконально понятна, что облегчает отладку.
                                          • +1
                                            Я предлагаю для текстового редактора писать код непосредственно под ОС, а не под какую-то виртуальную машину, развёрнутую на виртуальном сервере, с базой данных, веб клиентом… чтобы в результате на экране увидеть такой же редактор, только тормозящий на ровном месте.
                                            • +4
                                              Окей, тратьте на это пару лет жизни, я склепаю за пару дней, пользователь будет доволен, ведь его задачи решаются уже сейчас, а не когда кто-то допилит свою дорогую, сложную и непереносимую на другое железо систему, которая к моменту выпуска уже год как морально устарела.
                                              • 0
                                                А вы уверены, что каждому пользователю нужно тормозное, но переносимое на другое железо ПО? Каждый ежедневно запускает один и тот же текстовый редактор под виндой, на айфоне, на айпаде, в линуксе...?

                                                Лучше написать хорошо под одну систему, чем плохо, но под все. Хотя я смотрю современные программисты думают иначе :)
                                                • +7
                                                  Я верю в то, что решение, работающее сейчас, лучше решения, которое заработает через год. Этим всё сказано.
                                                  • +3
                                                    Это ли не девиз говнокода? Лучше сейчас тяп-ляп, чем завтра хорошо?
                                                    Если речь о сиюминутных игрушках типа новой версии винлокера, весёлого фермера и т.п. — то да, главное сделать срочно, пока это не сделал твой сосед по лестничной клетке.
                                                    Но это всё мелкие ремесленные поделки, не более. Если бы все программисты шли таким путём не было бы ни Quake3, ни AutoCad,… да в общем ничего хорошего бы не было. Были бы одни фриварные однодневки, за которые деньги платить жалко и которые зарабатывают только на рекламе.
                                                    • +11
                                                      facepalm.svg

                                                      Сделайте сначала хоть что-то, что уже сейчас, но работает. Ищите боттлнеки, оптимизируйте. Переписывайте совсем уж критичные части на C или даже на асме. В итоге у вас продукт начнёт работать завтра, а через 3 месяца достигнет 90% той производительности, что то сложное мегаоптимизированное поделие, которое вы бы выпустили через год, а потом ещё полгода фиксили баги. А они обязательно будут, поверьте. Только вот вылавливать их в таком коде намного сложнее. Как говорил один из создателей языка C, отладка кода вдвое сложнее, чем его написание, так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.

                                                      Так что рекомендую скатать свой перфекционизм в трубочку, отложить куда-нибудь подальше и вернуться к реалиям жизни.
                                                      • +3
                                                        Где то рядом ходит старый общеизвестный термин «стоимость владения».
                                                        В чем то вы оба правы. Просто потому, что представляете конкурирующие подходы. И наилучшее решение — вести параллельно такие разработки с целью сохранения конкурентности (когда это возможно).
                                                        То что монопольное использование только одного пути — это тупик, надеюсь, очевидно?
                                                        • –5
                                                          > Как говорил один из создателей языка C, отладка кода вдвое сложнее, чем его написание, так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.

                                                          Извините, но вы сейчас что-то нескладное сказали, над вами потешаться будут…
                                                          • +4
                                                            Я всего лишь процитировал г-на Брайана Кернигана. Если вы вдруг не знаете, кто это, что вы вообще забыли на Хабре?
                                                            • –6
                                                              Предположил что вы соглашаетесь с этим бредом, как видно по реакции — не ошибся.
                                                        • +2
                                                          По-моему, вам холиваров надо. Вы, вероятно, ничего так и не смогли продать по-настоящему — начиная с переговоров, заканчивая внедрением. Тот девиз, который вы переиначиваете звучит так: лучше сейчас, но чтобы решало задачи, чем с рюшечками и няшечками когда уже совсем будет не нужно.
                                                          • +1
                                                            Помню, в середине 90-х разработчики Автокада в течение нескольких лет боролись с какой-то структурой размером в 18 КБ, через которую там шла вся работа. Все понимали, что это плохо, но ничего не могли с ней поделать. Чем это закончилось, не знаю.
                                                            • +2
                                                              Это закончилось тем, что Автокад уже лет 10-15 является лидером на рынке 2D «САПРа», именем нарицательным и основоположником стандартов в этом деле.
                                                              • 0
                                                                Насчет 2D может быть. А так на слуху все больше Cyclone, Pointools, Geomagic, FaroScene, CloudWorx и прочие подобные системы…
                                                                • +2
                                                                  Когда я был инженером, у меня на слуху для 3D были Компас, T-flex, SolidWorks, Pro-Engineer, Unigraphix, и любимая Catia.
                                                                  Как быстро всё меняется :)
                                                                  • 0
                                                                    Это мы со своими сканерами виноваты. Облака по 100-1000 миллионов точек надо чем-то переваривать :) А пользователи обрадовались возможности контроля сборки и reverse engineering — вот им и приходится пользоваться этими системами.
                                                                • 0
                                                                  И при этом жрет ресурсов как лошадь. Нанокад по сравнению с ним, летает при том же функционале :)
                                                                  • 0
                                                                    Когда я работал с AutoCad — нанокада не было вообще.
                                                                    И старые версии ACAD'а летали очень шустро. После примерно 2002 и далее — с каждым годом(!) их стали набивать всякой фигнёй и они становятся всё более неповоротливыми. В те времена я уже перешёл на 3Д и потерял к сабжу интерес.
                                                  • –6
                                                    Вот я именно об этом! Любая прослойка, любая интерпретация с языка на язык, с одной виртуальной машины на другую — куча лишних движений, тормоза и растущая в геометрической прогрессии ненадёжность. К глюкам кода (который теперь пишется «легко и быстро») добавляются глюки прослоек.
                                                    • +1
                                                      Все эти лишние движения неспроста. Например, допустить утечку памяти на Java значительно сложнее чем на С. Виртуальных машин не так уж много, все используют одни и те же машины, следовательно, глюков там мало. Приложения же пишут все кому не лень, соответственно если производительность не так уж критична, то чем больше функционала реализуют стандартные компоненты, тем лучше (например, memory management). «Преждевременная оптимизация — это корень всех бед»(с). Это не говоря об отладке и прочих благах.
                                                      • –2
                                                        Зато допустить утечку открытых файлов — на яве куда проще чем на Си.
                                                        Вся эта автоматическая сборка мусора прекрасно стимулирует написание говнокода.
                                                    • +1
                                                      интересно, те кто минусуют этот пост под контроллеры программировали? :D
                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                      • +1
                                                        А скажите пожалуйста, в ситуации, когда заказчиком поставлено ограничение на стоимость оконечного устройства, что не такая уж и редкость, будет ли допустимо для разработчика встраиваемых вычислительных систем «неоптимально расходовать вычислительные ресурсы»?

                                                        Может ли разработчик встраиваемых вычислительных систем поручиться, что ему не понадобятся в будущем, в соответствии с изменившимися требованиями заказчика, те самые вычислительные мощности, которые он так не оптимально расходовал?
                                                        • 0
                                                          будет ли допустимо для разработчика встраиваемых вычислительных систем «неоптимально расходовать вычислительные ресурсы»
                                                          Ровно до той поры, пока он вписываетесь в поставленные рамки, очевидно.
                                                          соответствии с изменившимися требованиями заказчика, те самые вычислительные мощности, которые он так не оптимально расходовал
                                                          Вот когда понадобятся, тогда и будет оптимизировать, содрав с заказчика на это дополнительные средства в связи с изменениями ТЗ.
                                                          • 0
                                                            Оптимизация встраиваемой системы может состоять не только в оптимизации программной составляющей. Вполне возможна ситуация, когда оптимизация программы исчерпала свои возможности и разработчикам придется переходить к оптимизации железной составляющей системы, что встает в уже совсем другие задачи, другие сроки и другие деньги…
                                                            Не все проблемы возможно решить лишь тратой денег, кое-где возможно придется потратить и свое время, которое могло быть потрачено с куда большей пользой…
                                                            • +3
                                                              Не все проблемы возможно решить лишь тратой денег, кое-где возможно придется потратить и свое время
                                                              Деньги — это время, выраженное через труд и средства производства.
                                                              • 0
                                                                Все же есть некоторая разница между тратой чужих денег и тратой своего времени…
                                                                • +3
                                                                  Не хотите тратить своё время — найдите того, кто будет тратить своё и платите ему зарплату, так вся экономическая система уже много веков работает.
                                                                  • 0
                                                                    Однако мы отошли от темы изначальной дискуссии.
                                                                    Опять же повторюсь, на мой взгляд, не все проблемы можно решить с помощью денег. Физические законы, например, с помощью денег не поменяешь.
                                                                    Что мешает изначально делать нормальную систему, в которой предусмотрены возможные и скорее всего неизбежные изменения в будущем?
                                                                    По крайней мере, не придется тратить свое время, которые могло быть потрачено с куда большей пользой, на куда более развивающие задачи. Причем, вышесказанное верно и для самого разработчика, как и для того, кого наймут.
                                                                    • +2
                                                                      Что мешает изначально делать нормальную систему, в которой предусмотрены возможные и скорее всего неизбежные изменения в будущем?
                                                                      Вы пытаетесь предусмотреть все возможные изменения? Поздравляю, вы зря тратите своё время и деньги заказчика. Проблемы нужно решать, когда они появляются на горизонте, а не высасывать их из пальца.
                                                                      • 0
                                                                        Не все проблемы можно решить, когда они появились на горизонте. Уточню — мы ведь сейчас говорим не о программном коде, а о железе, аппаратуре, на которую неумолимо действуют законы физики, как минимум.
                                                                        Небольшой пример. Заказчику — транспортной компании, в ведении которой автомобили и самолеты, понадобились некие GPS-маячки, которые она хочет ставить на свои автомобили и может быть в будущем на самолеты. Если мы пойдем по принципу «решаем проблемы, когда они появляются на горизонте», то скорее всего сначала будут созданы автомобильные маячки, которые потом попытаются впихнуть на самолеты — мы ведь решаем проблемы по мере их поступления…
                                                                        А потом внезапно выяснится, что проще спроектировать отдельные маячки для самолетов, потому что автомобильные не пролезают либо по электромагнитному излучению, либо по устойчивости к вибрациям и перегрузкам и так далее.
                                                                        Но что интересно, в случае, когда мы предусмотрели «миграцию» наших систем на самолеты, тратится меньше и денег и времени заказчика, чем в разобранном, увы. Небольшая доработка уже существующей системы и разработка новой это две отдельные категории со своими временными и денежными затратами…
                                                                        • 0
                                                                          Вы сейчас привели пример проблемы, которая уже маячит на горизонте, а не высосана из пальца. У меня такое впечатление, что либо я как-то непонятно излагаю свои мысли, либо вы не читаете, что я пишу.
                                                                          • 0
                                                                            Возможно мы друг друга недопоняли. Как я вижу, теоретическая возможность того, что GPS-маяки будут в будущем ставиться в самолеты — эта проблема не маячит на горизонте. А вот когда производителю таки по настоящему становятся нужны GPS-маячки в самолетах — вот тогда проблема и появляется на горизонте.
                                                                            • 0
                                                                              В общем, надо брать человека, понимающего что-то в управлении рисками, чтобы он посчитал, насколько целесообразно для предприятия тратить ресурсы на предусмотрение такой вот гипотетической возможности. Это вопрос исключительно экономической целесообразности, а не идеологии разработки железа и ПО.
                                                                          • +1
                                                                            Пример не из жизни. На самолёты никогда не будут ставить то, что ставят в такси. И наоборот компания-разработчик ПО авионики не будет заниматься gps-навигаторами для такси, потому что её медленный, учитывающий многие тонкости, процесс не заточен под «хочу фичу уже вчера, дёшево».
                                                                            • 0
                                                                              Я знаю — пример из головы, выдуман за пару минут. Хотелось с его помощью показать, что железо не настолько гибкое, как программные продукты и что ему приходится работать не в идеальной среде, а в реальном мире со своими ограничениями.
                                                                              • +1
                                                                                Софт тоже не такой гибкий, как кажется.
                                                                                Вон, в соседнем топике упоминается, что для решения одной проблемы софта (подтормаживание UI андроида) нужно практически с нуля переделывать ОС и весь парк программ. На этом фоне железо еще и подешевле будет.
                                                                • 0
                                                                  Цитата из Гаррисона (вроде бы из «Фантастической саги»): «За деньги мы можем сделать практически всё. А за очень большие деньги мы можем сделать всё абсолютно. Просто на это нужно больше времени и денег»
                                                                  • +1
                                                                    Ну, одно дело цитаты из фантастики, а другое — реальная жизнь…
                                                            • +3
                                                              Несколько раз пробежал глазами ваш коментарий, пытаясь понять, что в нём меня так зацепило. Ведь действительно, простота поддержки кода — это важный фактор и во всех серьёзных проектах её нужно учитывать. Но с другой стороны, фраза про то, что лучше написать хоть и медлительный, но более понятный для человека код подразумевает неутешительный вывод. Индустрия развивается, ориентируясь на посредственных специалистов. Теперь и в сфере встраиваемых систем, традиционно требующей высокой квалификации, больше не нужно быть супер профи чтобы писть код. Более того, лучше быть таким как все; таким, чтобы было легко заменить на кого-то другого.

                                                              Думаю, это не новость и не откровение. Действительно, профессия разработчика становится все больше похожей на профессию рабочего на заводе. Минимум индивидуализма, максимум стандартицации. Только осознавать это немного грустно.
                                                              • 0
                                                                Индустрия развивается, ориентируясь на посредственных специалистов.
                                                                Человеческое время стоит дорого. Даже профи потратит намного больше времени на поиск проблемы в асинхронщине, чем в синхронном коде, например. Зачастую дешевле отдать лишние пару баксов за железку, чем на пару порядков больше за труд специалиста. Экономическая целесообразность, ничего более.
                                                                • +1
                                                                  Но ведь тактовая частота больше не растет? Так что любое масштабирование должно в конечном итоге стать асинхронным.
                                                                  Но все равно непонятно, что сейчас выгоднее — выжимать последние проценты эффективности из однопоточного кода, стараться его сделать неэффективным, но понятным, чтобы профи смог переделать его в параллельный, или все бросить и разрабатывать параллельную архитектуру программы изначально? Я сейчас никак не могу выбрать между первым и третьим вариантами. С одной стороны, большинство пользователей проекта работает в пакетном режиме, и им будет достаточно запускать несколько программ обработки в параллель, с другой — не хочется заставлять тех, кто пользуется графическим интерфейсом, ждать лишнюю минуту появления промежуточного результата (ведь человеческое время стоит дорого...). Но оптимальная архитектура программы для двух вариантов различается кардинально :(
                                                                  • +3
                                                                    Но ведь тактовая частота больше не растет? Так что любое масштабирование должно в конечном итоге стать асинхронным.
                                                                    Асинхронщина != распараллеливание. Когда наступит понимание того, чем они отличаются, продолжим дискуссию.
                                                                    • –1
                                                                      Разумеется, асинхронщина была задолго до многоядерности. Но распараллеливание без взаимодействия потоков… хорошо, пойду искать понимание.
                                                                      • 0
                                                                        Ну как пример.
                                                                        apache для обработки каждого соединения форкается, порождая новый процесс. Обработка запросов происходит параллельно, но код у него при этом синхронный, т. к. поток ждёт завершения сетевых операций, чтения из файлов, etc.
                                                                        nginx работает на фиксированном числе потоков (для упрощения можно сказать, что на одном, там обычно каждое ядро процессора обрабатывает свой набор сокетов). Он не ждёт, пока у него что-то прочитается из сокета/файла или завершится отправка данных, а обрабатывает другие события, меняя логический контекст задачи. Запросы обрабатываются асинхронно, но не параллельно, а последовательно.

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

                                                                        В итоге знаете, чем всё заканчивается? В интернеты смотрит эффективный nginx или squid, которые пилит команда умных людей, готовых поддерживать эту сложную махину, а всю логику миллионов веб-приложений делают на чём-то, что каждый запрос обрабатывает синхронно в отдельном потоке. Просто потому что это проще писать и проще поддерживать.
                                                                        • 0
                                                                          Ясно, спасибо. Тогда аналогия с моей задачей будет — «а что делать, если появятся запросы, синхронная/последовательная обработка которых займет непростительно долгое время».
                                                                          • +2
                                                                            А вот это называется bottleneck (бутылочное горлышко), и его надо оптимизировать. Что не является поводом писать в так весь код.
                                                                            • 0
                                                                              В моем случае это окажется половина кода (около 20000 строк) :( — длинная цепочка обработки потока данных, по большей части последовательная. Чтобы ее распараллелить, придется переобдумывать каждый фрагмент.
                                                              • 0
                                                                Резюмируя: мы получаем надёжность за счёт избыточности ресурсов. Если мне не изменяет память, в военных и используемых в опасных отраслях системах так делали всегда.

                                                                Нет не получаем, потому что «потратить ресурсы впустую» != «увеличить надежность».
                                                                Надежность за счет избыточности — это, например, реализация алгоритма/функции тремя/пятью различными способами разными командами. Во время выполнения «побеждает» наиболее популярный вариант. Ресурсы непосредственно потрачены на увеличение надежности.
                                                                • +2
                                                                  Они потрачены на упрощение, что прямо влияет на надёжность — в простом коде меньше ошибок и их проще исправлять.
                                                              • 0
                                                                К сожалению, вы правы. Один случай мне запомнился надолго. Когда вышел андроид, все кричали что-то вроде: «Да кому нужно это тормозное поделие на java», а потом, когда в телефоны начали встраивать процессоры по 1 Ггц и вышло что-то вроде arduino от майкрософта, для которой можно было на C# писать, все кричали, мол, кому это тормозное говно на микроконтроллерах нужно.
                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                  • 0
                                                                    Я предпочитаю покупать что-нибудь посередине — например, «самую дорогую из не самых дорогих». Но обычно смотрю в первую очередь на функционал и производителя.
                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                      • 0
                                                                        Там я вообще на ценник не смотрю. Иногда случаются неприятные неожиданности вроде носков за 250 руб, но редко.
                                                              • 0
                                                                Видел атмеловский чип внутри какого-то планшета. До сих пор гадаю, что он там делает.
                                                                • 0
                                                                  Atmel делает не только процессоры, но и, например, EEPROM и Flash.
                                                                  • 0
                                                                    Точно не память, шесть-восемь ножек всего было. Вроде, Tiny, но давно было, могу приврать.
                                                                    • +1
                                                                      Вот у меня прямо сейчас на столе лежит платка с микросхемой Flash-памяти о восьми ногах. Не Atmel, правда, а Microchip, но Atmel вроде такие же делает.
                                                                      • 0
                                                                        Сейчас поискал: контроллер тачскрина, MXT224.
                                                                  • +1
                                                                    Вот у меня на столе модуль от пром. контроллера одного из флагманов лежит. В нем тоже Атмел :)
                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                    • +1
                                                                      www.seeedstudio.com/depot/fusion-pcb-service-p-835.html?cPath=185 цены
                                                                      we.easyelectronics.ru/woddy/ocherednye-platy-s-seeedstudio-teper-vishnevye.html фото результата

                                                                      ну или резонит в москве хвалят (сам не сталкивался)
                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                        • 0
                                                                          Фабрично выгодно уже от 10 плат.
                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                            • 0
                                                                              Страныне у вас какие то заводы. У нас тут есть производитель:

                                                                              Подготовка 600р за гербер слой. А дальше при заказе в 10шт будет меньше 300р за плату 10х15. Но там будет маска, металлизация, лужение. Срок изготовления — неделя.
                                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                                • 0
                                                                                  Нет, не шлют. Это наш местный заводик. У них обслуживание совковое, зато можно сначала сделать, а заплатить через пол года :)
                                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                                    • 0
                                                                                      Ну не всем. Но мне уже через три заказа пошло сначала стулья, потом деньги :)
                                                                                  • 0
                                                                                    У них похоже даже сайта нету. Вот что нарыл:

                                                                                    www.price74.ru/?price&mode=firm&id=3588
                                                                        • 0
                                                                          Черт, у меня тоже автомат по продаже напитков!

                                                                          Но решил все указанные три проблемы простым способом — делаю только для себя!

                                                                          Хотя с другой стороны, если мне потребуется второй такой же автомат, то там сделать на 100% идентичную структуру будет сложно — попробую что-то оптимизировать, но уж точно не буду травить и утюжить, а тем более паять МК — простите, но время дороже.
                                                                      • +14
                                                                        У нас её часто используют для прототипов. Дешевле и быстрее купить всё нужное, пускай даже за $200, чем нагружать конструкторов, которых не хватает и день работы одного стоит компании дороже $200.
                                                                      • +3
                                                                        Скорее всего. Ну хочется мне мигать диодами с помощь мк, на кой мне самому разводить плату, искать компоненты. Ардуина изначально и предполагалась для таких вещей. Ну а переплата, автор поста разведет и спаяет мне плату (индивидуально, ну чтоб диодами поморгать)за 20-40$?
                                                                        • –1
                                                                          Да тысячи платок. Не обязательно выбирать самую тупую и огороженную.
                                                                        • +1
                                                                          А Aruduino разве предназначен для профессионалов?
                                                                          • +2
                                                                            Почему нет? Сделал быстро прототип, а если все супер — уже разработал промышленный вариант со своим железом.
                                                                            • +2
                                                                              Вроде есть профессиональные макетные наборы, не?
                                                                            • +1
                                                                              В случае, когда необходимо прототипирование, у разработчиков встраиваемых вычислительных систем есть возможность воспользоваться отладочными наборами, предоставляемыми самим производителем нужного им электронного компонента (коих — производителей — многие сотни и Atmel лишь капля в море).
                                                                              Пример такого набора — CC2530 ZigBee Development Kit (http://www.ti.com/tool/cc2530zdk)
                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                            • 0
                                                                              проектировка платы 2-3 дня. заказ в китае от 10штук — копейки (месяц почту ждать). паять надо время но тоже не особо проблема
                                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                                • 0
                                                                                  Дурик гол как сокол. Там нет ничего практически. Что либо к ней подключать это либо каша из проводов, Которые вечно пытаются вылететь либо делать шилд = плата. А раз плата, то сразу делаем все от и до и дурка не нужна. ЕДинственно бывают редкие случаи когда на дурку можно повесить нужный шилд и это будет прям вот в самый раз.
                                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                                    • 0
                                                                                      Если планируешь выпускать их более менее серийно (хотя бы десятки экземпляров) то заказная плата в любом случае будет. И на худой конец можно будет послать обезьяну которая вытащит ее, вставит новую и ок. А ардуиновский конструктор надо правильно разобрать и собрать.
                                                                                    • 0
                                                                                      Такие ли уж редкие? Тем более шилды можно собирать в этажерку.
                                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                                        • 0
                                                                                          Представь себе эту этажерку в серийном устройстве.
                                                                              • +15
                                                                                Полностью поддерживаю. Именно такой комментарий я сам хотел оставить.

                                                                                Я достаточно наигрался Ардуиной в паре с Андроидом. Было интересно создать какую либо «живую железку» под управлением телефона. Но углубляться в тайны микроконтроллера, пайку и все такое желания не было и нету :)

                                                                                Это почти равносильно тому, что презирать людей которые используют фреймворки или другие системы контент-менджмента, вместо того, что бы писать свои :)
                                                                                • +1
                                                                                  Автор в конце намекал на apple, что ближе к делу нежели фреймверки :)
                                                                                  • –3
                                                                                    Большая часть фреймворков позволяет использовать 0,5-1% возможностей того, над чем они нагорожены.
                                                                                    Скажем, из реляционной БД только записывать и сохранять по одной строчке.
                                                                                    Ардуйня — как раз из таких. Кажется, что стало проще (а на самом деле, вещь закрыли шторкой с окошком, через которое видно лишь пару кнопок).
                                                                                    • 0
                                                                                      Аналогично, процессор использует только доли процента квантовых возможностей кристалла, из которого он сделан. Но мы же им пользуемся!
                                                                                      • –2
                                                                                        Потенциальные возможности кристалла нужно ещё раскрыть, фреймворки же скрывают уже подготовленное и приведённое в готовый к употреблению вид. Преподнося это как «удобство».
                                                                                        • +1
                                                                                          Не скрывают, а подносят в другом виде, более удобном. Аппаратный API оптимизирован для простоты его реализации, а вовсе не простоты работы с ним.
                                                                                          Разумеется ограничения есть, и в случае wiring — довольно существенные, но для многих задач они неактуальны, а в других можно работать в обход. Или вообще отказаться от ардуино — это не серебряная пуля и для многих задач элементарно непригодна.
                                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                                    • +3
                                                                                      Согласен с вами. Но своим постом я хочу привлечь внимание тех, кто хочет больше чем просто поиграться. Я не против Ардуино, но меня расстраивает её использование работниками моей отрасли (идея написания поста у меня родилась после нескольких случаев, 2 из которых я описал).
                                                                                      • +5
                                                                                        Я думаю, те, кто хочет больше, чем поиграться, уже сейчас используют более специализированные инструменты. А настоящего профессионала отличает способность выбирать инструменты, наиболее отвечающие задаче, а не руководствуясь «престижем профессии», «так принято» и «настоящие мужики не используют ардуино».
                                                                                        • +3
                                                                                          Как думаете, я бы стал об этом говорить, если бы я не заметил тенденцию? Вот сегодня человек опубликует в DIY статью, как собрать автомат на ардуино, а завтра студент понесёт преподавателю курсовую, сделанную из этой статьи. Или другой случай — приходит студент и говорит: я хочу научится программировать контроллеры, с чего мне начать — с ардуино?
                                                                                          • +2
                                                                                            А вы ему что отвечаете?
                                                                                            • –2
                                                                                              Вы конечно же знаете классический вопрос, который преподаватели задают первокурсникам радиофакультетов. Для тех, кто может не знать, напомню, о чём речь:

                                                                                              — Здесь есть радиолюбители?
                                                                                              Дальше, если кто-то отозвался (поднял руку, например) — традиционно преподаватель выгоняет отозвавшихся.

                                                                                              Смысл в том, что здесь нет любителей, здесь собрались профессионалы, или те, кто должен стать профессионалом.

                                                                                              Так вот, я это к тому, что если к вам студент принёс курсовую, сделанную на Арудино, его можно смело выгнать — уже не демонстративно. Ни к чему профессионалу использовать любительские инструменты.
                                                                                              • +4
                                                                                                Все верно. Но тому, кто занимается авиамоделированием, ни к чему заканчивать авиационный институт и тестировать свои модели в аэродинамической трубе. Это же хобби.

                                                                                                Просто автор этой статьи немного размыто составил вводную часть и заголовок. В результате все любители восприняли посылку как крестовый поход против радиолюбительства. Ну хочется им платить за что-то. Ну пусть платят.
                                                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                  • –1
                                                                                                    Я бы запрещал… Или требовал бы аргументировать(Почему Атмега?-Почему не ПИК? Не МСП430 или любой другой?). Одна из повседневных задач электронщика выбрать этот инструмент. А специалист-пусть виртуозно владеющий одним инструментом-не кому не нужный специалист. Наличия кучи готовых решений? — Специалист должен уметь разобраться. Специалисту необходимо умение работать с техдокументацией(читать даташиты).
                                                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                      • 0
                                                                                                        Хорошо, но в каждой курсовой работе есть раздел: Выбор элементной базы или подобный ему… А чтобы разобраться с протоколом-проще слепить в Квартусе схему с пиком(там их достаточно много в стандартных либах). А еще сам Микрочип предоставляет хороший эмулятор встроенный в их ИДЕ. Зачем вообще железо использовать в таком случае?
                                                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                          • +1
                                                                                                            Причины выбора дины могут быть типа «широкое распространение, высокоуровневый язык программирования, большое число готового кода»
                                                                                                            • 0
                                                                                                              Трудно найти такой мк, для которого не портирован высокоуровневый С...(мне только один такой попался это 8-ми ядерный P8X32A фирмы Параллакс, но для него есть свой язык) Большое число готового кода-есть примеры на сайте производителя, их часто достаточно для многих задач. Широкое распространение имеют также те же Пики. Что касается дешевизны, то лаунчпад на мсп430 или дискавери стм32 дешевле в 2 раза. Я не говорю выгонять-я говорю пускай аргументируют выбор. Правда есть случаи-когда вот под рукой валялось, потому его и взяли… У меня такое было, когда надо было завтра проект сдавать-а схема на пики вспыхнула синим пламенем, пришлось срочно хватать мк из состава МСП430 лаунчпада. Итого прошивка была за 30 минут портирована, ибо и там и там С.(правда проект не сложный был). С учетом того что МСП430 я держал в руках 1й раз в жизни-не плохой результат.
                                                                                                            • 0
                                                                                                              Простите, спутал квартус с протеусом.
                                                                                                    • 0
                                                                                                      Давайте не будем все же путать одно с другим. Вот придет к вам студент, вы ему и объясните почему не надо использовать ардуино. Если есть специалисты которые разрабатывают какие-никакие промышленные решения на ардуино — пусть. Всегда есть хорошие специалисты и всегда есть плохие! От этого не уйти никуда. Старайтесь готовить хороших специалистов, а ардунио оставьте нам, тем, кто принадлежит к области IT(программисты, сисадмины) но для кого микроконтроллеры не являются профильной стороной. Мы будем делать кучу прикольных штук в свое удовольствие, возможно кто-то сам углубится в микроконтроллеры и сменит ардунио на что-то другое.
                                                                                                      Являясь веб разрабочиком (пишу сейчас на java) я плотно работаю также и с фронтенд частью, и мне постоянно хочется сказать людям с которыми я работаю — «Не используйте jquery, вы плохо знаете js, вам надо его учить, вы пишите плохой код, в котором потом возникает много путаницы и так далее» Но jQuery сейчас популярна и любой за пару дней сомжет написать простенький функицонал, как и с вашим ардуино, но с этим кодом будет невозможно работать, а если проект большой то все надо переписывать иначе будет полная каша.
                                                                                                      Вот вам и аналогия. Всегда есть хорший специалист и всегда есть плохой. Плохой также может стать всегда хорошим если захочет.
                                                                                                      Но есть еще и 3 тип — это люди которые не хотят быть хорошими специалистами и не хотят быть плохими им просто нужно быстро и просто, а главное сейчас что-то сделать, скорее всего дя себя и для этого они ищут простой инструмент.
                                                                                                • +3
                                                                                                  Берите отладочную плату, они есть для всех микроконтроллеров.
                                                                                                  Есть реально мощные варианты с блек-джеком и шлюхами (цветными сенсорными дисплеями, GSM-модулями, сетевыми разъемами и т.д.).
                                                                                                  Стоят обычно не дороже ардуины только с блек-джеком (каким-нибудь модным шилдом типа сетевого).
                                                                                                  Нужно все-таки по сторонам смотреть иногда.
                                                                                                  • 0
                                                                                                    Внезапно, большинство плюсовавших ненавидят говносайты на похапе.
                                                                                                    • +1
                                                                                                      Вот-вот, а ещё не плохо бы разделять людей, которые пишут логику, которая из простой железяки делает нечто умное и тех, кто просто организует работу этой железяки.
                                                                                                    • +4
                                                                                                      Начал изучение мк сразу с AVR. Arduino так и не попробовал. Считаю её игрушкой, которую можно использовать когда надо быстро спрототипировать некое устройство.
                                                                                                      • +2
                                                                                                        ардуино — нормальная тема для прототипирования

                                                                                                        к тому же, если покупать у китайцев, то внезапно оказывается, то arduino mega 2560 стоит не 2500 рублей, а $21.80 + бесплатная доставка
                                                                                                        • –3
                                                                                                          Что?! Это же нереально дорого, неужели Вы не понимаете?
                                                                                                          • +2
                                                                                                            Слушайте, ну куда дорого, я в день больше получаю. С ардуино можно за пару вечеров получить результат.
                                                                                                            Вы вместо этого предлагаете осваивать микроконтроллеры. Ок. Но если бы это было всё… Но ведь это не всё. Кроме собственно микроконтроллеров нужно же еще освоить схемотехнику, научится нормально паять, вытравливать дорожки и еще уйму разных прикладных навыков.
                                                                                                            Я лет 5-6 назад пробовал этим заниматся, получилось не очень и забросил. Чтобы во всем этом как следует разобратся уйдет месяц, не меньше.

                                                                                                            20$ или месяц изучения не нужных мне навыков… хмм, даже не знаю что и выбрать.
                                                                                                            • –1
                                                                                                              Дело не в абсолютной величине. Сравните с ценой аналогов, ну или с ценой «голого» процессора и макетки.
                                                                                                              • +8
                                                                                                                Я знаю, что там компонентов на 1-2$. Ну и что?
                                                                                                                Понимаете, я даже не знаю какие именно компоненты мне нужны. Я не знаю что потом с ними делать. Я не очень хорошо умею паять — мало практики. Не умею вытравливать платы. Не умею составлять схемы.
                                                                                                                А самое главное — не очень то хочу уметь. Что я буду делать с «голым» процессором? Повешу как брелок на ключи?
                                                                                                                • +1
                                                                                                                  А что Вы делаете с процессором впаянным на платку и обозванным «Ардуино»? Травить платы необязательно — есть куча макетных. А навыки пайки еще никому не мешали: китайские провода отлетали и будут отлетать от наушников, зарядок и пр.
                                                                                                                  • +1
                                                                                                                    habrahabr.ru/hub/arduino/posts/ примеров вагон.

                                                                                                                    Для реализации этих же вещей без использования ардуино потребовалось бы на порядок(или на два) больше знаний. А это, зачастую, означает, что они просто небыли бы реализованы вовсе.
                                                                                                                    • 0
                                                                                                                      Да неправда. На макетке с проводами собрать можно не менее сложные штуки, чем на ардуинах. Без паяльника.
                                                                                                                      • +4
                                                                                                                        На С можно писать не менее сложные штуки, чем на питоне с джанго.

                                                                                                                        Скорее наоборот, можно писать куда более сложные штуки. Думаю с помощью отдельных компонентов и самостоятельной их сборки тоже можно сделать куда больше, чем при использовании арудино.
                                                                                                                      • 0
                                                                                                                        Arduino Uno — это МК, программатор, стабилизатор напряжения(одна микросхемка на 3 ножки и пара конденсаторов), кнопочка, светодиоды и разъемы. Какие же она дает такие особенные возможности для реализации? Скорее добавляет лишнего хлама в схему.
                                                                                                                        • +6
                                                                                                                          Она не дает никаких дополнительных возможностей. Она очень сильно снижает входной порог.
                                                                                                                          • 0
                                                                                                                            Но есть же аналоги? Почему не брать их? Например сейчас появились очень дешевый платки от СТМ(Stm32VLDiscovery)? С любимым всеми ядром АРМа на борту.
                                                                                                                            • 0
                                                                                                                              Нагуглил. Стоит 20-23$. Можно за точно такие же деньги купить у китайцев мега2560.

                                                                                                                              Наверняка это хороший аналог, но у ардуины есть несколько заметных достоинств. Например довольно удобный язык(arm насколько я знаю не входит в число поддерживаемых МК). Куча готовых модулей. И самое главное — огромное количество how-to в сети.
                                                                                                                              • 0
                                                                                                                                Можно использовать wirish из проекта maple. И у той платки свой веский плюс — JTAG.
                                                                                                        • +15
                                                                                                          Предлагаете поменять модульную систему с унифицированными интерфейсами на самостоятельную разводку плат, их выпиливание, высверливание, рисование дорожек, вытравливании, лужение, монтаж и т. п.?

                                                                                                          Я помнится сам собирал устройства из модулей подобных «High Sensitivity Voltage Sensor Module -Arduino Compatible», содержащих резистор, транзистор или кнопку, правда самодельных. Один раз попилить, попаять, поклеить, а потом что угодно (типа приёмника прямого усиления, мультивибратора для мигания гирлянд или цветомузыки) можно было собирать без пайки, плат и т. п., про складывая кубики.
                                                                                                          • –10
                                                                                                            Дороговато, знаете ли, использовать какие-нибудь «дуины» в качестве игрушек…
                                                                                                            • +3
                                                                                                              Это и есть классическая игрушка, хобби из раздела DIY.
                                                                                                              • +22
                                                                                                                Я не хочу с игрушкой тратить все выходные, пытаясь адекватно выпилить плату, развести и пропаять домашними средствами. Уже молчу, что какой-нибудь RS-232 или другие приблуды для связи с компьютером заработают не с первого раза.

                                                                                                                Это так, крик души :)
                                                                                                                • +2
                                                                                                                  Ну, не знаю, что вам сказать: я сначала на макетке собираю; потом уже напаиваю…
                                                                                                                  • 0
                                                                                                                    Даже GPS или Ethernet? :)
                                                                                                                    • +1
                                                                                                                      У нас все проще: RS-232, CAN, SPI…
                                                                                                                      • 0
                                                                                                                        Ну так у вас проще, а нас, может быть, и нет)
                                                                                                                      • +1
                                                                                                                        Я таким не занимался, но видел макетку с гпс приемником. Там одна здоровая гибридная микросхема и куча проводков было-ничего сверхневозможного. С ГСМом ситуация аналогичная(например модуль SIM300). А вообще есть куча макеток и плат переходников под корпуса TQFP, SOIC и тд(что касается езернета). Как оказалось, при наличие готового посадочного места паять-вообще песня.