Как стать автором
Обновить

Комментарии 516

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нет не получаем, потому что «потратить ресурсы впустую» != «увеличить надежность».
Надежность за счет избыточности — это, например, реализация алгоритма/функции тремя/пятью различными способами разными командами. Во время выполнения «побеждает» наиболее популярный вариант. Ресурсы непосредственно потрачены на увеличение надежности.
Они потрачены на упрощение, что прямо влияет на надёжность — в простом коде меньше ошибок и их проще исправлять.
К сожалению, вы правы. Один случай мне запомнился надолго. Когда вышел андроид, все кричали что-то вроде: «Да кому нужно это тормозное поделие на java», а потом, когда в телефоны начали встраивать процессоры по 1 Ггц и вышло что-то вроде arduino от майкрософта, для которой можно было на C# писать, все кричали, мол, кому это тормозное говно на микроконтроллерах нужно.
НЛО прилетело и опубликовало эту надпись здесь
Я предпочитаю покупать что-нибудь посередине — например, «самую дорогую из не самых дорогих». Но обычно смотрю в первую очередь на функционал и производителя.
НЛО прилетело и опубликовало эту надпись здесь
Там я вообще на ценник не смотрю. Иногда случаются неприятные неожиданности вроде носков за 250 руб, но редко.
Видел атмеловский чип внутри какого-то планшета. До сих пор гадаю, что он там делает.
Atmel делает не только процессоры, но и, например, EEPROM и Flash.
Точно не память, шесть-восемь ножек всего было. Вроде, Tiny, но давно было, могу приврать.
Вот у меня прямо сейчас на столе лежит платка с микросхемой Flash-памяти о восьми ногах. Не Atmel, правда, а Microchip, но Atmel вроде такие же делает.
Сейчас поискал: контроллер тачскрина, MXT224.
Вот у меня на столе модуль от пром. контроллера одного из флагманов лежит. В нем тоже Атмел :)
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Фабрично выгодно уже от 10 плат.
НЛО прилетело и опубликовало эту надпись здесь
Страныне у вас какие то заводы. У нас тут есть производитель:

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

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

Хотя с другой стороны, если мне потребуется второй такой же автомат, то там сделать на 100% идентичную структуру будет сложно — попробую что-то оптимизировать, но уж точно не буду травить и утюжить, а тем более паять МК — простите, но время дороже.
У нас её часто используют для прототипов. Дешевле и быстрее купить всё нужное, пускай даже за $200, чем нагружать конструкторов, которых не хватает и день работы одного стоит компании дороже $200.
Скорее всего. Ну хочется мне мигать диодами с помощь мк, на кой мне самому разводить плату, искать компоненты. Ардуина изначально и предполагалась для таких вещей. Ну а переплата, автор поста разведет и спаяет мне плату (индивидуально, ну чтоб диодами поморгать)за 20-40$?
Да тысячи платок. Не обязательно выбирать самую тупую и огороженную.
А Aruduino разве предназначен для профессионалов?
Почему нет? Сделал быстро прототип, а если все супер — уже разработал промышленный вариант со своим железом.
Вроде есть профессиональные макетные наборы, не?
Тоже вариант
Конечно, именно так всегда и делается. Вот например отличная макетка www.terraelectronica.ru/news_made.php?ID=53
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
проектировка платы 2-3 дня. заказ в китае от 10штук — копейки (месяц почту ждать). паять надо время но тоже не особо проблема
НЛО прилетело и опубликовало эту надпись здесь
Дурик гол как сокол. Там нет ничего практически. Что либо к ней подключать это либо каша из проводов, Которые вечно пытаются вылететь либо делать шилд = плата. А раз плата, то сразу делаем все от и до и дурка не нужна. ЕДинственно бывают редкие случаи когда на дурку можно повесить нужный шилд и это будет прям вот в самый раз.
НЛО прилетело и опубликовало эту надпись здесь
Если планируешь выпускать их более менее серийно (хотя бы десятки экземпляров) то заказная плата в любом случае будет. И на худой конец можно будет послать обезьяну которая вытащит ее, вставит новую и ок. А ардуиновский конструктор надо правильно разобрать и собрать.
Такие ли уж редкие? Тем более шилды можно собирать в этажерку.
НЛО прилетело и опубликовало эту надпись здесь
Представь себе эту этажерку в серийном устройстве.
Полностью поддерживаю. Именно такой комментарий я сам хотел оставить.

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

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

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

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

Так вот, я это к тому, что если к вам студент принёс курсовую, сделанную на Арудино, его можно смело выгнать — уже не демонстративно. Ни к чему профессионалу использовать любительские инструменты.
НЛО прилетело и опубликовало эту надпись здесь
Ерунду пишите. Выполнение каждой курсовой подразумевает достижение той или иной цели. Если выбор инструмента разрешен студенту, если выбор андурино будет обоснован и не будет противоречить цели курсовой, то почему бы и нет?

если к вам студент принёс курсовую, сделанную на Арудино, его можно смело выгнать — уже не демонстративно

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

Пинком под зад таких преподавателей из ВУЗов. Вы, простите, вообще преподавали хоть семестр?
Я бы запрещал… Или требовал бы аргументировать(Почему Атмега?-Почему не ПИК? Не МСП430 или любой другой?). Одна из повседневных задач электронщика выбрать этот инструмент. А специалист-пусть виртуозно владеющий одним инструментом-не кому не нужный специалист. Наличия кучи готовых решений? — Специалист должен уметь разобраться. Специалисту необходимо умение работать с техдокументацией(читать даташиты).
Понимаете, цели могут быть разные. Если цель разобраться с конкретным семейством контроллеров, это одно. А если цель — сделать модуль управления для Фиговины, которая работает по замороченному протоколу и цель работы: разобраться с этим протоколом, то совершенно не важно, на чем будет реализован сам модуль управления. Важно, чтобы был изучен сам протокол.

Пример высосан из пальца, но тем не менее. Это как с алгоритмизацией. На первом курсе студентам запрещают пользоваться библиотеками, заставляя их самих реализовывать структуры данных, сортировки, поиски и т.д. Но когда на 4 курсе студент в качестве курсовой пишет, например, ftp клиент, глупость запрещать ему пользоваться stl, например.

Все зависит от цели работы.
Хорошо, но в каждой курсовой работе есть раздел: Выбор элементной базы или подобный ему… А чтобы разобраться с протоколом-проще слепить в Квартусе схему с пиком(там их достаточно много в стандартных либах). А еще сам Микрочип предоставляет хороший эмулятор встроенный в их ИДЕ. Зачем вообще железо использовать в таком случае?
Не нужно доводить до обсурда. Я лишь писал о том, что подход: «использует андурину — выгнать», — контрпродуктивен по своей сути. Я несколько лет преподавал в ВУЗе и поверьте, для части работ жестко регламентирован перечень технологий, библиотек и т.д. А для части работ, плевать на чем она делается, т.к. сделать ее хоть на чем-нибудь уже нетривиальная задача сама по себе.

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

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

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

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

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

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

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

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

Но это шутка :)
В том-то и дело, что если вы хотите собрать макет — ардуина чудесно подходит. Но меня вгоняет в смятение тот факт, что ардуину люди суют в продакшн. Особенно, когда лепят на ней n-коптеры.
Берите отладочную плату, они есть для всех микроконтроллеров.
Бывают реально мощные варианты вплоть до цветных сенсорных дисплеев и GSM-модулей.
Согласен. Возможности Ардуины очень скупы. Все что можно на ней собрать без использования дополнительных модулей можно собрать вообще без макетирования (на худой конец смоделировать в том же протеусе). Пихать ардуино в окончательное изделие — вообще кощунство.
Кстати, к сожалению, разработчики (точнее, дизайнеры) игр думают также.
Зачем тратить время на поиск аптечек — отошёл в уголок и раны сами собой затянулись.
Модное говно вроде CoD — и вовсе мультик, который посмотрел от начала до конца за 4-6 часов и забыл.
Никакого фана.
Сильно дороже чем PC с топовым процессором, парой топовых видеокарт и т. п.?
Ну, если на то пошло, то можно и «мэйбахи» какие-нибудь вспомнить…
Их никто не позиционирует как игровые, а тут именно «игровой PC», «игровой ноутбук» по цене много выше «офисного»/«домашнего».
Хорошо написал! Действительно, поражаюсь иной раз, когда вижу, что задачи простой автоматизации решают путем нагромождения множества всех этих *duino, NI'шных и прочих модулей. А когда этим еще и «рулят» из LabView, я понимаю: целью работы был только распил денег.
Автоматизации чего? Вы же не промышленные устройства?
> Автоматизации чего?

Да хоть завода!
Ну кто будет автоматизировать завод с помошью платформы, предназначенной для " небольшое прикольное устройство может даже человек без специального образования, с минимальными познаниями в программировании и с отсутствием познаний в электронике" ССЗБ, если что-то пойдёт не так.

habrahabr.ru/post/141442/ ну вот чел например в оборонку влез с андруино… Думаю дальше будет хуже…
Тут скорее о состоянии оборонки нужно сожалеть, что конструировать электронные приборы приходится людям, не имеющего соотвествующего образования.
Если оно пользуется спросом — то почему бы и нет?
Я вот сейчас вряд ли встречу программиста, котороый пишет на java и прям-таки занимается оптимизацией на уровне ассемблерной сборки. А ведь мог бы. Вопрос в затратах. Иногда дешевле потратить больше железных мощностей и заплатить за якобы никому не нужные резисторы с ценой по $8, чем разбираться, какой электрон куда девается.

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

Я часто сознательно пишу код, который может и не оптимален по скорости, но зато в результате дает тот «конструктор», из которого потом можно легко клепать, не думая об особенностях. Это оправдано, когда скорость работы не важна, а важна скорость разработки. Другое дело когда важна скорость работы — тогда уж извини, скорость работы устройства возрастет, но поимеем проигрыш в другом — во времени этой разработки. Тут то же самое — либо клемпаем быстро, но затратно по деньгам, либо дешево, но сколько лет надо на изучение микроэлектроники в универе…
Да уж, не понять нам, нищим бюджетникам, такого…
спор идеологий. На мой взгляд излишняя оптимизация порой отрывает у проекта львиную долю времени. Последнее время калёным железом удаляю из себя оптимизаю. Нехватает мощности — другой камень. Памяти, другой камень и т.п. Цена вопроса ОДИНАКОВАЯ почти. Даже так, более мощный камень стоит ДЕШЕВЛЕ!
Я тоже стараюсь не сильно на оптимизации зацикливаться. Для начала — сделать так, чтобы система базовые функции правильно выполняла. А потом уже, если вдруг время появится, можно и поиграться в оптимизатора.
Есть тонкость путаницы тёплого с мягким. Если нужно скхозить что-то побыстренькому, то ардуино вполне. Если серьёзнее, то на мой взгляд стоит вообще забыть о микроконтроллерах AVR, есть более дешёвые и в тысячу раз более мощные решения.
НЛО прилетело и опубликовало эту надпись здесь
Вот часть аппаратуры Большого Адронного Коллайдера управляется LabView. Наверное тоже дураки ;-) Просто в странах с более развитой экономикой (на которые Ардуина в большей степени и рассчитана) стоимость труда, накладные расходи, стоимость времени ожидания, стоимость рисков что что-то не сразу заработает значительно выше чем у нас. Стоимость плат на их фоне уже не так сильно влияет.
А БАК тоже на Ардуине работает? :)
Нет, ну а что вы хотели? По-моему, Arduino за глаза хватает тем, кто не особо занимается ни низкоуровневым программированием, ни вообще чем-то связанным со схемотехникой и другими сложными словами.

Профессионал прекрасно знает, что Arduino пацанам ему не надо. Так что…
А встраиваемые системы это круто. Но Arduino как-то раз сэкономил столько времени и нервов, пока я пытался завести UART между контроллером и D-Link DIR-320. Ардуинка помогла быстро решить нужную задачу. И, да, подход хоть и дилетантский, но задачу он выполнил.

P.S. А чем подсветка кода-то не устроила? :)
Автор критикует продукт нацеленный на любителей и поиграться с профессиональной точки зрения. Помоему это как-то не правильно. Разве есть замена ардуино, для людей которые не хотят сталкиваться с паяльником, но хотят попрограммировать микроконтроллеры?
Совсем не сталкиваться все-таки не удастся, даже с дуиной. Питание и моторчики-лампочки придется паять.

Замена есть, конечно есть. Вот, например, ST выбускает копеечные платы с макеткой в комплекте. Ищите stm32f0-discovery.
Но инстинкт и нежелание читать английскую документацию не позволяют выбиться из общего тренда. И ардуино царствует в умах самодельщиков.
НЛО прилетело и опубликовало эту надпись здесь
Замены нет. Но программирование ардуины — иллюзия программирования МК, мир грёз, в котором неокрепший ум лишь погрязнет.
Автор критикует неспособность мыслить. Не более того.
И нежелание мыслить. А таких большинство.
Я программист но порой приходят в голову «железные» идеи. И они дохнут как мухи в банке т.к. нет необходимых знаний для электроники. Собирался в скором времени купить ардуину чего-то смастерить но Вы меня опечалили. Я увидел в топике ссылки на другие темы, может они мне помогут, просто…

Ну пугает меня вид печатной платы, и советы типа сделайте плату дома это же так просто. Хочется чего-то такого что собрал как с ардуиной на шилдах да на breadboard-ах и пользуйся…

Короче внесли вы сумятицу в мою душу )
Нечего печалиться — покупайте, если нравится. Эта статья как критика профессиональным раллистом гражданской машины с точки зрения ее пригодности для ралли.
Скорей как критика хачи тюнинга. Не есть прикольные ребята которые делают его ради лулзов, чисто поржать. Это нормально. Хобби такое. Но ведь, глядя на них, находятся те кто начинает это повторять уже на полном серьезе. И вот тут становиться страшно.
НЛО прилетело и опубликовало эту надпись здесь
Ищите другие варианты… в итоге упомянутый выше программист потратит дни/недели на поиски, сравнения, вникание в непрофильную область. А если пересчитать затраченное время на стоимость часа его работы… ой, не факт, что ардуина эта проклятая выйдет дороже.
Доступность информации сильно недооценивают.
Если мы ардуину рассматриваем только в качестве исключительно хобби, на выходных пописать кода и поморгать диодами, то сколько будет стоить собрать аналог, начиная с покупки нормального паяльника, химии, инструмента и материалов?
Я думаю паяльник будет самой дорогой покупкой.
Мне бы цифру, что можно было сравнить. Хоть примерно.
Самая большая цифра будет «Время на обучение» :)
Время на обучение? Это несложно. Я научился за 3-4 дня. Самое сложное для меня было правильно нарисовать схему, и аккуратно просверлить отверстия. Если собирать аналог Arduino, то можно воспользоваться готовыми вариантами и просто распечатать.
У некоторых андруина стоит как час работы. Потому из плюсов сделать самому — только полученный опыт.
Зависит от качества конечно. Самый простой паяльник поиграться на выходных стоит меньше 200 рублей. Кусок текстолита в пределах 100. Хлорное железо для травли тоже рублей 70 за банку. Ну и детали.
stm32f0-discovery — от 8 долларов. Мощнее дуины намного, паять не обязательно.
stm32f4-discovery — от 15, мощная, куча вкусняшек на борту.
stm8s-discovery — от 6 долларов, сопоставима с дуинами по мощности, минималистичная, зато можно отломать от программатора.

И это только ST.
В пару-тройку тысяч для базового набора уложитесь (но все равно, если радиоэлектроникой занимаетесь, вам все это будет нужно).
А самопальный аналог ардуины обойдется рублей в 200..300. Но, конечно, все зависит от потребностей: можно и в 50р уложиться.
Я не занимаюсь радиоэлектроникой, потому мне, по вашим данным, внезапно дешевле купить готовый набор ардуины за 2500 рублей, вместо базового набора инструмента + затраченного на все это времени + деталей для собственно аналога. Вот вам и ответ. Я еще раз говорю, я рассматривал исключительно в виде хобби.
Да вам никто и не возражает: если «дуины» используются только как хобби — пожалуйста. Деньги ваши.
Но если их начинают использовать для чего-то более серьезного…
Прикол в том, что сама по себе дурка ничо не умеет. Совсем. От голого мк ее отличает только подведенное питание, интерфейс для связи с компом и штырьки на портах. Вот и все, что там есть. Так что паять все же придется.
Про либы и документацию забыл.
Да и digitalWrite(pin, value) куда проще, чем регистры дергать. Ведь надо учесть режим вывода, проверить, переключить, после уже записать нужное состояние.
Но и медленнее конечно в 60(!) раз чем обычная запись в регистр. Но если ты моргаешь светодиодами какая разница сколько тактов это займет.
А при чем тут оно? Бери эту ардуину иде, пиши со своими любимыми либами, а полученный хекс заливай в микроконтроллер своей платы. Или накатывай бутлоадер, а дальше работай как с ардуино. Правда в выборе ограничен будешь только теми мк, что поддерживаются дуркой.
Именно так и делаю :) К сожалению это служит барьером для освоения других платформ. Дискавери и msp430 так и лежат на полке без дела :(
Я себе лет 7 назад собрал «ардуину» за ~500 рублей на макетке. Самое дорогое это pic16f877 был. 4 семисегментных индикатора, 6 кнопок (из мыша), панелька под МК и под кварцы, куча разъемчиков для подключения (с материнки), связь с компом по RS232 + внутрисхемный программатор. Бонусом возможность программировать радиостанции с компа :) Использую для оттестировать код, проверить работу периферии, изучить какое-нибудь новое устройство. А потом прошивку переношу в готовое устройство нажатием пары кнопок.
Думаю, не стОит так сурово. Ардуина занимает свою нишу, иначе она не стала бы столь популярной. Её назначение — именно поиграться. Сделать, например, автоматический выключатель света в сортире, или интеллектуальный преобразователь RS232 — GPIO. Солидарен с автором, самого ужаснуло упоминание сей железки оборонным инженером. Легкая попсовая штука, позволяющая людям несложно реализовывать немудрёные затеи, хотя и попадаются талантливые штуки. А что до цены на прибамбасы к ней — спрос рождает предложение.
Подписываюсь!
Да, мысли интересные. И только для разработчиков встраиваемых систем. А люди вокруг — разные.

Я программист и контроллеры мне никогда не попадались. Но вот увидев статьи, что мигать светом в туалете можно даже через интернет — меня задело! И так появилось небольшое хобби, где управлять мнимой лампочкой нужно без использования большого системного блока ATX. Примерно так.

Я наверно никогда не буду разрабатывать встраиваемые системы в стиральной машине. А вот сделать простую штуку для себя — только рад буду. Мне не нужно брать голый контроллер оптом в Китае, искать обвязку к нему, пилить и травить плату. Зачем мне этим заниматься, если времени и так мало? Я куплю Arduino за 10$, включу его в USB и за один вечер сделаю что давно хотел — например сигнализацию в дачный домик с GSM-модемом, охранными и пожарными датчиками! Я уж я её не буду продавать налево и направо — я буду пользоваться ею сам.
А что вы думаете о TI Launchpad например?
Launchpad хорошая штука, но думать и изучать там придется гораздо больше. Хотя бы даже архитектуру контроллеров MSP430.
Мы с коллегой хотим преподавать на его основе студентам основы программирования микроконтроллеров. MSP430G2553 имеют всё необходимое для обучения основам, являясь при этом запредельно дешёвыми (и вообще потенциально-бесплатными для университетов).
Тем более, что при всех своих достоинствах, он является достатчно простым для понимания (характерная особенность большинства устройств TI).
А либы где готовые брать? Сколько займет прикрутить к msp430 например тот же езернет? К ардуине это потребовало менее часа (найти либы, проверить, выбрать стабильную).
Мне кажется, вы не до конца понимаете суть предмета «Программирование микроконтроллеров».
Отлично понимаю. Вопрос что вы хотите преподавать. Если программирование «сферического контроллера в вакууме» то msp430 и подойдет. Если же хотите подготовить специалистов прикладного уровня, то и учить надо что-то более распространенное.
Если в университетах начнут изучать ардуино, то откуда будут браться специалисты, чтобы писать к нему новые либы?
Из тех изучающих, кто захочет понять, «что у нея внутре». Такие наверняка найдутся.
Я не об ардуине говорю. Для подготовки к реальной жизни надо преподавать stm32 или AVR. Вы зайдите в любой магазин хоть российский хоть ебай и сравните цены и доступность AVR и msp430. При производстве реальных изделий MSP оказываются неконкурентноспособными. Ну и с документацией/примерами тоже туго. Единственный плюс — дешевые макетки, но этот плюс весьма сомнительный.
Преподавание stm32 или AVR я поддерживаю. Отладочной платы такого
image уровня хватит на целый курс, а более-менее нормальный ВУЗ может себе позволить изготовление таких самостоятельно.
Пару раз видел девайсы на MSP430. И оба были измерительными приборами. Здесь в пользу MSP430 играют два фактора — микропотребление (которое вообще одна из ключевых фишек семейства) и хорошие АЦП.
Так что свою нишу они находят. Ну и в конечном счете не так важно, на чем осваивать все это дело — в общем они одинаковы, а если инженера останавливают частные различия — его плохо обучили. На «освоенном» МК удерживает не знакомство с ним, а база наработок.
У нас в Киеве лаунчпад свободно достается и стоит аж 10$. Образовательные учреждения на сайте ТИ могу заказать БЕСПЛАТНЫЕ семплы. Также данные семплы могут получить студенты через своих преподов(увы, для частных лиц семпл получить практически нереально). В качестве семпла есть куча отладочных модулей с впаянными экранчиками и прочей фигней. У них хороший набор периферии и они достаточно мало жрут. Но я бы взял все таки стм32 для преподавания… Все таки АРМ более актуальней.
Специалистов прикладного уровня в ПТУ учат.
Ага. Тогда и и с++ надо преподавать в ПТУ. а в вузах только брейнфак. отличный аргумент.
Первым языком программирования, который нам рассказывали в университете, была машина Тьюринга — в курсе матлогики на первом курсе. Фортран появился только на втором. Считаю, что удачный подход.
Интересная позиция, но я её правильной не считаю. Особенно тратить время на фортран, когда есть более актуальные и востребованные языки.

Машину Тьюринга одобряю, т.к. это просто базовые основы.
«Когда» — правильный вопрос. Это было в 85-м. Более актуальных языков найти было не очень просто (разве что Алгол и PL-1).
в 85 году согласен, было актуально.
Я всегда думал, что выпускнику вуза должно быть все равно, на каком языке программирования ему придется писать на работе, на бейсике или на джаве, с какими микроконтроллерами ему придется столкнуться. «Ай мы не учили ARMы, у нас лабы на К580 ардуине были».
Кстати да, я в вузе на к580 и к1801 учился программировать, 7 лет назад всего лишь. :)
Я тоже так думал, пока не пришлось программиста на работу нанимать. Вот тогда и приходишь в шок, от того что наши ВУЗы выпускают. А свободно программируют на любых языках единицы.
Если же хотите подготовить специалистов прикладного уровня, то и учить надо что-то более распространенное.
Однако Ваш язык программирования не так распространен в вузах :)
Представляю: кафедра С++, кафедра шарпа, кафедра Java, кафедра эзотерических языков.
Тоже думаю, что все равно. Да для него и лямбда-выражения на ассемблере не должны быть проблемой.
И он должен в рамках обучения написать хотя бы два malloc'а. А то придется программировать какой-нибудь DCPU-16 с нуля, и что он делать будет? :D
Писать «по собственному желанию»:)
А кто ж его потом на новую работу возьмет? Без знания DCPU-16?
В свое время максимальное что прикручивали с микроконтроллерам это была «внешняя память» (проекция триггеров и тп в память). А там уже зная основы, архитектуру можно было написать все что душе угодно.

Любимый студенческий контроллер:
image

Который управляет стендами (делали девушки кстати):
image
image
Да они для всех практически бесплатны, цена в $4.30 чисто символическая, по названию платформы 430, и это включая дорогущую FedEx доставку. Документации полно, сред разработки и компиляторов хватает на любой вкус.

Я выбрал эту платформу из-за наследия PDP-11, раньше программировал на БК-0010. Ассемблер MSP430 конечно довольно сильно отличается, но и в нем есть своя прелесть и красота.
Где они дешевы-то? Дешев только LaunchPad, сами МК дороже AVR'ок серии mega, при крайне спартанском фарше.
LP наверное единственная отладочная платформа, закупаемая десятками ради прилагающихся к ней камушков (два G2xxx в комплекте и один F1612 в FET'е). А иногда ее и как arduino используют.
Тем более, что при всех своих достоинствах, он является достатчно простым для понимания (характерная особенность большинства устройств TI).

Ага :) Сейчас как раз обдумываю статью про ассемблер C6xxx :)
Пользуясь случаем, спрошу у профессионалов. Сам электронщиком не являюсь, однако электронная часть будет использована в одном проекте. Задача: создать ≈100-150 устройств для пилотного проекта, использующих ZigBee. Возможностей готовых плат XBee не хватает.

Пока вижу варианты решения:
1. Arduino — благодаря стандартизованному шелду можно купить тираж в сотню устройств, соединить их, получить готовый прототип решения. Стоимость получится порядка (30+15)*100 = 4500 евро. Время разработки фактически эквивалентно времени написания и отладки прошивки, т.е. 1-2 недели.

2. Спаять самому: стоимость будет примерно раза в 2 дешевле, т.е. можно уложиться в 2000 евро. Меньше не получится, т.к. ZigBee модуль. Время создания будет равно написанию прошивки И пайке, отладки и тестированию каждой из плат. На пайку и тестирование 1 платы уйдет пускай 30-60 минут. Т.е. около 8 плат в рабочий день. 100 плат будут готовы за 12 рабочих дней + риски. Плюс специалист по электронике будет заниматься тупой и совершенно демотивирующей работой, и велика вероятность что он просто пошлет нас куда-подальше, ибо «не для того я столько учился чтобы китайцем работать».

Организовать сборку в Китае или Зеленограде — не вариант, т.к. стоимость в десяток раз превысит стоимость Ардуин, а сроки будут раза в 4 выше чем спаять самому.

Какие еще варианты?
aronsky, dlinyj, shtirlitsus, Eddy_Em, k0ldbl00d и сочувствующие, предлагающие использовать другие решения. Ваше мнение действительно хотелось бы услышать, т.к. в данный момент действительно стоит такая задача, и, возможно, вы подскажете действительно отличный вариант. Заранее спасибо!
К сожалению по тематике Зигби ничего не могу сказать.

Можно нанять студентов, которые будут паять за еду :), как делает dihalt
Опасаюсь, что получится отвратительное качество. Если будет рендомно лагать сотня устройств, то поддержка такого решения превратится в сущий ад.
ARM — спасёт отца русской демократии. Он дешевле и мощнее любого AVR
Плохо, что попадаются такие ужасные корпуса, что замучаешься паять!
А ведь на стадии разработки паять совсем не хочется (т.к. наверняка, пока доведешь устройство до рабочего вида, спалишь контроллер-другой)…
Но, конечно, сжечь двухсотрублевую МКшку — дешевле, нежели ардуину какую.
Они еденицы долларов стоят :). Ну TQFP вполне паябельные даже совковым паялом.
Сорокарублёвую STM еще дешевле. Предлагаю сделать макет на Arduino, а на этапе изготовления развести печатки под рассыпуху (тщательно всё проверив), попробовать собрать одно устройство методом ЛУТ (если слоёв 1-2), а потом уже заказать платы.

Если цель — сделать быстрее, проще и дешевле — оставайтесь на ардуино. Если — качественнее, компактнее, серьёзнее и дешевле — делайте на рассыпухе.
Это решается самотестированием. Или специальной тествой прошивкой плюс тестовая пепяка одеваемая на порты во время теста. Не забывайте что сборка из модулей ардуины запросто может так же неконтачить.

А по поводу монтажа можеем посотрудничать. У меня как раз бойцы простаивают
По монтажу вопрос будет актуальный после прототипа. Так что можем. Однако это ближе к зиме. Сейчас компонентов там будет порядка 10-15 баксов, плюс плата, плюс монтаж… Сомневаюсь что выйдет дешевле 40 баксов в итоге, а 5 баксов экономии не оправдывают того количества действий, которые нужно ради них проделать.

В конце концов там надо еще софт писать, другие вопросы решать, а тут за 5 баксов на месяц работы.
Тестовая пепяка — это сильно :)
Как раз возникла потребность в монтаже компонентов. Честно говоря, думал что у таких спецов как Вы есть какой-то более хитрый автоматизированный способ монтажа/пайки, нежели студенты, готовые работать за еду =)
Хитрый способ = сотня китайцев завод в Китае, найденный путем долгих поисков, проб и ошибок. Думал что есть предложения наподобие этого, но чтобы и компоненты сразу напаивали, по 1 центу за пайку.
1 цент за пайку это для меня дорого %)
С китайцами есть проблема — таможня. При моих объемах производства попадаешь на растаможку. Есть и конторы которые это берут на себя и паяют дешево (на уровне моих монтажников), но у них минимальный заказ от полумиллиона рублей. Я конечно осилю, но пока мне проще так.
Если необходимо произвести партию устройств, больше чем десяток-другой, у нас обычно пользуются услугами добрых китайцев: те довольно немного берут за изготовление партии печаток + пайку элементов.
Правда, я лично с китайцами не связывался: серийным производством не занимаюсь, а одиночные изделия просто берешь себе, да паяешь.
поддерживаю. в данной ситуации — Китай — это наше всё.
Первая плата стоит от 5 до 15 тысяч евро. Тираж обычно берут не менее 1000 устройств. Сроки для производства и поставки первой партии несколько месяцев.
Это у кого такие варварские цены? Когда я узнавал, то стоимость изготовления первого образца (под соглассование) была 500 баксов. А дальше работают они только от 20к евро за заказ, возможна рассрочка. Оплата нормальным безналом, доставка до города транспортными компаниями.
К тому, же если ошибся в дизайне платы, то весь тираж, включая дорогущий первый экземпляр идет в утиль. Равно как и если после портотипа нужно будет изменить устройство — снова платить за первый экземпляр немалое бабло.
нет конкретики. думаю, можно подобрать подходящий по оптимальности эквивалент ардуины или любой другой отладочной платы с модулями, но, опять же зависит от поставленных задач и сроков реализации.
Задача — сбор данных со счетчиков воды/газа/температуры/влажности и передача данных по ZigBee, организованной по mesh-принципу. Решение должно быть энергоэффективным, предполагается возможность работы от батареек. К одному устройству нужна возможность подключения не менее 3 датчиков. Тип сигнала с датчиков может быть разный (аналоговый, импульсный и т.д.).

Для обеспечения энергоэффективности устройство должно 99.9% находиться в спящем режиме, и при этом продолжать подсчет импульсов со входов импульсных счетчиков. По расписанию должно просыпаться и отправлять данные.

На пилотный проект нужно от 100 до 200 устройств. Опыт работы с Китаем и Зеленоградом имеется по другим проектам (существенно более сложным с точки зрения электроники). Первая плата пробная стоит в 2-3 раза больше чем весь тираж Ардуин, сроки тоже большие, вопросы с таможней и прочей бюрократией.

На проект отводится 1,5-2,5 месяца.
Энергоэффективность и спящий режим тогда про Arduino даже не стоит вспоминать.

И со сроками что-то вы совсем загнули. За 2,5 месяца вы хотите разработать протоколы обмена, железо, софт, произвести испытания и отладку ПАКа и произвести 100 терминальных устройств?
Это не серьезно.

При нормальных сроках можно было бы порекомендовать например

CC2420+MSP430 ZigBee/IEEE 802.15.4 development kit

Необходимые АЦП у msp430 имеются. Энергопотребление ниже некуда. Исключительно профессиональное решение…

Впрочем уверен, что у ST и Atmel'а тоже найдется что сказать по этому поводу…
Сколько людей занимается проектом и каких они специализаций? Это важно.
После выбора микроконтроллера (низкое потребление, развитая система простоя, надёжность, запас мощности для апгрейдов), закажите себе отладочную плату у производителя. Соедините прототип проводами и начинайте писать софт.
Тем временем электронщик разводит это, проверяет и отправляет китайцам для изготовления печаток. Только печаток, без напайки — это не будет стоить дорого. Китайцы сделают и электрические тесты.
Когда печатки придут — их могут собирать студенты первых курсов либо колледжей соответствующей специальности за опыт.
Я не знаю конечную цену вашего устройства, но 45 евро только за детали — это много. Вы уверены, что устройство будет конкурентноспособным? Эту ценц вы особенно почувствуете, когда пойдёте в производство (больше ≈100-150 устройств).
Количество людей будет зависеть от объема инвестиций, однако на прототип нужно расчитывать на 3 профессиональные пары рук — электронщика, и 2 программистов. У всех троих большой и богатый опыт работы в своих областях.

Устройство не является конечным продуктом, а лишь частью программно-аппаратной системы, поэтому маржа в него не закладывается. Клиент платит за автоматизацию, а уж какими там методами мы ее обеспечим — это наша задача. Мы с удовольствием готовы использовать готовый продукт, просто его нет.

Цена за первую плату в любом случае будет не менее 2-3 тысяч евро, китайцы не будут работать на партии 100 устройств по 5 баксов за штуку. Им за 500 баксов будет лень заморачиваться с этим делом.

ИМХО идеальным решением было бы найти готовую плату, пускай не ардуино. После прототипа она в любом случае будет доработана, и тогда уже речь пойдет азиатских коллег. Сейчас же нужен прототип системы, нужно его сделать за 2-3 месяца, и нужно чтобы он адекватно работал. Китайцы со скрипом успеют доставить за это время, будут дороже ардуино, а смысл пока неясен.
Откуда у вас такие суммы за первую плату?
Купите пару отладочных прат с тем же процессором, что и на понравившейся ардуине, накиньте ваши датчики и сделайте код. Вы вроде с опытом, сразу поймете срастается или нет. Разводите плату, заказывайте платы где-нибудь типа pcbwing. Паралельно закупите комплектующие.
Ну а потом паять, 100-200 штук можно за пару дней спаять, но думаю можно и контрактную пайку найти.
Откуда у вас такие суммы за первую плату?


Не совсем понял вопроса: откуда деньги на партию ардуин или откуда взята сумма за первую плату у китайцев?

По первому варианту — какая разница, это бизнес и бизнес всегда требует денег на первом этапе. По второму — ну вот такой тариф. Возможно, мы общались не с теми китайцами. Если у вас есть контакты тех, кто готов делать дешевый тираж без платы за разработку 1го экземпляра, требований к минимальной сумме или количеству — очень прошу поделиться контактом.

pcbwing — рассмотрим. Лично я не слышал, спрошу у коллеги, который этим занимается. Спасибо!
Да, я имел ввиду откуда такой тариф на первую плату.
Тут конечно требуется уточнение, что туда входит. Если это тариф за разработку с нуля, то это одно, но если это только за то чтобы сделать плату и спаять ее, то как-то многовато. Лучше этими деньгами своих электронщика и программиста мотивируйте, они вам быстрее и лучше все сделают.

В вашем варианте сильное ограничение по срокам для разработки с нуля. Первым экземпляром у вас должен быть макет. Его можно сделать на той же ардуине. Когда вы ее обвешаете датчиками то схема по сути уже готова. Нужен электронщик для разводки своего дизайна по этой схеме. Далее заказ плат и через пару недель они у вас уже будут.
За это время можно писать софт, только в родной среде для контроллера, закупать комплектующие и думать, как паять.

На самом деле тут вся сложность по срокам упирается в пайку. Если своих мощностей нет, то надо искать кто спаяет по контракту.

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

Конечно это больше трудов, чем просто закупиться ардуинками. Но в результате у вас будут и устройства и вся документация, чтобы в случае надобности достаточно быстро их опять произвести.

Насчет контактов по разработке сказать не могу т.к. я сам разработчик и моя ответственность заканчивается на рабочем прототипе готовом к производству. Сам платы для прототипов заказываю на PCBWING. Первые экземпляры паяю сам, не зависимо от сложности. В результате смутно представляю, что такое ардуино, но перед началом производства каждого изделия имею полностью рабочие несколько экземпляров именно в том виде, как оно и будет далее производиться.
Вы мне напоминаете людей, которые говорят, что покупать первую машину надо обязательно Ладу, чтобы: 1) не жалко её было разбить; 2) чтобы человек прочувствовал машину 3) чтобы умел ездить на механике и чтобы никакого автомата!
Так вот, машина должна быть для человека, а не человек для машины. Если придумали автоматическую коробку передач, чтобы облегчить жизнь людям, то надо пользрваться этим благом прогресса. А досконально знать устройство автомобиля ни к чему — для этого есть автосервисы. Вы же не требуете бухгалтера, чтобы она знала устройство компьютера? А она от вас в свою очередь не требует знания дебета, кредита и ставок НДФЛ, только лишь для того, чтобы выплатить вам зарплату.
Но ведь так неинтересно. Если ты занимаешься чем-то и это тебе нравится, то хочется понять как это работает, все детали и особенности. Гораздо приятнее когда ты сам разработал плату, собрал ее, написал код и все работает.
кому-то надо машину, чтоб доехать до магазина, например.
а кому-то — чтоб разобрать до винтика и собрать.
Кому как. Зачастую важен результат, а не процесс.
Все детали понять невозможно (на современном уровне науке уж точно), всегда придётся остановиться на каком-то уровне абстракции, можно на «кубиках» дуино, можно на процессах проходящих в n-p переходах, можно ещё ниже спускаться. С софтом примерно то же самое, когда-то с удивлением узнал, что в процессорах есть микрокод.
На самом деле с первого раза даже у профи-электронщиков в 90% случаях, никогда на 100% ничего не работает. Всегда все кончается кучей проводов. И только со второго раза(когда поправлены все ошибки) все может заработать. Это очень может демотивировать новичка.
НЛО прилетело и опубликовало эту надпись здесь
Типичный потребитель (потребыдло). Ставишь на одну чашу весов навыки конструирования девайсов, теоретические знания и опыт, на другую — некое готовое изделие (ардуйню). И естественно, та чаша весов, где лежит готовый предмет оказывается тяжелее.

В корне не верно сравнивать некую вещь и умение изготовить вещь (возможно, гораздо более интересную). Если тебе второе не нужно, это вовсе не причина считать его чем-то второсортным (как отечественное корыто (Ладу) по сравнению с более дорогим импортным корытом). Если ты конечно не мнишь себя хозяином жизни, а людей, обладающих знаниями и создающих для тебя вещи — второсортным отребьем.
Вы про разделение труда вообще слышали?
Слышал немного.

Красивую болтовню из учебника по экономике про время, деньги и прочее нельзя применять повсюду. В частности, инженерия и болтовня ГСМ-экономистов несовместимы.
Люди платят $8.68 за штуку, которая стоит не более $0.10? Так что же вы стоите, идите и продавайте им эти штуки!!! Можете даже как злобный капиталист продавать их по $0.50 — рынок будет ваш, а ненавистные ардуино и мбед разорятся нафиг!

А пока вы жалуетесь на хабре, кто-то делает деньги.
Давно имею такую мысль :) А вообще таких много, например МастерКит занимается чем-то схожим…
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
И да, я Ардуину тоже недолюбливаю
НЛО прилетело и опубликовало эту надпись здесь
Расхолаживание программистов. Программирование микроконтроллера не требует особых навыков и умений, но потратить пару часов и изучить работу нескольких периферийных устройств, тем самым размяв свои мозги, всё же придётся. Зачем это делать, если можно написать что-то вроде analogRead и digitalWrite?
Ну, по поводу простоты, не соглашусь. Написать обработку аналогового входа для какого-нибудь STM32F не проблема, особенно учитывая наличие стандартной периферийной библиотеки и нормального даташита. Но как только пытаешься эти же драйвера подружить с FreeRTOS, временами требуется приложить достаточно много сил, терпения и времени.
Пару раз наблюдала с каким трудом некоторые программисты на «высоких» языках осваивали программирование под МК.
Сама имела дело с Arduino один единственный раз, на хакатоне по Android в феврале. Обплевалась. Не понравилось ни аппаратное решение, ни библиотеки, ни, тем более, лагающее IDE.
Я не зря привёл в качестве примера статью об использовании STM32. На инициализацию периферии у наших программистов уходит несколько минут, а FreeRTOS мы используем почти в каждом проекте — с ней работать намного проще.
Согласна. Но некоторые библиотеки все-таки приходится допиливать, потому что на том же freeRTOS они работают не совсем корректно.
Было бы интересно почитать обзор других демо-плат с аналогичными возможностями. Я сам учился похоже на той же специальности, но в наше время даже Adruino не было.
Использую Arduino когда мне нужно проверить какую-то идею. Я прекрасно понимаю, что всё то же самое можно реализовать гораздо компактнее и практичнее. Но! На это требуется больше времени. Настройка среды: «IAR, Eclipse, Keil» требуют какой никакой настройки. Через IDE Arduino я собирал проект на незнакомом компьютере за 10 минут. Удобство разьёма: мне не нужно каждый раз искать программатор (дома он, или на работе, или прикручен к другой плате). Мне не нужно думать над тем, как подключить ультразвуковой датчик (уже есть готовые и рабочие библиотеки). Вместо того, чтобы собирать сборку на диодах и тратить два вечера чтобы отладить её, можно взять мотор-шилд в котором всё это уже есть.
При этом я скорее программист, чем электронщик. Мне не нужно по жизни разбираться в том, как работает та или иная плата, или помнить, какую ногу надо заземлить напрямую, а какую через конденсатор. Конечно, я не буду покупать светодиод только потому что у него подписано «Ардуино-совместимый». Но и желания собирать что-то что требует больше чем пять минут работы с паяльником у меня обычно нет.

Ардуино обеспечивает огромную гибкость тем, кто не разбирается хорошо в электронике, но которые примерно знают чего хотят. Конечно, ставить Ардуино в законченный вариант продукта обычно глупо. Но использовать для решения той или иной простой задачки или в очередной игрушке — почему бы и нет?

Так что в упор не понимаю этой статьи пропитанной ненавистью к одному из хороших средств достижения цели. Ненавидеть надо людей, которые не хотят совершенствоваться в области своих знаний, а не инструмент.
НЛО прилетело и опубликовало эту надпись здесь
Ну да, так во всем, собственно. Спрос и предложение сошлись именно в этой точке. Кто-то режет картоху на 4 части, засовывает в печку и продает «Картофель Айдахо» по 200 рублей за порцию, хотя там картох на 10 рублей.
А мне и моему сыну нравится ардуино. Раньше парень играл в конструктор «Знаток». Теперь играет с ардуиной. Маленькое замечание — физика в школе у него еще не началась. А по мне, так просто не охота заморачиваться со всякими программаторами, я не электронщик, я хочу просто поиграться.
Еще меня радуют «разоблачатели всяких *дуин», если тебе настолько не нравится, то предложи что-нибудь свое (только пожалуйста без изготовления плат). Заодно глядишь, выпустишь свой более производительный конструктор. Чо, бизнес.
А вот это зря. Нинай, что за «знаток», но конструкторы часто весьма неплохи. Не только показывают как нужно соединить детальки, но и дают понять почему. Ардуйня же — это сугубо потребительский девайс рода «нажми кнопку — получишь банан». Её нельзя рассматривать, как конструктор, т.к. конструирования там нет. Купи сыну айфон — научится пользоваться айфоном, купи ардуину — научится пользоваться ей. Пользы одинаково.

Советую завязать с ардуинами и послушать разоблачителей повнимательней.
Тут все дело в уровне подготовленности, времени, возможностях. Я в свое время тоже паял свои платы на контроллерах, модули делал, переферию, но времени на это перестало хватать, а необходимость появилась — ардуино самое быстрое и простое решение. Естественно нельзя его считать окончательным вариантом для серьезных разработок, но на уровне проверки возможности реализации, построения первой грубой модели и быстрого решения задачи вполне подходит.
А можно пример, в каких случаях ардуино дает возможность что-то проверить? Что на ней можно такого потестить, что на практике работает не так, как в теории? Цифровая электроника не такая уж и непредсказуемая вещь.
Вопрос не в том работает чтото так или не так, а проверить возможность какой либо своей идеи, например проверить будет ли работать GPS модуль и насколько он будет эффективней другого, или провести тесты различных компонентов. Понятно, что все это по сути одно и тоже, но зато позволяет сверить характеристики не по паспорту, а у себя на столе, убедиться, проверить, может быть выявить недочеты, несовместимости и учесть их в разрабатываемом устройстве.
Хотел бы согласиться. Делать поделки за цену Ардуины, мне вообще не хочется. Они просто очень дорогие
А я иногда (когда требуется простое штучное изделие) просто покупаю Ардуину mini или nano за 350 рублей. Разве это дорого? Учитывая стоимость Atmega168 в 120 рублей, кварца еще рублей в 20, и прочей мелочевки, + сэкономленное время на разводку/травление/пайку.
Не так давно видел платку с кортексом, нацеленную на аналогичные мини-ардуино цели, но по цене 5-7 баксов. Насколько я понял, поддерживает Maple, а это прямой аналог фреймворка ардуино. Единственное, что неясно — это можно ли ее купить готовую.
я ардуинщик, я не хочу учить микроконтроллеры, я хочу поиграться
Сколько ненависти… любой человек, знающий свою область может написать аналогичное, например я веб-разработчик… и теперь мне надо писать статьи о том что нельзя использовать готовые CMS, а всегда писать свою под каждый проект?
Честно — мне ардуинка нравиться и да, я понимаю что компоненты стоят намного дешевле и можно спаять самому, но вот проблема даже печатную плату сделать, всё напаять, надеятся что не спалил и т.д., намного удобнее (для меня) взять готовую ардуинку (например мини, которая по сути брейкборд для атмеги, но с удобствами), подпаять кнопки и спокойно поморгать светодиодиком… или полетать на коптере.
У всех свои цели и задачи и не стоит так пинать ардуинку и модули к ней — за удобство надо платить.
Ну при его знаниях пусть организует производство более дешевых «ардуинок» с такими же удобствами — так народ брать будет на ура и только спасибо скажет.

Но при всем моем уважении к автору, для этого надо еще организовать производство, просечь, чего хочет конечный потребитель, да и вообще иметь к этому талант. И все это стоит отдельных денег между прочим. В результате имеем цену. Ну может и завышенную, но если б все на каждом углу могли предложить подобное — согласитесь, цена бы сама по себе упала.
Я презираю тех, кто покупает в магазине хлеб. Нет, ну понятное дело, что вначале можно было бы купить хлеб — ну, чтобы попробовать, ощутить вкус и т.д. Но зачем покупать хлеб постоянно? Ведь это всего-лишь мука, вода, дрожжи + еще пару простых компонентов. Если это купить по отдельности — будет намного дешевле. Ну да, придётся построить пекарню и каждый день вставать в 5 утра, чтобы успеть замесить\выпечь булочку к завтраку, но ведь вы будете понимать весь процесс, сможете сэкономить (на партиях от 10000 булок) и вообще будете классным типом!
А между прочим домашняя хлебопечь… очень даже рулит :)
И корова на балконе… :)
Мука? Я презираю тех кто покупает муку, ведь можно встать ранним утром, засеять поле, ухаживать за ним всё лето и собрать прекрасный урожай.
НЛО прилетело и опубликовало эту надпись здесь
Аналогия в корне неправильная. Должно быть так: автор предлагает печь хлеб и муки в специальной пекарне. А ардуино фанаты предлагают это делать в той же само кастрюле, где варится борщ, только докупив при этом новый набор ручек к ней и насадку на плиту а в качестве ингридиентов брать пальмовое масло и смесь кукурзной муки с крахмалом. В итоге получается не очень качественно, дорого и в небольшом количестве, но зато удобно и доступно каждой домохозяйке, «которая готова переплатить за удобства и не желает пару лет тратить на изучение хлебопечек»
Я презираю идиотов. Которые позиционируют хлеб, как универсальную платформу для приготовления еды.
Не смешно. У ребенка целиакия, пшеницу ей нельзя. А у нас вся пишевая промышленность построена на пшеничной и ржаной муке.
Пост «расистский», хотя автора я где-то понимаю.
Ардуино — это не игрушка. Это пример универсальной SDK c отладочной платой по цене в 10-100 раз меньше чем любые с похожим функционалом. Я работал на китайском заводе по производству медиа-плееров. Даже для самого простого ЦД-плеера отладочная плата стоила 10 000 Евро, и еще 200 Евро JIG для программирования. И безумная софтина а-ля IAR, чтобы сломать мозг и навсегда зависеть от того китайца, который все это написал…

Вы чудесным образом выдаете за черное все, что на самом деле является белым.
Ардуино привлекает к микроконтроллерам массу молодежи. Разве Вы не этого хотите, как патриот?
Нет, в современных реалиях нет никакой необходимости так глубоко погружаться физические процессы микроконтроллера (этим занимаются совершенно другие специалисты — разработчики микроконтроллеров). Это все равно что полностью писать приложение на Асме, когда есть JAVA или .NET.
Раз «микроконтроллер» становится настолько совершенным, и его цена (как микросхемы) уже не отличается от стоимости обычного резистора, будьте добры следовать за прогрессом и осваивать новую методологию разработки.
Ардуино позволяет собрать и отладить контроллер на любой вкус, который ни коем образом не пойдет в серию в своем Ардуиновском виде. Для коммерческого проекта Вы закажете его отдельно, по своей схеме и только с необходимыми для этой схемы деталями. И он будет стоить для Вас свои положенные 10 баксов, а для потребителя — 50.
Что Вы там говорите про невозможность процессов реального времени??
Акститесь… Коптер, это не система реального времени? А здесь хватит и Вам и внукам…

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

А творческую энергию и желание докопаться до основ нужно применять там, где это необходимо и актуально — в инновационных исследованиях, в квантовых компьютерах, СТО и альтернативной энергетике.

По человечески я Вас понимаю, я тоже патриот своей Родины. Но Родине не нужны супер-профессионалы по STM32F103, и даже не нужны разработчики своих аналогичных кристалов — все это уже есть у людей. Родине нужны хорошие программисты Ардуино на языке с подсветкой синтаксиса, а не быдлокодеры. Нужны светлые головы, с конкурентной ЗП и без патологических идей свалить в Кембридж. Нужен Ё-Мобиль. Нужен Фобос-Грунт, но на Фобосе… Нужны свои топливные элементы и супер-конденсаторы. Нужны сытые и обеспеченные лабораториями фундаментальные специалисты. И не нужно объять необъятное. Не имея своего кремниевого фундамента, не надо готовить по нему специалистов. Пусть каждый занимается тем, что у него получается лучше всего. Так у Человечества будет больше шансов.
Я собрал коптер. Естественно, плата управления — самодельная — на основе STM32F103. Изготовил я её ЛУТом, но есть готовые модули (тот же Discovery). На написание и отладку софта у меня ушёл 1 день (правда, алгоритм фильтра Калмана у меня уже был нарисован). Теперь он выполняет всё то-же, что делает стандартная плата управления и обладает ещё огромным ресурсом для моих экспериментов (мечтаю его сделать полностью автономным).
Я не уверен, используют ли Кембридже Arduino, но в курсах от MIT вместо LabView (упоминавшегося выше), используют Python.
… и я за Вас рад, совершенно искренне.
и даже больше, чем за АвтоВАЗ, потому что Вы это делаете бескорыстно.
Поясните суть своей аллегории.
Извольте. Вы проповедуете путь от А до Я, хотя в современных реалиях «А» и «Я» уже представляют собой самостоятельные предметы.
При этом Вы не изготавливаете ЛУТом персональный компьютер, хотя могли бы пойти и по такому пути, чтобы быть до конца честным перед самим собой.
Между этим и этим решением функционально разницы практически нет. Даже продукты на них почти одинаковы, за что говорит и Ваш коптер.
Но у последнего есть отличный SDK, удобный, с множеством библиотек и огромным количеством готовых доп. модулей к основной плате.
Это конкурирующие решения, и у второго сильное преимущество в среде разработки.

Я не удивлюсь, если и другие производители в итоге совместят свои решения с языком Ардуино (Wiring), это позволит приложениям мигрировать между контроллерами и сыграет всем на пользу. Иначе с Ардуино просто нечем конкурировать…

Да, АвтоВАЗ это аллегория. Как пытаться от самого начала пройти все этапы развития конструкции автомобиля, когда все это уже давно прошли ваши соседи, вместо того, чтобы взять лучшее из доступного, усовершенствовать и двигаться дальше.
У меня самого Лада Гранта, и я очень огорчен, что в ней нет ничего от Протона или Ангары, с которыми я был знаком.
И не надо питать иллюзии, что Китай сделал свою станцию или свою основную ракету-носитель с нуля. И китайский самолет пятого поколения тоже не совсем китайский. И это хорошо, я за них рад.
Комментарии только подтверждают мои опасения: люди твёрдо убеждены, что Ардуино — оплот готовых библиотек и многократного использования кода. Что всё, что не Ардуино — всё надо паять и собирать с нуля.
На языке С написано огромное количество библиотек с уровнями абстракции достаточными для лёгкого портирования с одних микроконтроллеров на другие. А куда можно портировать код с Arduino? Если вам понадобится мощный контроллер, вы поставите 2 Ардуино, или начнёте переписывать проект заново?
Паять тоже абсолютно ничего не надо — вы сами приводите примеры шилдов.
Вы просто не хотите реально взглянуть на вещи… МК не упрощаются, а постоянно усложняются.
Да, остаются задачи, где нужно просто помигать светодиодиком, но это скорее исключение из правил, т.к. светодиодик, как правило, мигает в составе комплексной системы, у которой есть центральный контроллер, который легко обслуживать, менять и дублировать, при необходимости (не кучу МК для каждого диода, а ОДИН для всех).
МК на котором можно уже запустить DOS 6.22 (80МГц, это больше, чем у меня была 286ХТ, а я на ней еще в автокаде работал) — это уже не МК в классическом понимании.
Здесь спрашивали, что будет, если в вузах начнут преподавать Ардуино, то кто будет писать новые либы?
Новые либы будет писать тот, кто разрабатывает эти МК. И этот кто-то скорее всего никогда не будет касаться процесса написания кода с использованием этих либ.
И наоборот, тем, кто программирует Ардуино на высоком уровне нет никакой необходимости и не должно опускаться ниже (без существенных и объективных на то причин).
Это разные уровни, и специалисты важны и там и здесь.
А вы пытаетесь обосновать, что программисту Java (т.е. программисту на виртуальной машине) необходимо досконально изучить Ассемблер, для правильного понимания процесса…

И я еще раз повторюсь, я Вас прекрасно понимаю! Но принудительно интеллектуалов в Вашем понимании в вузах готовить не удастся — это неправильно.
И на мой взгляд, погружаться в дебри машинного кода лучше сверху вниз. В этом случае Вы сразу отсеете тех, кому программирование противопоказано. А вот для тех, кто будет уметь представлять, как электрон медленно, как бы нехотя вращается вокруг атома — для них и именно для них давайте организовывать дальнейшее обучение по МК на низком уровне, и желательно там, где эти МК разрабатывают. Это будет правильнее и эффективнее, уверяю Вас.
Новые либы будет писать тот, кто разрабатывает эти МК. И этот кто-то скорее всего никогда не будет касаться процесса написания кода с использованием этих либ.

Так их пишут. Пишут производители. Но это стандартные либы (например, библиотеки периферии у stm32), которые никаким боком отношения к ардуиновским не имеют.
И у тех же производителей есть либы и примеры кода для стандартных интерфейсов, работы с сетью, внешней памятью и много чего еще. Так в чём проблема взять их и использовать? Не хочется паять — те же отладочные комплекты почти задаром.
Просто там надо побольше думать, а люди почему-то этого боятся.
Я, в общем то, про это чуть ниже и написал. Системы, как-бы, альтернативные.
Но STM32 теперь и под Ардуино работает, и это ну просто очень помогает вашему любимому МК на ниве рыночной конкуренции.
У конечного изделия, как Вы понимаете, есть и параметр — человеко-часы, и на Ардуино он существенно ниже.
Нет, там побольше информации и побольше готовых наработок — это плюс любой популярной платформы, с которым довольно сложно конкурировать.
x86 так вообще практически исключительно на этом держится, ИМХО.
Разница только в том, что в среде ардуино можно сразу приступить к логике, а используя инструментарий производителя придётся соорудить некий уровень абстракции, чтобы использовать готовые алгоритмы. Не сложный, кстати (хотя от задачи сильно зависит). И именно на этом уровне открываются все прелести работы с МК.
Если я что-то делаю — мне нужна логика, а не прелести МК. Платформа, позволяющая сконцентрироваться на ней — это прекрасно.
Если я изучаю МК — я возьму не ардуино, а именно этот МК.
Впрочем, если рассматривать лично меня — ардуино я не буду использовать потому, что жаба давит его покупать. И потому, что IDE — блокнот с кнопкой вызова компилятора.
Если так — то спора нет.
Просто лично мне интереснее раскуривать сам МК. Да, для меня это просто хобби, поэтому на время наплевать, но удовольствие после не передаваемо :)
Я, честно говоря, не нахожу интереса в раскуривании МК. В конечном счете они все одинаковы — ядро и регистры периферии. Так что раскуривание сводится к изучению раздела про нужную периферию в даташите. Бывают, правда, сюрпризы, но все же.
Даже ассемблер особо не нуждается в раскуривании. Вооружаешься табличкой команд и вперед.
Так что меня всегда интересует именно конечная задача, где МК — это всего лишь средство ее реализации.
Есть у меня родственник (довольно преклонного возраста), обожает ковыряться в машинах, всю жизнь механиком проработал на автосервисе. Но, так как он дело имел только с отечественным автопромом, буржуйские пепелацы в разговорах для него как красная тряпка, а слова «коробка автомат» у него матерные заменяют. Ну презирает он забугорный автопром, что уж теперь.

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

А потом ему подарили иномарочку с АКПП. Сразу все ругательства исчезли, машину не разбирает, ездит (в т.ч. и на дачу). Потребитель… тьфу… его жена довольна.

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

Я говорю про хобби в хорошем смысле, когда оно никому не мешает.
Думаю, мне стоит написать чуть более практическую статью, с обилием кода и картинок, где я покажу, что научить студента писать код для микроконтроллера ничуть не сложнее, чем для Arduino.
Я сейчас изучаю eRM (e Reuse Methodology), и я уверен, что за повторным использованием кода — будущее любых систем (в том числе и микропроцессорных).
Вообще, вторая часть Вашего поста говорит о том, что решения действительно являются абсолютно альтернативными друг другу. А производство плат под Ардуино на STM32 показывает выигрыш Ардуино как удобной среды разработки.

Я немного перефразирую свою предыдущую мысль, на счет обучения сверху вниз.
Лучше будет сказать, что основой должно быть процедурное программирование, структурированный язык — Pascal, просто идеальный вариант.
После его изучения и, главное, понимания, можно отправляться вниз (в хорошем понимании этого термина), к МК, а можно идти вверх, в ООП.
Но быть одновременно специалистом ООП и МК можно конечно, но это скорее исключение из правил, хотя и очень приятное.
А куда можно портировать код с Arduino? Если вам понадобится мощный контроллер, вы поставите 2 Ардуино, или начнёте переписывать проект заново?

Есть Wirish, совместимый с Wiring почти полностью и работающий на Cortex-M. И есть куча проектов плат типа ардуино на STM32 и других дешевых МК на ядре Cortex-M.

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

Алсо, поскольку это фреймворк на C++ — при желании вполне можно использовать библиотеки на C.
Вот и прекрасно подытожили.)
thx!
У меня на столе лежат STM32 — VL, F0, F4 — Discovery, ведро разных PIC-ов, тройка программаторов…
...+ардуино нано…
...+заЛУТченная Ардуино ПРО

Для меня ардуино — оплот готовых библиотек. Я получил три сенсора от спаркфана, залил скетч в ардуино, запустил скетч процессинга и у меня готовый 9dof модуль
Под СТМ32 я дня два только писал «библиотеку» для акселя. Я не программист и все это дается мне не легко. Я не понимаю разницы между библиотекой и набором файлов, которые надо скопировать в папку проекта. Я не умею компилировать библиотеки.

Когда мне надо сделать электронный счетчик расхода воды, я беру pic16f1827, кнопку и дисплей от нокии.
Когда мне надо скидывать значения температуры на СД-карточку, я беру СТМ32, впиливаю туда fatfs и спокойно логгю температуру
Когда мне надо подключить 9dof (считать информацию с датчиков, откалибровать компас, изучить кватернионы и т.д.) — я беру ардуино. Потому что под СТМ32 этого тупо нет. Ну нет и все.
НЛО прилетело и опубликовало эту надпись здесь
Мне говорили другое
В частности то, что при подключении библиотеки в прошивку попадают только те функции, которые вызываются, а при добавлении файлов — все определенные.
Принципиально библиотека от набора файлов ничем не отличается. Отличие в основном в том, что библиотека разрабатывается как обособленная часть, которую можно включить в произвольный проект.
Что до попадания функций — это вопрос линковки. Линкеру в целом без разницы откуда файлы для сборки брать и из каких неиспользуемые функции выкидывать, библиотека в C/C++ — по сути набор тех же сорцов или объектников, что и весь остальной проект.
LabView кстати, отличная весчь… но оччень дорого…
Вот здесь я оставлю три ссылочки, просто, чтобы обозначить тенденции и роль Ардуино как удачной среды:
Раз;
Два;
Три.
32-bit ARM Cortex-M3 clocked at 72 MHz и это чтобы помигать светодиодиком…
В автомобиле вы тоже только гудок жмете? Смартфон используете исключительно как часы? А компьютер только для украшения стола, и не более? Все эти устройства можно использовать только для этого, а можно раскрыть весь их потенциал.
Если у вас не хватает фантазии на большее, чем «помигать светодиодиком», вам ни Ардуино, ни любой другой контроллер не нужен.
НЛО прилетело и опубликовало эту надпись здесь
Как раз таки, ардуйня — это игрушка. И уж точно не универсальная. И не развивающая. Вся её функциональность, всё, что ты сможешь на ней реализовать — заложено разработчиками (как тот «печатный станок» для денег). Т.о. имеем крайне малый запас для развития. А после того, как запас будет исчерпан (испробованы все шилды во всех комбинациях), ты так и останешься у разбитого корыта, ни теоретических знаний, ни опыта не получив.
По-моему, Вы тут ошибаетесь. Ардуино — обычный МК, и никто вас не ограничивает только шилдами при работе с ним. Шилды — просто реализация сложных элементов, как, например, Ethernet. Если хочется, чтоб можно было подключить ардуино к интернету здесь и сейчас — можно воспользоваться шилдом. Или сделать все самому. В конце концов, можно сделать свои шилды, если очень захочется. С точки зрения программирования тоже нет никаких ограничений — когда Wiring надоест (или исчерпает себя), то можно будет спокойно переключиться на AVR C. Собственно, если очень хочется, то можно и бутлоадер ардуиновский снести. Нет никаких «отрядов зачистки Ардуино», которые приедут к вам и запинают насмерть за малейшее отступление от кода в примерах или за подключение неавторизованных компонентов, которые вы купили без десятикратной наценки.
Те, кому нужно больше, обычно и переходят от ардуин к обычным AVR или к ARM. А кому хватает диодов или просто проектов, в которых мощностей ардуины достаточно — остаются на ней. И ничего плохого в этом нет. У ардуино очень много библиотек, как своих, так и кастомных, что упрощает множество задач. Если же вы придумал что-то сверхнеобычное, то всегда можете написать свою. Так что, как я ни старался, увидеть какие-то ограничения (отличные от ограничений, накладываемых самим мк) у меня не получилось.
Ардуйня — это в первую очередь софт. Без него — это невзрачная отладочная платка, не заслуживающая никакого внимания (есть куда более вкусные платки).
А вот DIHALT утверждал, что весьма важен и стандартизованный формфактор плат — именно он позволяет собирать хардверную часть из кубиков-шилдов.
Не спорю, софт и коммьюнити — очень важные составляющие Ардуино. И, вполне возможно, это действительно невзрачная отладочная платка. Я свою Ардуину купил в свое время у китайцев за 15 долларов. И я, если честно, не знаю других, более вкусных платок в этом ценовом диапазоне И с атмеловским мк. Просветите меня, пожалуйста.
Ну, согласен, за 15$ найдёшь разве что чтонить такое www.seeedstudio.com/depot/usnoobie-kit-p-708.html
Хорошие отладочные платки с AVR — 50-100$, но они стоят того.
За 10-20$ есть довольно вкусные дискавери от ST (STM8, STM8L, STM32, STM32L), TI launchpad — и вовсе 3,4$. Но тут цена попросту занижена.

Всё равно это всё лучше чем habrahabr.ru/post/146489/#comment_4930773 «всего» за 13,99.
Всего два слова: цена удобства.
Это лишь ощущение удобства. Всё, что ты можешь сделать с ардуйнёй, предусмотрено разработчиками.
Ты можешь взять два готовых кубика, соединить их по готовой схеме и получить заранее предусмотренный результат, но с тем же успехом можно взять готовый девайс, который делает тоже самое.

Так что абстрактный девайс на МК, и ардуйня — это две принципиально разных вещи. Первый сможет всё что может вторая, но не наоборот.
И что же не может ардуйня такого, что может обычный контроллер? :)
Вы всё таки не поняли :) Я не хочу заниматься микропайкой, я не хочу тратить часы на поиск инструкций, даташитов, всяких деталек, я хочу чтобы «воткнул — работает».

Считайте что arduino vs. самосборка — это как mac vs linux. Я не хочу тр*хаться с нюансами — я хочу играться с железкой сразу, здесь и сейчас. Вот за это они деньги и «дерут». И я совершенно не против. Цена комфорта, если перефразировать.
Не хочешь паять — возьми готовую отладочную платку (тысячи их, скажем, Pinboard — весьма и весьма неплохо по соотношению цена/качество/информационная поддержка).

Это не нюансы, это знания. Для работы с AVR их нужно немного, но всё же, определённо нужно. Ну или можно обойтись без них — взять ардуину, где всё уже сделано за тебя, вставить код из примера, посмотреть как оно мигает светодиодиками и крутит сервами (посмотреть на готовый результат). Ну поизменять что-то там. Но что дальше?
Если на ардуино хоть как-то можно делать законченные изделия (избыточно, дорого, но оно таки на это вполне ориентировано), то PB чистейшей воды плата для экспериментов — большая, дорогая и с кучей периферии.
Информационная поддержка и особенно кодовая база победнее будут. Правда, это если не считать того, что на PB можно запустить кодовую базу Arduino — но тогда оно не особо будет от сабжа отличаться.
Но что дальше?

Писать свое? Что-то топики плодятся не на тему «я запустил демопримерчик на ардуине», а на тему «я запилил XXX на ардуино».
А почему обязательно должно быть что-то «дальше»? Почему вы не можете, наконец, понять, что я НЕ СОБИРАЮСЬ строить на этом конструкторе автономный луноход??

Когда мне нужен стул, я не иду в лес, чтобы нарубить дрова, напилить досок, обработать их и сколотить стул — я иду в ту же Икею, например, и покупаю комплект в котором всё уже есть, и только прикручиваю 4 шурупа. Всё. Заплатил деньги, получил стул, съекономил время — результат получен, минимум трудозатрат, все счастливы (!).
И то что вас, как профессионального плотника, эта концепция расстраивает, совсем не значит что все вокруг должны сами себе стулья делать из этих бревен.

Но ведь как же так, ведь можно же купить бревна «по рублю за метр!!», или «ножки в 'метрике', сиденье в 'строителе', спинку в 'самоделкине', етц… » — да на*рать, ё-моё! Я хочу быстро и у-доб-но, что в этом желании такого плохого?..

Какую ещё проще аналогию для вас подобрать чтобы вы наконец поняли, для чего создан ардуино и почему это совсем не так плохо, как вам хочется думать?..
Ну да, ардуина — это сборный стул, который может скрутить любая домохозяйка и получить заранее предусмотренный результат. С таким же успехом можно купить готовый стул. Разницы нет.

Ардуина позиционируется как база для изготовления чего-то своего, но по сути является тем самым сборным стулом.

Но, согласен, в качестве замены лего сойдёт.
Да, с фанатиками, видимо, спорить безсмысленно. Заблуждайтесь дальше.
В 8x гг. студенты собирали для экспериментов компы наподобие такого
pchistory.ru/wp-content/uploads/rk2.JPG

Теперь же, даже прикорячить AVR'ку (учитывая, что атмел сделал всё, чтобы упростить работу со своим МК) — занятие лишь для фанатиков.

Затупились руки у людей за 30 лет. На 5-7 порядков.
Ну вот, пришла очередь комментариев «а вот мы, а вот в нааааше время!». А ведь пару миллионов лет назад на мамонта с дубинками ходили, теперь же на слонов с ружьями ездят.

Здорово. Продолжайте в том же духе!
Это не моё время. Просто сравнил. Когда-то безумием было строить синхрофазотрон дома, теперь же — разобраться с простеньким МК.
Сейчас тоже такие есть. И не меньше. Зато на ардуино делают и те, кто не способен собрать такой комп.
Кстати, на фото явно промышленная плата. Изготовление подобных тогда было настолько сложным, что даже упомянутые студенты или покупали готовые, или паяли на макетке.
И да, совсем забыл отметить главное.
Собрать такой комп много мозгов не надо. Купил детальки и собрал по разработанной кем-то схеме. Проблемы сугубо технического плана — достать детальки и плату.
На ардуино же, все же, разрабатывают свои девайсы. Пусть даже хардварь собирается из модулей (но все же выбор блоков и их соединение остается за разработчиком) — софтварь более-менее своя.
Так что напротив, поделия на ардуино круче, чем вон та работа для монтажника.
Я 20 лет назад собирал нечто подобное (по готовой схеме и разводке), но лишь потому что в магазине было не купить, в процессе спалил пару СБИС, в буквальном смысле спалил — перегрел 60 Вт паяльником (менее мощных тоже было не купить). Сейчас в голову не придёт заниматься травкой плат и пайкой микросхем, если есть возможность собрать из «кубиков лего».

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

И различные *дуино всё же не стулья из Икеи, а набор фурнитуры из неё для самостоятельного конструирования и сборки мебели. У меня вот стол такой, ничего готового не подходило, закупил «досок», крепежей, петель и собрал именно то, что мне нужно.
Вспомнилась фраза: «физик должен паять лучше лудильщика!» :)
Ну долго он проживет под действием космической радиации? Это все же земная техника, неоговоря уже об испытании запуском.
Ардуйня не управляет спутником, она там лишь в качестве «полезной» нагрузки (i.e. пассажира).
Я соглашусь с автором. Все его аргументы веские, особенно о качестве кода и использовании архитектуры микропроцессоров. Сложность схем не запредельная, особенно, когда smd монтаж в 99% можно заменить dip-элементами. Однако и то, и другое подразумевает некоторое умение обращаться не только с паяльником, но и знать электротехнику, а так же раскурить даташиты на контроллеры и навесные элементы. Т.е. имеет сравнительно высокий порог вхождения. Использование унифицированной системы, такой как *duino или xilinx — упрощает жизнь, не требуя от людей специфичных знаний. В итоге получается забивание гвоздей микроскопом, но всё-таки работает: для автоматизации дома (посмотрите сколько стоят готовые решения), для поиграться, для быстрого прототипирования — неплохой выбор с минимумом затрат времени.
Собирать, даже мелкосерийно, рабочее устройство на Ардуино модулях вряд ли стоит.
Но вот в прототипировании равных ардуино нет и близко. В первую очередь из-за огромного кол-ва библиотек.
Самый дешевый и быстрый способ потестировать в работе новый датчик/драйвер и.т.п. это подключить его на бреадборде к ардуиноподобному мелкому модулю. Всё, что для этого надо это пара макетных плат за 5$, наномодуль c USB за 10-15$ и набор платок переходников со всевозможных типов корпусов на DIP долларов за 10-30, в зависимости от необходимости. Никакие родные доп модули ардуино при этом нафиг не нужны.
Проделать тоже самое на STM32, к сожалению, пока выходит на порядок дольше, как раз из-за малого количества библиотек.
Наконец-то кто-то написал эту статью =-) Спасибо большое за начинание. Буду теперь показывать людям.
И на закуску, в вашу коллекцию маразмов могу предложить коннектор от несколько иной фирмы, но с той же идеологией:



Отличная вещь! Переходник-ответвитель. Чтобы можно было подключаться к сигнальным линиям осциллографом, например. И вся эта радость за каких-то $13.99 Обратите внимание на схему =-)

Есть и более навороченный вариант, на 12 контактов, за $14.99.

Впрочем, смотрите сами :)
Вас что беспокоит? Фантастическая цена за кусок текстолита, или абсурдность самой конструкции?
Представьте, что конструкция с контроллером запрятана глубоко в изделии, а на поверхности корпуса только технологический разъем с этого разветвителя.
Кому дорого время, удобство, стандартизация и взаимозаменяемость — тот купит и будет прав.
Хотя цена с точки зрения себестоимости — неприличная.
Да все понятно. Просто на сайте разработчика целая куча подобных железяк, в том числе и очень толковые по сравнительно адекватной цене. Но в данном случае это пипец. Это же реально просто кусок текстолита. А конструкция нормальная.
А вы напрасно сметесь — у меня руки к паяльнику не лежали никогда, я лутше их на деталь потрачу готовую, чяем на ожоговую мазь и мыло что отмывает флюс.
Приятно было увидеть Keil в списке популярных IDE :) Лет 5 назад год в нём писал embedded ПО, и страшно завидовал верхним программистам, которые сидели на Visual Studio, да и сам вспоминал её с нежностью. Да и на С после С++ переходить сложновато…

Но всё-таки мне кажется, что проблема несколько надумана. В реальных железных проектах счёт идёт на центы, когда речь заходит о комплектации. В университете можно себе позволить со стипендии купить Arduino и поиграться, ну как стенд — он же стоит дороже, чем промышленный девайс. И сделать прототип.

А в производстве будут экономить на всём — на последнем изгибе для пресс-формы. Так что профессионалам — своё, любителем DIY — своё!
проблема в том, что сейчас любительская ардуина почему-то стала захватывать профессиональную среду
НЛО прилетело и опубликовало эту надпись здесь
Для тех, кто не поддается на провокации вышла AtmelStudio6 в оболочке Visual Studio 2010 и содержащая большинство её примочек.
Статья переполнена НЕНАВИСТЬЮ, при этом ненавистью к… тому что ктото продает кнопки не по 10 центов за штуку а за 1 доллар. Он конечно злодей… но помоему автор сливает негатив в хабр не раскрывая сути.

к примеру:

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

И где схема как спаять и 20 строк кода ???

Может оно того и не стоит но для когото это решение задачи, а вы его только смущаете.
Грустно…
Я не понял второй пункт. Кроссплатформенность и подсветка синтаксиса — это недостаток?
Это — сарказм :)
Arduino — инструмент. Фреймворки — инструмент. Языки программирования — инструмент. Айфон — инструмент.

С их помошью люди решают какие-то важные для себя задачи.

Их цель — решить задачу, а не создавать инструмент. Тот инструмент, который позволяет это сделать лучше, быстрее и дешевле в нужной комбинации — выиграет на рынке инструментов.

А возводить инструменты в ранг религии — абсурдно.
НЛО прилетело и опубликовало эту надпись здесь
Много таких развелось. Я могу написать скрипт, который на каждое слово будет отвечать «это — инструмент», «каждой задаче — свой инструмент», и тому подобные глупые лозунги.

Если же на место скрипта поместить здравомыслящее существо, оно сможет учесть, что «инструмент» «инструменту» рознь.

Ардуйня — это вещь в себе. Это плохой обучающий инструмент.
Для ваших целей плохой, для целей кого-то другого — хороший. Что за порывы решать за всех по виду из своей колокольни?
Ты когда соберёшься мусор выносить, не делай этого. В мусорном ведре ведь каждый предмет — идеальный инструмент для какой-либо задачи!
Не говорите, что мне делать, и я не буду говорить, куда вам идти :-)

Получайте минус в карму, хакер-суперинженер :-)
Что же, типичная и ожидаемая реакция хомячков на высказывание непопулярного мнения.
Типичная и ожидаемая реакция «небыдла» на указание недостатков в его, «небылда», воспитании :-)
Типичная и ожидаемая реакция быдла — объявить честно заработанный опыт другого человека, но противоречащий его уютному мирку, где всё просто и понятно — недостатками.
Типичная реакция «небыдла» — пытаться компенсировать воспитание «опытом» в 22 года. Вы не синьйор, случайно?
Ардуйня — это вещь в себе.

Надо же. А мне казалось, что это полностью открытая аппаратно-программная платформа. Хочешь — схему изучай-собирай-улучшай, хочешь — сорцы wiring'а ковыряй-допиливай.
<irony>А мы-то и не знали...</irony>
                            /\          /\       
                           ( \\        // )      
                            \ \\      // /       
                             \_\\||||//_/        
                              \/ _  _ \          
                             \/|(O)(O)|          
                            \/ |      |          
        ___________________\/  \      /          
       //                //     |____|           
      //                ||     /      \          
     //|                \|     \ 0  0 /          
    // \       )         V    / \____/           
   //   \     /        (     /                   
  ""     \   /_________|  |_/                    
         /  /\   /     |  ||                     
        /  / /  /      \  ||                     
        | |  | |        | ||                     
        | |  | |        | ||                     
        |_|  |_|        |_||                     
        \_\  \_\        \_\\ Hard'96  
Всё равно, спасибо за просвещение масс.
(Думаю, что тон разоблачений надо бы брать менее серьёзный, тогда эффекта больше.)
А я полностью согласен с автором топика. Правда, аргументы у меня другие.
Для меня истинный восторг — это когда, зная всю подноготную работы МК, периферии и других устройств, всё работает именно так, как ты рассчитывал на этапе проектирования.
Такого восторга нельзя достичь, если купить ардуину, налепить ей сверху пару шилдов, написать 2 строчки и всё.

Только когда досконально изучил датащит на МК, датащит на цифровой 1-wire термометр, накидал схему в протэусе, написал программу с собственной реализацией 1-wire по датащиту, залил программу в виртуальный МК, проверил работу, съездил на радиорынок за деталями, сЛУТил плату, запаял, прошил МК, запустил… и… ЗАРАБОТАЛО! Вот только тогда истинный восторг и гордость за своё детище. Это намного интереснее чем ардуино. А ещё интереснее решать ту же задачу на ПЛИСине… =)
P.S. Да, моё первое устройство — термостат. ;)
Для меня истинный восторг — это когда, зная всю подноготную работы МК, периферии и других устройств, всё работает именно так, как ты рассчитывал на этапе проектирования.
Ради бога, восторгайтесь сколько душе угодно. Только не надо тащить свои переусложнённые системы в промышленность.
А в промышленность и ардуины не тащат, там другие игрушки. И более того, если пытаться внедрить поделку на ардуине, побьют валенками.
Ну да, под винду тоже можно на ассемблере писать. Только это не рационально по трудозатратам.
А я не говорю «только хардкор». Я говорю «сначала хардкор, а потом уже ничего не страшно».
Зависит от задач. Компьютеры все еще слишком медленные :(
Тем не менее, когда ты летишь на самолёте, ты хочешь, чтобы он летел как можно быстрее, комфортнее и безопаснее. И люди, построившие самолёт дают тебе это, построив машину настолько совершенную, насколько это вообще позволяет человеческое мастерство.

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

Жаль, что дома в которых вы живёте и самолёты на которых вы летаете не строят такие же безответственные и ленивые мудаки.
Тем не менее, когда ты летишь на самолёте, ты хочешь, чтобы он летел как можно быстрее, комфортнее и безопаснее.
Я не собираюсь платить в 5 раз больше за билет ради увеличения скорости на 30-40 процентов. Собственно говоря, из-за этого загнулась сверхзвуковая гражданская авиация.
Неверная аналогия. «Я не хочу платить в 5 раз больше за билет на более быстрый самолёт (потребляющий больше топлива)» не равно «я не хочу платить билет за более надёжный самолёт (построенный с подобающим качеством и ответственностью)». Самолёт всегда качественен настолько, насколько это возможно в отличие от софта.
более надёжный самолёт
Надёжная система — простая система. Усложнённый переоптимизированный код на асме — багодром. Bleeding edge возможностей железа зачастую оказывается слишком острым для сохранения имущества, здоровья и жизни пользователя.
Вот как раз не соглашусь, именно ардуиновские библиотеки сильно перегружены. И в ответственных вещах я бы доверился ассемблеру, благо АВРовская архитектура очень проста в этом плане.
Ардуиновские библиотеки (родные, а не хлам из интернета) давно проверены и доказали свою надёжность. Ваш свеженаписанный код — нет. Программу можно сделать либо настолько простой, что в ней, очевидно, нет ошибок, либо настолько сложной, что в ней нет очевидных ошибок (© Энтони Хоар). Вариант со своим кодом на асме относится ко второму случаю.
По опыту: до 4 кило на ассемблере вполне можно писать надёжные прошивки, не теряя относительно много времени. Выше — уже попахиват мазохизмом.
В общем, получается так:
— не берите ардуино. На нем вы будете не изучать микроконтроллер, а пользоваться готовыми библиотеками.
— а если я напишу свою библиотеку?
— не пишите свою библиотеку. Все уже давно написано до вас, и гораздо лучше.

Тупик.
Они, хотя бы, отлажены и протестированы тысячами пользователей.
Не набаговать в асме — задача непростая. По крайней мере это первый язык, код на котором мне пришлось комментировать чтобы заставить работать.
Но эти библиотеки тоже писали люди? Или нет?
Да. Но они обкатаны. Свою тоже можно написать. И обкатать. И даже обкатать кучей людей, если она будет популярна.
Но писать свою только потому что свою — я понимаю этот подход (и сам иногда так делаю, just for fun), но агитировать за него глупо, т.к. единственное оправдание — чуть выше в скобках, а оно не только не нуждается в агитации, но и вообще неагитируемо, т.к. у каждого фан свой.
А как же научиться писать библиотеку (или хотя бы набор наужных алгоритмов), если не пытаться ее писать? Не всегда ведь на рынке окажется то, что надо?
Написание библиотеки по сути ничем не отличается от написания любого другого кода, а совсем без своего кода проект не получается даже на кнопкошлепной дельфи. Кроме того, для обучения, при желании или необходимости вполне можно написать свой велосипед, но это опять же не повод всегда и везде писать велосипеды.
Не всегда ведь на рынке окажется то, что надо?

Конечно. И вот это — самое веское основание написать свою.
Покажите мне что-то уже летающее и хотя бы вполовину столь же массовое, как мейнстримные самолёты от Boeing. Пока что это всё «будет очень круто и экономично, примерно лет через 5-10».
:) Я сам тоже когда-то с AVRами начинал именно с DS1821. Правда, у меня была макетка, а на ней AT90S8515. Туда же был прикручен двустрочник, 8 светодиодов и кнопка.
Ждем статей «Я презираю {Windows 7/MacOS}»
НЛО прилетело и опубликовало эту надпись здесь
В 1994м я написал свою ОС, которая работала даже и на которой я делал диплом, — все на чистом ассемблере.

Я разбирался с пиками, как только они «появились», но не хватало денег, ибо в то время ПС стоил более моей 2-х годовой з/п. Проще было с вм80. Но обвязка была сложной. И не было никаких «лутов» и рядом, — принтер стоил _очень_ много.

Мой первый программатор для пика был сделан… с ручным набором адресов. На ттлш логике, полностью.

А сейчас мне просто интересно сделать что-то для дома, на «ардуине». И чтобы оно просто работало. И получается же. И это для меня — сатисфекшн. И это дешево. 14 уе за платформу, — недорого.

Насчет обмана, — давайте ультразвуковой датчик обсудим, я вот недавно за 4 уе купил на е-бей. Сравним с аналогами, не для «ардуины».

Я не защищаю это дело, ибо аналог последнего устройства уже собираюсь делать на чистом… пике. Извините, я их люблю до сих пор. ЛУТ, 120-я бумага куплена, картридж перезаправил, вал поменял.

Для тех, кто не профи, а просто программист (чтобы выжить), это сатисфекшн. А заработает налутенное — будет новый сатисфекшн.
Что-то я вчера сентиментальничал, черт неужели это старость
Покупать муку для блинов на масленицу — позор, надо покупать мельницу и пшено!
Да нет, в данном случае это скорее мука, миска, яйца(уже вылитые в миску) и соль упакованные вместе чтобы только все это смешать и по цене в 10 раз выше той, по которой это все покупают нормальные люди. А вот если захочется блинов с начинкой — купите совместимое варенье или совместимую сметану так же раз в 10-20 дороже, чем «не совместимая».
О, какая жирная нямка. Ну кто-то должен был сказать правду.

Ардуйня — это игрушка, не более и не менее. Причём, игрушка не развивающая.
Да, я знаю, что вы можете помигать светодиодиком, и «собрать что-то работающее». Но цена этому результату не больше чем готовому девайсу, купленному в китайском интернет-магазине.
Я полностью согласен с автором статьи. Ардуино и все доп. примочки к нему — развод на ровном месте. Лично я когда только начинал работать с МК и брал их абы поиграться взял АТМегу8 и макетную плату под пайку в которую по ходу дела впаивал все что мне нужно было: вначале панельку под МК и разъем для программатора (самодельного Громова), потом светодиоды на выводы портов, 7-сегментный индикатор, динамик, DS1820… Когда занялся этим более серьезно — купил breadboard, а старую макетку использую для прошивки МК в DIP корпусе. Если брать Ардуино для того чтобы просто «поиграться», то очень быстро его возможностей уже будет не хватать. Несмотря на то, что меня самого достаточно раздражает процесс изготовления печатных плат в домашних условиях я не понимаю людей, которые покупают Ардуино и всякие модули, соединяют это все кучей перемычек, впихивают в корпус только для того чтобы, скажем, в определенный момент включить моторчик или замкнуть реле и это не забавы ради, а уже готовое устройство а-ля «Умный дом».
Люди… А неужели у вас не возникло чувства что «где-то я такое уже слышал»? :)
По-моему эта статья — один в один размышления профессора, преподающего ASM, когда к ему лабораторки пришел сдавать студент, написавший код на Си (или того хуже — на С++ :)

Я прекрасно (ну, как мне кажется) понимаю автора: ему не нравится «отупление» людей, которые по своим должностным обязанностям должны хардкодить на самом низком уровне, а вместо этого находят «легкие пути»; переплачивая именно за простоту несоразмерную цену.
В то же время автор (aronsky) ненамеренно задел часть аудитории, которые харкодить вовсе не обязаны — для них Ардуино — это именно что конструктор «поиграться».
Справедливости ради, лично я увидел, что он говорит о тех, кто занимается данным видом деятельности профессионально. Ну, или находится на стадии обучения. А не о тех, для кого это хобби.
Поколение «фастфуда» врядли сможет понять крик души хлебороба. Arduino, это «игрушка», «хобби», «только макетка- а уж в серию пойдёт специализированное изделие», «за простоту надо платить». С ЕГЭ тоже сначала поигрались, потом пустили в серию. Теперь все расплачиваемся. Я тоже вырастил детей на LEGO,- был молод и глуп. Теперь только я знаю, что планку с монтажными отверстиями можно изогнуть и получить простое и нестандартное решение, которое смогут повторить и другие моделисты. Они же, в первую очередь, ищут готовую деталь, не найдя которую, начинают городить огород из имеющихся шаблонов. И да, они делают свои конструкции, но в них нет ни простоты ни изящества решений. И это во всём, чего не возьмись. Пол века назад простенький Луноход гоняли. Теперь поумнели на новых технологиях и Фобос-Грунт даже не улетел.
Очень хороший комментарий.
А я вот презираю «Чип и Дип». Ибо мосфет IRF9530NPBF у них стоит 130 руб, тогда как везде он стоит 12-15 руб (актуально, наболело)

Достали уже вечные срачи холиворы «Эрланг рулит, Нода отстой», «Линукс рулит, Вендекапец», «Фря рулит, Линух фтопку», «Ардуина — отстой для домохозяек, STM — ништяк для реальных пацанов». Толерантнее надо быть, толерантнее. У всего свои и плюсы есть, и минусы.
По поводу «Чип и Дип» и IRF9530NPBF… дайте, пожалуйста, пару ссылок.
ждём следующей статьи — «Я обожаю Arduino» :)
Антонимом для слова «презираю» будет «уважаю». А таких людей с аргументированной позицией, судя по комментариям к этой статье, на хабре довольно много :)
Кто может посоветовать тачскрин или хотя бы lcd-экранчик для плат Starter kit TI DSP C6xxx (например, для TMDSDSK6416)? Полдня искал по гуглу, ничего не нашел. Наверное, не знаю, как правильно искать.
Паяльником не владею.
А у вас молоко картинки убежали!
Какая ненависть а всего то… целесообразность. Для людей далеких от электроники (или может для прототипирования) это вещь. Для конечных изделий — не обязательно. Это как ненавидеть php блин.
Ага. Мне это очень напоминает срачи вокруг php )
Да, тормозной. JS на V8 быстрей, насчёт питона/руби не уверен. Java/C# никогда не догнать, но это уже не такие динамические языки.
Да, памяти жрёт немало, еще и течёт, если скрипт долго висит.
Но найти разработчиков на него очень легко, а мощности серверов обычно хватает.
Arduino Compatible Mini Motor Speed counter Sensor AVR PIC – заменяется фотодиодом и фототранзистором, подключающимися к центральному контроллеру и двадцатью строчками кода. Он не стоит 7.98.

Мозг споткнулся на словах «фотодиодом и фототранзистором». Светодиодом, может быть? Или заменить на более обтекаемуую формулировку «оптопару», источником излучения может быть и лампочка, в конце-концов, а приёмников так вообще пруд пруди. На худой конец хоть 2 светодиода одинаковых в роли оптопары. Фоточувствительностью их природа тоже не обделила.
Впрочем последнее это извращение.
Да, конечно же вы правы.
Не вижу смысла презирать железяку. Кстати, она и не предназначена для системы искусственного зрения. Зато если кому-то надо быстро сварганить измеритель уровня в сливном бачке, то он сможет быстро и датчик подключить, и разделить вещественное число на другое на 8-битном контроллере, и вывести результат в последовательный порт. Изучение прерываний не всегда является достойной жизненной целью.

Другое дело, если «профессионал» применяет ардуино в качестве универсальной таблетки в любых проектах, это как минимум, нечестно по отношению к open-source сообществу. Наверное, это как-то вредит его развитию как инженера. Но ведь ардуино никогда не позиционировалось как платформа для роботов или профессиональных инженеров! Хотя вспомним миллиардный рынок промышленных ПЛК — что это, как не готовые кирпичики со своим птичьим языком программирования и набором периферийных модулей в едином конструктиве? Тоже кстати разводка — 8-битный контроллер спокойно может стоить 200-300 евро…

Если бы я был заказчиком, мне было бы по барабану все эти тонкости, если моя партия сливных бачков была разработана быстро и дешево, без дилетантских ошибок (использовались проверенные библиотеки для ардуино), работает надежно (железо проверено временем и все вспомогательные цепи стабилизаторов питания и прочего работают как надо), то я был бы доволен. А если мне разраб скажет, что в серии вот эту микруху можно не паять (программатор), то ваще профит!

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

почему это минус?
Потому, что других плюсов нет. Arduino IDE — это просто блокнот, причем даже не Notepad++, а тот самый виндовый блокнот, плюс подсветка и кнопки «скомпилировать» и «залить».
Скрин же IAR'а показывает его главную (и, тащемта, единственную — он тоже недалече от блокнота ушел в остальном) фишку — отладку (и довольно продвинутую).
Кстати, вспомните Makey Makey. Чуваки собрали на Кикстартере > $400K на её производство. Железка именно на базе схемы ардуины (пусть и чуток урезаной). Потребителю пофиг на чём сделано, лишь бы работало. И цена итоговая получилась вполне неплохая (во всяком случае, для предзаказа)
Ощущение после статьи, что у автора крик душу и он просто душу рвет в этом посте :-)
Во первых, там взгляд со стороны если не профессионала, то по крайней мере достаточно прожженого радиолюбителя с богатым опытом программирования AVR на ассемблере, большой базой наработок под него же и поставленным процессом производства печаток не столь уж низкого класса точности.
Во вторых — даже он это дело одобрил и обрисовал путь вперед — пусть даже и с некоторым пренебрежением к ардуино.
По-моему, этот автор где-то тут писал выше свои комментарии ;).
Не скажу, что я поклонник Ардуино, но дело с ним иметь пришлось и довольно не мало. Можно сказать, что знаю о нем практически все.
И, действительно минусов полно: цена, специфичный язык программирования, громоздкие библиотеки и т.д.
Но с автором никак не могу согласиться. Вообще я в принципе не перевариваю такие явные обсирательские статьи. Если человеку что-то не по душе, это не значит что вещь плохая. Назову несколько примеров, почему ардуино имеет место на жизнь:
1) Огромное интернет- сообщество, миллионы строк кода, грамотная поддержка. Практически все накопленные знания удобно сосредоточенны на одном сайте.
2) Нет необходимости покупать программатор. А девайс этот не дешев. Тут можно возразить — дескать сделай программатор сам. Но, лично я считаю, что коли называешь себя профи, то изволь работать на подобающем железе, без кустарщины.
3)UART. За 5 минут легко и просто можно наладить общение с компом. Я не могу понять, что это за претензия — слишком легко???? ДЕСКАТЬ ЛЮБОЙ СПРАВИТСЯ. И ЧТО?? По-моему это огромный плюс. Надо отдать должное разработчикам, что сумели упростить жизнь.
Для создания сложных или серийных устройств Ардуино практически не пригоден, однако чем он плох для любителя? для человека, кто не хочет заморачиваться. А кто просто хочет наиболее просто реализовать свою идею. Быстро и эффективно
4)касательно цены. Да, дорого. Но кто мешает вам воткнуть атмегу в отладочную плату и прошивать ее по uart'у? (по компорту, или через шилд). Или реализовать собственный ардуино девайс? затраты будут в точности такие же, как просто атмега.
PS: я НЕ ЯВЛЯЮСЬ фанатом Arduino, мне не нравится processing. Он не привычен и не красив и на нем неудобно разрабатывать сложные алгоритмы. Однако, я считаю, что Ардуино имеет право на жизнь. У него своя ниша и свое предназначение.
Да забыл сказать — посмотрите на цены отладочных комплектов avr. Об фирменной STK 500 вообще промолчу. Меньше тысячи рублей найти что-то будет очень сложно. Это я к вопросу о завышенной цене на Ардуино. Да, дорого. Но вы посмотрите сколько стоит другое оборудование для разработки avr устройств.
Касательно шилдов. А какое они вообще имеют отношение к ардуино? Странных, избыточных шилдов, которые вообще ни о чем — полно. И что с того? У каждого своя голова на плечах. При этом автор как-то забыл упомянуть о действительно полезных вещах, например: Ethernet shield w5100. Каюсь у меня он есть, как и ардуино мега. Зато, я не возившись с чипом: обвязка, прошивка, отладка, за один вечер реализовал для своих целей UDP, HTTP. Притом шилд стоил около 16$. С учетом того, что на нем достаточно дорогой чип, дорогой rj — 45 разъем и прочая обвязка + не забудем SD слот, то я считаю что это очень даже не дорого. А если говорить о конечном результате, то очень эффективно. Если понадобится мне в готовый девайс сунуть UDP — скопирую шилд. Вот простой пример из жизни.
Не стоит замарачиваться на названиях, внешнем виде и говорить, что ардуино -дерьмо, только потому что оно подвластно новичкам. Для каждой задачи свое железо. Если мне нужно изготовить несложный качественный серийный девайс — я возьму Атмегу, Если нужно что-то не очень сложное, но скоростное Например, быстрое ацп — возьму ПЛИС. Так же плисы хороши тем, что более надежные. Если что-то сложное, где атмеги не хватит — тут работа для Арма. про STM32 полностью согласен — интересный девайс, есть под него у меня один проект. Если нужно устройство с низким потреблением — подойдет, например, msp. Где нужна супернадужность — можно и дискретную логику заюзать в конце концов. И такое бывало. А что касается девайсов, что бы быстро и удобно собрать на коленке — идеально подойдет Ардуино. И нечего тут стыдиться.
«Каюсь у меня он есть, как и ардуино мега»

Хорошая мысль покаять. Каюсь, ибо тоже грешен. Один раз мегагрешен, четырежды наногрешен, единыжды уногрешен и много-много-много раз фридуино-грешен :-) Я уж молчу про постоянный разврат с разнообразными шилдами и сенсорами. Хотя до извращений вроде шилда-с-кнопочкой не доходило, тьфу-тьфу.
Забавно) кста, ссылка толковая
Мощность. Причём, как аппаратная, так и рассеиваемая. Разработка любой встраиваемой системы начинается с выбора компонентов в зависимости от требуемых функций. Для моргания диодом Atmega328 (или 2560) – слишком мощно, а для создания системы реального времени с алгоритмами обработки изображений – слишком слабо.


Опять же ерунда какая-то. Давай сравним цены на Атмегу 328 и то, что тебе не жалко. какая-нибудь Тайни. В розничной сети получим дельту ну рублей 100. Все 8 битные аврки примерно одинаково стоят. Может быть жалко что микроконтроллер забит не под завязку? мне вот лично пофиг. Главное, что бы работало хорошо. Много — не мало. Если изделие разовое, то проблем в этом не вижу. Если серийное — да, стоит все тщательно обдумать. Опять же. при оптовых закупка. эти 100р схлопнутся в меньшую сумму.
Притом я я вот не вижу логики статьи — сначала написал о избыточности теги 2560 — ок. А в конце рекомендуешь убойное решение — арм! а то, что в малого/среднего объема проекте он будет избыточен — пофиг. Про это забыли.
А зачем в меня такими комментами кидать-ся то? :-)
Я случайно)
А я наоборот, люблю читать, для полноты картины, как полезные статьи, так и материалы подобного характера. Это помогает посмотреть на вещь, с какой-то другой стороны.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Да, именно так. Никто не запрещает вообще снести бутлоадер и использовать ардуино просто как отладочную плату с ft 232, прошивая ее через icsp.

Никакой проблемы нет. я просто обсуждаю все возможности
НЛО прилетело и опубликовало эту надпись здесь
Очень предвзятая статья, прямо как -будто автора подкупили в ST) Мое мнение таково, что ни в коем случае нельзя себя ограничивать Ардуиной, но как и вообще- нельзя себя ограничивать чем-то одним себя. Это как грани алмаза — чем их больше, тем он дороже. И под каждую конкретную задачу надо подбирать оптимальное решение.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Конечно пусть живет. Ведь очень удобно.
Являясь ITшником мне страшно смотреть на цены в «КЕЙ», например, где установка «полного комплекта» софта (скайп + современный браузер мазила файерфокс!!!+ещё пара плюшек настройки системы) стоит 2.5к деревянных, так ещё и делается неделю.Когда я это могу сделать себе бесплатно за 20-30 минут вечерком, при этом успев сделать себе чай.А ведь если есть предложение — значит и спрос присутствует.
То же самое и здесь.Люди, которые не хотят вникать в детали, «потребители» — готовы переплачивать за то, чтобы продолжать не вникать в детали.
На этом строится рынок профессий, на разнице навыков и умений.Разве нет?
Тащемто да.
Но не совсем понятно это применительно к ардуино, учитывая, что оно как бы используется из познавательных соображений, а не для того, чтобы действительно дёшево и сердито реализовать необходимую вещь.
То есть кто этим балуется — программисты, которые хотят воплотить свои простые коды в живом «металле»? Интересно дать жизнь написанным строчкам — понятно. Но разве не интересно вникнуть чуть глубже в тему микроконтроллеров (не травить плату, а хоть на макетке с проводами собрать конструктор), дабы окончательно для себя познать её? Учитывая, что тема мигания светодиодами не шибко сложная, на чём бы её не реализовывали.
вникнуть чуть глубже в тему может продолжаться до бесконечности.Кому-то это интересно, кому-то не очень… Тут уже дело вкуса и пристрастий.Как по википедии, узнавая что-то новое стоит ограничиваться одним уровнем ссылок, иначе начнешь с DNS-серверов — закончишь Александром Македонским… надеюсь получилось донести мысль
Раньше была игра, как сделать из мухи слона. А теперь — как быстрее линками по википедии от ДНС дойти до Македонского :)
Играли в такую пару лет назад, задается две случайные темы — и 5 минут чтобы найти самый короткий пусть ссылками от одной темы до другой=)Забавный способ убить время.
Это не так уж просто, не так уж дешево и не всем интересно.
Нормальное вникание в тему радиотехники по сложности сравнимо с изучением современного языка программирования — несколько лет изучения и практики как минимум до уровня «более-менее разбираюсь».
По цене — стоимость оборудования радиолюбителя со не слишком большим стажем может спокойно перевалить за несколько килобаксов.
Таким же образом можно написать статью «я презираю микроконтроллеры»)).
Кратенько и очень сомнительно описать преимущества Мк, потом перейти к их минусам и обширно и смачно их описать. После чего предложить статью «дискретная логика: лечимся от микроконтроллерной зависимости». а в конце подытожить, что буду рад, если хоть один человек перейдет на дискретные элементы, что-нибудь на них реализует и т.д.

А потом написать статью-опровержение: «давайте перейдем на самодельную логику из транзисторов». Дескать иначе не поймешь как устроено оно.
Очень странная статья. А еще, зачем надо было свои регалии в шапке рассказывать?? Это хвастовство? Или способ подавить всех «бумажным» авторитетом? Тогда предлагаю в личной информации хабра сделать пункт «образование». И начать чмырить хабарчан гуманитариев)) ну или просто, у кого вуз дерьмо.
начать чмырить хабарчан гуманитариев))
Напомнило:
-угадайте что я первым делом говорю человеку с гуманитарным образованием, когда вижу его впервые?
-???
-гамбургер, большую картошку, и колу пожалуйста!

гуманитарии без обид=)
НЛО прилетело и опубликовало эту надпись здесь
> чмырить хабарчан гуманитариев
опечатка по Фрейду или...?
«Синонимы — взятка».

чмырить взяточников-гуманитариев? ;)
))))
И вообще, тянет на разжигание розни по микроконтроллерному признаку :-)
Пошел заказывать плату. Буду против всех!
… и это задевает мои Эплофильские чувства =)
Ардуино для микроконтроллеров сейчас, это как Basic для программирования 20 лет назад. Калечит мозги и формирует неправильные представления и навыки программирования МК. После ардуино изучение других МК будет весьма мучительным процессом, в силу корявой основы для базовых знаний…

Причем ключевое слово здесь «изучать». Если такой задачи (изучение MK) не стоит, то не вижу ничего зазорного в использовании ардуино.
Брал дважды первое место на областной олимпиаде по информатике, программируя на QuickBasic. Где были все те «неискалеченные», которые должны были оказаться умнее меня?
Хвалю, друже, сильно хвалю…

Только зачем так передергивать, мой юный друг? QuickBasic с оригинальным Basic'ом имеет только название. По идеологии и структуре он куда ближе к Pascal. А уж его потомок VisualBasic назван таковым исключительно в маркетинговых целях. Так что ваш случай скорее подтверждает мои слова, чем опровергает… ))

Перепишите свои старые конкурсные программы на старом добром бейсике с нумерацией строк, goto и прочими чудесами и вы поймёте о чём я… )

Поверьте я вполне благосклонно отношусь к бейсику. Как-никак мой второй язык (первый — Ассемблер CM-4 aka PDP11/60). На бейсике я писал программы еще на ДВК. Тем не менее, я это последний язык, с которого я порекомендую начать изучение программирования…
О! Я ждал этого комментария со сравнением бейсика и ардуины :)
Бейсик создали с мечтами о том, что каждая домохозяйка сможет облегчить свое домохозяйство с помощью компутера и самодельных программ. Ну и где теперь эти домохозяйки? Также и ардуина с низким порогом вхождения должна дать возможность каждой домохозяйке автоматизировать быт.
Домохозяйки сидят в фейсбуке, обмениваются рецептами и фотографиями и оформляют свои странички так, как им нравится. Правда, бейсик им для этого не очень нужен.
Какая разница, бейсик или нет?
Если ты программист в душе — тебе пофиг с чего начинать — главное почуять след, а там уже разберешься и выберешь то, что больше нравится. А если это не твое — то ничего не поможет. Так и карандаш для художника, и ардуинка, и МК.
Так и представляю себе домохозяйку перепрошивающую робота-пылесоса на ардуино перед походом в магазин…
Нарисовала на плане квартиры очередной участок «сюда не ходи», быстро запустила перепрошивку, включила робота и пошла в магазин. Правда, бейсик тут опять ни при чем.
И ардуино тоже… )
Не окажет ли сходного эффекта программирование на персональном компьютере на низком уровне (работа с портами, работа с видеопамятью напрямую...)? Тоже может создать неправильные представления о работе с железом.
Если Вы перестанете все вокруг замечать кроме низкоуровневого железа и работать только с ним — то тогда естественно приведет. Развиваться надо всесторонне, смотреть на проблемы как с высоты причьего полета, так и разбираться в мелочах. А если тупо ничего дальше регистра не видеть — то что разумного такой разработчик родить может?
Если честно, то окажет. Системное программирование это до сих пор весьма специфическая область программирования. Рассчитывать на то, что парень, специализирующийся на написании драйверов и/или прошивок, сможет писать качественный фронт-енд для веб-сервиса, вряд ли стоит.
Слишком по-другому у них развёрнуты мозги…
Вопрос, насколько я понимаю, не в том, как знание портов повлияет на проограммирование на высоком уровне, а как оно помешает последующему изучению микроконтроллеров. Не сформирует ли оно тоже «неправильные представления и навыки программирования МК».
В этом плане как раз нет. По сути все карты расширения pci/pci-e (будь то видеокарта или aппаратный raid-контроллер) фактически и есть устройства с мк на борту. Только эти мк очень сильно специализированы. И собственно дрова на эти устройства реализуют протоколы обмена между картой расширения и основной системой.
Только это уже никак не начальный уровень. Это уже профессиональные задачи.

Если вы участвуете в разработке дайверов видеоакселератора, то ардуинка боюсь вам покажется унылой и скучной…
НЛО прилетело и опубликовало эту надпись здесь
Ждем статьи «Я презираю Lego Mindstorms» =)
Как задолбали эти детские конструкторы (такие где планочки с дырочками и винтики с гаечками).
На первой странице инструкции там предлагается собрать свою лесенку из 20-х планок и 40 винтов. Да я такую лесенку сделаю из листа проката, всего то нужно гильотинные ножницы, фрейзерный, сверлильный и сварочный полуавтомат. Винтов и гаек на нее уйдет где то в 20 раз меньше. И получившаяся лесенка будет гораздо практичнее и дешевле.
Arduino — это с первую очередь средство прототипирования для использования дизайнерами и проектировщиками продуктов (не инженерами), позволяющее быстро и недорого проводить proof of concept исследования и демонстрации заказчикам/инвесторам/коллегам. И потом уже это игрушка для хоббиистов. Зачем ругать продукт, если некоторые используют его не по назначению?
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Статья явна попала не в тот блог — место ей не в «Программинге микроконтроллеров», а в «Я негодую». Логика статьи типично странная — несмотря на то, что «благодаря платформе многие познали мир микроконтроллеров», все равно «я презираю».

А в чем проблема-то? А в том, что кто-то продает делитель напряжения за 9 баксов. Так все очень просто — его никто не покупает. Кроме тех, кто видит в ней не 2 резистора за 20 копеек, а готовый продукт пригодный и удобный в использовании. И которые сходили в ближайшую контору и спросили, сколько будет сделать плату 2x3см, и узнали, что все от 100 баксов.
Я знаете что подумал
Если вы знаете аналоги или способы применения дешевых компонентов, то попробуйте найти магазины, которые торгуют дешевкой, заключите с ними партнерские программы ( а имеет смысл только такие магазины находить), и прямо сделайте сайт где будет срыв покровов с партнерскими ссылками на «тоже самое, только в 10 раз дешевле»

Я думаю это будет бомба
Я знаю с какой стороны держать паяльник.
Я знаю что «плюс» это красный провод, а черный это «минус».
Я знаю как в общем случае написать код.
Я хочу сделать что-то для себя, что работает от 12В, какой-нибудь простецкий девайс который будет иметь пару датчиков и экран, и будет что-то там отображать.
Меня устраивает что стоимость компонентов будет завышена в десятки раз, но оплатить их можно будет не более чем двумя купюрами.
Мне хочется чтобы комплектующие были легко доступны в дефолтсити.
Мой вопрос — если это не будет сделано на базе Arduino, то на базе чего?
Мне хочется чтобы это было просто. Хотя бы в начале.
Если мне понравится все это и я захочу сделать какой-то продукт для серийного производства то это почти наверняка будет сделано из самых дешевых но все еще качественных элементах на кастомных печатных платах и упаковано в глянцевые коробки.
Но мне нужно начать с чего простого и популярного на чем можно прототипировать и если это будет не Arduino, то что?
Друзья, прочитал все и всех.
Хочу вставить свои 5 копеек.
Во первых Arduino, по своей концепции, — это конструктор для больших детей, не более. Хобби вроде сборки исторических миниатюр на лоджии в своей квартире.
Говорить о том, что на Arduino возможно делать серьезные решения и пускать их (решения) в массовое производство с последующим внедрением — можно, но не нужно, т.к. это глупо и не профессионально! Я прав?
Так вот Arduino и предназначена как раз для НЕ профессионалов, а для людей, которые хотят сделать что-то своими руками (кто-то лобзиком картины выпиливает, кто-то самолетики клеит, кто-то вышивает или вяжет)!
А пример про паренька, который хотел внедрять решение на Arduino, хотя на самом деле цена вопроса была в 300руб. — так это частный случай непрофессианализма и глупости конкретного «специалиста», не более.
Не путайте хобби с вниканием в вопрос по уши и своим многолетним стажем, это показывает Вас как человека не разбирающегося в вопросе, развели просто холивар на ровном месте из серии «Ненавижу Виндовс потому, что он не Линукс», ей Богу.
Очень жаль, что выпускник по специальности «Микроэлектроника и полупроводниковые устройства» мыслит так узко, печаль…

Публикации

Истории