Программирование контроллеров для самых маленьких

Рыцари паяльника и отвертки, поведайте мне, почему вы так не любите Arduino?
Сколько не смотрю в комментариях и топиках, люди говорят о платформе скептически, называют «ардуйней» и всякое такое.
Вот я к примеру только любитель, знаний в электронике мало, а в программировании есть опыт. И, думаю, я тут не один такой. У меня не хватает опыта и знаний чтобы собрать какой-то проект на AVR с нуля, но могу собрать на ардуине уже не самые элементарные проекты(для моего уровня — часы с LCD, например). И даже как-то неудобно написать топик о таком, мегаспецы просто шапками закидают. Или я в чем-то не прав? Быть статьям о Arduino на we, или нет?

И еще, чтобы два раза не писать — на сайте криво время идет, на час вперед перевести надо.
  • 0
  • 30 октября 2011, 13:14
  • 0xED

Комментарии (112)

RSS свернуть / развернуть
… это они просто завидуют :)
0
Горящий вьюношеский максимализмь :)))
С одной стороны «ардуйня», с другой без любимой графической IDE со свистелками-перделками шагу не ступят.
Вот такая вот шизофрения.
А если по теме, то проект детально проработан, с кучей инфы и богатым сообществом вокруг. Сложно что-то написать оригинальное и полезное, что еще не освещено. Не будешь же в стопицотый раз описывать как я «чем-то моргнул в ардуине». Писать-то можно, только вот ценность этого будет почти нулевая (потому как это скорей всего уже описано). Вот если будут какие-то не очевидные тонкости, необычное использование, дополнительная периферия и библиотеки.
+3
Хм, спасибо, стоящий аргумент.
0
Ардуйня не нужна. Электронику надо изучать от простого к сложному а не «подсоедини эту хрень к вот этой и оно замигает».
Алсо сами ардуинщики много о себе думают. Видите ли их платка — микроконтроллер и центр вселенной, хотя МК — это межка, а ардуйня — всего лишь платко с межкой.
0
Электронику надо изучать от простого к сложному а не «подсоедини эту хрень к вот этой и оно замигает».

+100500

За то ардуйня и нелюбима, что имеет своей идеей второй подход. А так — плата как плата. Нелюбима не плата, а идея движения.
0
некоторые не ставят целью изучать электронику, но просто хотят, чтоб замигало. Из «шашечки или ехать» они выбирают ехать, вот и все
+1
Однако, я надеюсь, что на этом сайте таких нет.
0
в противном случае он будет осквернен навеки? :)
на самом деле речь не только об этом сайте. на хабре, например, комментарии к статьям об ардуино делятся на 2 группы — «афигеть крутота, я тоже так хочу» и «ардуино = ненужно»
0
в противном случае он будет осквернен навеки?

Просто это было бы странно. Направленность не та.
0
т.е. те, кто ещё не пробовал, и те, кто уже попробовали. :)
0
Нет, те кто еще не пробовал и те, кто не пробовал)
0
Вы слишком критичны.
Я не видел тут каких-либо нелесных высказываний в сторону Arduino и т.п. проектов.
Просто сам сайт и сообщество создавались изначально для эмбедеров и любителей. Когда я впервые попал на этот сайт, то все что я знал о МК — это то что существуют какие-то PIC которые я видел в журнале «Радио». Начав читать первые статьи от ДИ я заинтересовался AVR и знать не знал о существовании Arduino.
Сейчас конечно я бы не стал пересаживаться на Arduino потому что тут интересней сам процесс, а Arduino ориентирован на быстрое достижение результата.
ИМХО все что популяризирует любительскую электронику и эмбедерство заслуживает уважения, в т.ч. и Arduino.
+1
  • avatar
  • Divon
  • 30 октября 2011, 13:59
мы ее не любим как раз за иде и быдлоязык
сама плата — это авр с загрузчиком + мост усб-юарт
по сути ничем не лучше и не хуже других плат разработчиков, коими мы все пользуемся

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

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

кстати новая дихальтовская плата хоть и дороже, зато универсальная и там много примочек
а ардуино просто стали форсить, вот и весь секрет
+1
Ну какой ещё быдлоязык? В Ардуине тот же Си, пусть по другому названный. Синтаксис самого языка один-в-один. Разница в библиотечных функциях (коих не так уж и много) и способом подключения библиотек.
Работа с железом упрощена, да. А сам прикладной код от написанного на сях отличаться не будет, тем более если у человека есть опыт программирования.
Ваше замечание из серии «не читал, но осуждаю».
0
ага, причем обычный gcc
0
Язык там С++. Основа ардуино — удобный и простой в освоении фреймворк. Вот только хаксоры не любят, чтобы было просто и удобно. Они в основном и плюются. Специалисты ардуино одобряют, но им он не нужен.
0
Хм, ну вот опишу, что вышло у меня: я как раз тот самый «чистый программист на C++ сделает себе примочку для компа, абсолютно без паяльников и заморочек с травлением платы», можно так выразиться, про которого ниже упомянул vvzvlad. И как раз поэтому я начал с «Ардуйни» (далее А), как многие выражаются. И нисколько не пожалел. Ибо это как раз меня заинтересовало, подтолкнуло делать дальше.
А что было дальше? Дальше я понял, что у А есть ограничения (если разработчик хоть маломальски грамотен, то должен уметь оценивать плюсы и минусы того, на чем он работает). Одно из ограничений: заточенность под узкий круг МК. Ну а мне вот надо было запустить код на mega16, ну и я ничуть не обломавшись полез в код библиотек А (что-то нашел на сторонних сайтах, в чем-то разобрался сам по ДШ), подправил и запустил на mega16. Что дальше? Дальше естественно разрабатывал схему, разводил плату. Естетсвенно не зная тонкостей электроники не все прошло гладко, но и это не остановило. Дальше будет так: если понадобится сделать что-то быстро, проверить что-то, то соберу с помощью А и на макетке, поиграюсь. Если же понадобится сделать законченное устройство, то соберу его без А, разведу, стравлю, запаяю. Если ограничения среды А не позволят что-то реализовать, включу CVAVR/IAR/Блокнотик в конце концов и напишу без А библиотек. Было бы желание, разве нет?

Резюмируя:
1) А — хорошая штука для быстрого старта новичка, для того, чтоб заложить начальный интерес к теме, для того, чтобы быстро слабать какую-то единичную фиговинку для себя любимого
2) А — конечно же не подходит для более-менее серьезных, тем более коммерческих проектов
3) С какой бы платформы/железки/языка не начинал новичек, главное — чтобы он не загонял себя в рамки этого самого чего-то, был готов их них выйти по мере необходимости, был готов двигаться вперед, а не стоять на месте

*) по теме: статьи, мне кажется, нужны. Я уже отписывался где-то, что уникальный контент (кстати, у поисковиков свое понимание уникальности контента) дает прирост посещаемости сайта. А от этого сайт в любом случае так или иначе выиграет.
Плюс те самые А-новички, нечаянно будут забредать на we (а не на соседние сайты, на которых есть статьи по А), по ссылке из поисковика, и видеть, что их задачу-то, оказывается, можно решить и без А, и даже вообще не на AVR, что есть еще и STM, и плиски и вообще много всего вкусного!

PS: это мое скромное (как новичка) мнение…
+2
Ну теперь держись…
0
  • avatar
  • mzw
  • 30 октября 2011, 14:31
Никто не говорит о том, что arduino плохо. сама по себе макетная плата это удобно. и среда разработки это хорошо. и программирование лоадером это классно.

ПЛОХО — это когда человек привыкает к разработке под ардуйню. одно дело — когда чистый программист на C++ сделает себе примочку для компа, абсолютно без паяльников и заморочек с травлением платы. а другое дело — когда человек хочет научится разработке под контроллеры, а ему советуют ардуину. и он разбирается. начинает жить в ограничениях платы. предлагает закладывать в серию(!) плату ардуины. не представляет как готовить платы к производству.

даже если этого не произойдет, в итоге все равно придется столкнуться с «железными» проблемами.
ну, емкость дорожек этого бутерброда заваливает фронты, компилятор не оптимизирует код настолько, чтоб хитрый протокол влез на текущей тактовой(а кварц без паяльника не поменять), или просто захочется повторить устройство в 5-10 экземплярах, но не по цене ардуины. или захочется перестать тратить плату за 500р, на ту задачу, где можно обойтись 13 тинькой за 20 рублей.

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

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

Поэтому я не призываю отказываться от ардуины. и не призываю к джихаду против ардуинщиков. я просто хочу донести мысль о том, что ардуино это не платформа для разработки. это всего лишь макетная плата, пусть хорошая, пусть с огромной базой примеров кода, но плата. и это надо хорошо понимать.
+3
забыл о неразработчиках, которые делают что-то для себя в свободное от работы время.
0
одно дело — когда чистый программист на C++ сделает себе примочку для компа, абсолютно без паяльников и заморочек с травлением платы.
0
предлагает закладывать в серию(!) плату ардуины
8( Свят, свят, свят!!!
0
а что? предложение приняли, деньги выделили. а тут я со своей экономией в три раза.
0
А потом ее выпуск прекратят, или модернизируют… Вот вам и экономия.
0
чей выпуск? 2313?
0
Ардуины
0
так экономия — это 2313 вместо платы ардуины. тем более там серия штук 100 было и все.
0
Я вас не понял. Мы в одном окопе оказывается.
0
да не окопы, а так, вялая перестрелка.
0
Начинать с высокого уровня далеко не так плохо. Получаешь быстрый результат, подогревающий энтузиазм (а это крайне важно). Привыкаешь к тому, как следует работать на высоком уровне (программирование на асме — парадигменно то же самое, что программирования на бейсике, который не лучшим образом влияет на мозги программера), а по мере углубления знаний начинаешь понимать и как оно работает на низком уровне. К тому же, язык ардуины — С/С++, являющийся на сейчас наиболее ходовым в области эмбеда.

Фреймворк кстати можно применить и в отрыве от самой платы. Он довольно удобен, а мега8 до сих пор самый используемый в семействе AVR из-за своей цены.
А в самой плате ценность в том, что можно прототипировать методом сборки бутерброда из шилдов. Удобно. Плюс она очень хороша для робоконструторов, т.к. сама по себе конструктор.
+1
да, это преимущества, которые я поленился расписывать.
это все отлично, главное не зацикливаться на ардуине, и понимать, возможности не ограничиваются платой.

мне не нравится, что после ардуины возникает некоторый барьер, в частности касательно программирования и травления платы.
это слишком сложно, я лучше куплю готовую плату, слишком много геморроя, и тд.
это на основе нескольких лет занятий в радиокружках.
0
Ну что поделать, это особенность любого инструмента с низким порогом вхождения — идти дальше способны немногие. Возможно, без ардуины он не только платы не освоил, но и вообще ничего. А так хоть что-то.
0
процентов 90 прекрасно осваивают все, когда забираешь макетки, и даешь текстолит и контроллеры.
что характерно — обратно не возвращаются.
0
Тоже бывает. Но ценнее тот специалист, который сам хочет двигаться глубже, а не потому, что макетки отобрали.
0
ну, ходить то не перестают. а двигаться дальше можно и в программировании, без наращивания умения «схемотехника»
0
Так там-то двигаться еще сложнее, еще актуальнее, и макетку отобрать затруднительно.
0
так к коду зачастую требования порядка «чтоб работало и влезло в текущий контроллер». с другой стороны, на бб второго требования и нет зачастую.
так что приходится стимулировать частой сменой задач
0
Проблема в том, что девайс с ардуиной внутри работать будет. А с щедро рассеянными по коду плавающими ошибками, типичными для С/С++ — будет, но нестабильно. А чтобы писать на этих языках без ошибок — нужно ОЧЕНЬ много изучать и практиковать.
0
Проблема в том, что инструмент с низким порогом вхождения плодит ортодоксальных нубов.
0
У ардуины не C/C++ а С/С++ засранный своим стандартом+ неудобная IDE.
0
IDE не щупал. Но если только это не допиленный эклипс — да, наверняка убогая. Хотя это грабля большинства сред для эмбеда.
C++ там самый обыкновенный. Фреймворк сути языка не меняет, он меняет только окружение исполнения. К тому же, фреймворк там хороший. Простой и удобный.
0
Вот этот фрейм ворк как раз и искажает С++. Многие ардуинисты называют его Сиподным языком даже не подозревая, что это С++.
IDE там с эклипсом ничего общего не имеет.
0
Что конкретно, по Вашему мнению, в андуриновских либах «искажает» С++?
Многие ардуинисты называют его Сиподным языком даже не подозревая, что это С++
Как правило, «ардуинисты» — это люди, которые только начинают изучение МК и программирования. Относитесь к ним лояльно. Даже то, что они понимают что ЯП С-подобен, это уже прогресс :)
0
Это потому, что сами авторы ардуино называют wiring языком. Меж тем, как и его прообраз processing (тоже называемый языком), wiring не язык, а фреймворк.
Ничего он не искажает. Единственное вмешательство вайринга в С++ — это setup+loop вместо main (да и то не очень-то вмешательство). В остальном — чистейший С++.
+1
Угу. Если следовать Вашей логике, MSVS – это С/С++ «засранный» WIN32API. А уж что тогда говорить о Delphi. Как можно было так «засрать» кошерный паскаль!!!111
+1
Во второй половине ты на редкость прав. «Я создал прекрасный язык, пусть и непригодный для применения, а они сделали из него монстра с описанием на семиста страницах!» (с) Вирт.
0
Ну, если так, то в первой половине тоже есть доля истины. Я несколько лет писал оконные интерфейсы на MFC. Макросы MFC мне по сей день снятся в кошмарах. Я не знаю, как «разувидить» это обратно. По сравнению с MFC – VCL, Qt, wxWidgets – рай для программиста.
0
В отличие от MFC, Delphi — это очень допиленный паскаль. Оригинальный годился только для обучения. Впрочем, на то он и академический язык. Wiring же — всего лишь VCL, если проводить аналогии с Delphi.
0
Не совсем Вас понял. MFC (Microsoft Foundation Classes ) – это, как раз, полная аналогия VCL (набор библиотек от MS, попытка создать C++ обертку вокруг Win32). Правда, в отличии от VCL, она состоит из «говна и палок» в виде кучи макросов на С и классов С++. По сравнению с VCL — реализация ужасна. А что касается Delphi – здесь я Вами согласен, это попытка дать «практическое применение» академическому ЯП. :) Попытка достаточно удачная (особенно для своего времени). Просто Borland был вынужден в одиночку развивать язык, что не так просто.
0
MFC не допиливает язык, равно как и Wiring с VCL.
А вот дельфи — это сильно засранный кошерный паскаль. Хотя бы потому, что Вирт в основу языков закладывает простоту (тот самый принцип Эйнштейна — сделай так просто, как возможно, но не проще того) и ошибкоустойчивость. Борланд же пошел по пути расширения, наворачивания и поддержания обратной совместимости. И язык действительно стал очень сложным монстром с сотнями компиляторной магии. Впрочем, я его все равно люблю :)
А если хочется увидеть, что должно было получиться из паскаля с введением ООП — стоит глянуть на компонентный паскаль и оберон-2.
0
Ну по поводу парадигмы ассемблера я категорически несогласен. Не вредит он, а наоборот структурирует хорошо. Особенно для новичка.

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

Ну и о вопросах:
как помигать светодиодом — ассемблер ни при чем, это периферия
как узнать замкнута кнопка или нет — аналогично
как померить напряжение — аналогично
как плавно включить/выключить светодиод — схемотехника
как пользоваться таймером — периферия
как передать на компьютер и обратно мк какие нибудь циферки — периферия/интерфейсы
как подключить жк к мк и написать на нем какую нибудь пакость — аналогично

Ничего про ассемблер тут нет. А периферию прекрасно и на С можно изучить, понятие памяти там проходится, остается только ввести понятие регистра как особой области памяти. Тогда будет и понимание всех этих «записать битик».
0
Да, периферия. Но когда пишешь на асме она не выглядит непонятной чужеродной херней. Те же регистры, только зовутся по другому. От того не возникает вопросов тупых. Берешь и делаешь.
0
Она и на С не выглядит чужеродной херней. Те же переменные, только зовутся по другому.
Чтобы тупые вопросы не возникали, нужен не только ассемблер. Нужна некоторая (и весьма нехилая) критическая масса знаний, причем по довольно обширной области. А получить ее можно только постоянно делая и самообучаясь. Один лишь ассемблер ничего не даст, кроме привычки быдлокодить с сотнями глобальных переменных и беспорядочных goto из одной функции (точнее, подпрограммы, в асме функций нет) в другую.
0
немножко не согласен по поводу того что дает ассемблер.
Во первых он неплохо развивает память, так как в процессе обдумывания вариантов или отладки заставляет помнить и держать в мозгу довольно большие куски собственного кода.
Во вторых он неплохо учит оптимизировать, когда думаешь как и какие переменные скомпоновать лучше и как оптимизировать ту или иную подпрограмму, чтобы максимально эффективно использовать регистры (которых сколько ни дай — всегда мало) или есть особенные (типа аккумулятора в I8080) без которого вообще никуда.
0
Гм, ты где-то видел новичков, думающих об оптимальности? Для простых задач ресурсов более чем достаточно. Не хватает регистра? И фиг с ним, можно выделить глобальную переменную. И именно так новичок и сделает. А вот если его учили на ООП или хотя бы структурном языке — он привычно скомпонует структуры данных, разделит задачи на функции и процедуры, не будет лепить переходы куда попало, будет пользоваться стеком для локальных переменных. Проще говоря, современные языки учат проектировать программу, а не просто кодить в режиме потока мыслей.
Помнить структуру кода нужно на любом языке. Правда, асм настолько криптографичен, что программу приходится записывать дважды — слева и справа от ";".
Так что асм — язык не для обучения програмированию, нет. Это инструмент оптимизации и изучения процессора.
0
Согласен, но я именно тот, кто учился программировать в режиме потока мыслей и ассемблер я учил сразу после бейсика. Просто с третьей или четвертой программы меня задолбало переписывать одинаковые инструкции по 10 раз и я стал задумываться как бы мне получше это все структурировать и оптимизировать.
Из-за этого я особо не ввязываюсь в споры про методики программирования. Больше читаю как и кто делает, ну и стараюсь сделать свою программу максимально простой и понятной, чтоб меньше было всяких левых телодвижений, что конечно не избавляет ее от быдлокода…
0
Таких, кто сумел выработать стиль програмирования, начав с бейсика или асма — немного, насколько я знаю. К тому же, нынче переписывать по десять раз незачем. Ctrl-C Ctrl-V к вашим услугам.
0
Ctrl-C Ctrl-V конечно же рулят, но тупой копипастой в асме накосячить раз плюнуть, по недосмотру. Я еще имел в виду что код получается замусорреным лишними действиями и даже через день разобраться в нем бывает не просто, особенно если еще ленишься писать комментарии.
0
Ты не понял. Копипаст устраняет необходимость овладевать правильными методиками программирования. И еще меньше новичков сами поймут, что их надо освоить. Зато прекрасно освоят тупую копипасту, что собсна повсеместно и наблюдается.
0
Наверное ты прав. Просто когда я писал на асме копипастить было неоткуда :)
0
Если буду в Первоуральске, надо будет хоть пересечься, пива попить… А то месяц назад неделю в командировке куковал, да из головы вылетело, что пересечься можно :(
0
Это ты кому? Я вроде не в Первоуральске обитаю)
0
Вот блин… Уже склероз… Надо новую EEPROM ставить… Почему-то был уверен, что именно там ты и обитаешь :)
0
а статьям быть. интересно же!
0
Относитесь к вопросу проще. Как Вы уже наверное поняли – данная тема холиварна, и однозначного ответа, как в любом холиваре, Вы не получите. Например, аналогичный холивар есть в среде фотографов – многие считают, что прийти в фотографию можно только через пленку. Если человек начал с «было-мыльницы» он никогда ничего не достигнет :) Однако, есть множество отличных фотографов, которые никогда не работали с «благородным пленочным зерном».
Касательно Arduino – это всего лишь электро-конструктор с микроконтроллером. И относиться к нему нужно также. Плюс данной платформы – как и любого электро-конструктора минимизировать порог вхождения, дать человеку поставить ряд простых наглядных опытов и т. д. Если человека данная тематика заинтересует – рано, или поздно, он поймет, что вырос из данной платформы и двинется дальше.
Что касается «быдлоязыка», «говнокода» — многие кто так говорит, сами начинали свой путь с BASIC. И ничего, никто от этого не умер и не отупел. Просто набаловавшись с BASIC, они поняли, что нужно двигаться в сторону буле «взрослых» ЯП.
+1
  • avatar
  • e_mc2
  • 30 октября 2011, 15:55
Для многих, вхождение в электронику начиналось с детского электро-конструктора, вхождение в программирование с BASIC на Spectrum или аналогичном ПК. Не понимаю, почему они об этом забыли.
0
Я так читаю комментарии и удивляюсь. Сообщество, ответьте мне, Вы что здесь все профессионалы??? Допустим школьник собирает свой проект. И вы предлагаете делать первый раз все с нуля??? Он потеряет минимум год, а то и больше, и еще не факт, что проект заработает.
Как научиться программировать, если ты не на 100 % уверен в электронике??? Или я не прав.
По теме: Проект нужен, т.к. задача Сообщества не «понты кидать», дескать «Посмотрите какой я крутой, все сам сделал, а как догадайтесь сами», а действительно привлечь новых молодых и перспективных. А как их привлечь — просто дать идею простого проекта на МК. А дальше дело пойдет.
Я это утверждаю, т.к. сам делал первые шаги в программировании готовых роботов, а теперь делаю самоделки.
А те, кто утверждает, что Arduino — полная туфта, отойдите в сторонку, не читайте новых статей на эту тему и т.д. Ну в общем вы поняли меня.
0
Вы невнимательно читали коментарии, к сожалению. Как уже тут писаи — Адруино — это просто набор макетных плат. Конструктор Лего. Для того чтобы попробовать — вполне годный вариант. Работа с микроконтроллерами в любом случае подразумевает работу с макетной или отладочной платой. Если есть деньги — можно купить Пинборд или Адруино или любую другую плату, благо их полно. Если покупать не хочется и руки чешутся сделать самому, но свое изобрести еще не знаешь как — можно нагуглить вагон разных вариантов макеток, которых даже тут уже более десятка выложили. Поэтому школьник прежде чем собирать свой проект должен немного почитать и решить для себя что и как именно он хочет сделать, и потом уже копать в нужную сторону.
Я когда начал изучать микроконтроллеры был конечно уже далеко не школьник, умел программировать, и имел поверхностное представление о разводке плат и тому подобному. Пришел на работу, мне дали макетку, на которой стоял голый 8535 с кварцем и схемой сброса. Дали даташит. И поставили задачу. Все. Причем тогда гугл не вываливал столько готовых проектов на АВР как сейчас. Читал, спрашивал, экспериментировал.
И еще. Если новичек на форуме или здесь задает вопрос типа «я хочу это, дайте мне код» — то соответственно его могут послать лесом или сказать ищи в гугле. Если же новичек толково описывает проблему, где что у него не получается и спрашивает как это сделать правильно и в чем он ошибся — такому всегда помогут и все объяснят…
0
Если же новичек толково описывает проблему, где что у него не получается и спрашивает как это сделать правильно и в чем он ошибся — такому всегда помогут и все объяснят…

А еще подарят паяльниую станцию и вагон барахла в придачу :)
0
Что ему мешает вписаться черной дырой в мусоровоз :)
Я бы слил и «паяльную станцию» и барахла, плат всяких на разбор.
0
Ди имеет в виду вполне конкретного новичка, которого барахлом и завалили :) Первый мусоровоз организовывался параллельно с этим процессом… :)
0
:) ясно, то что я предположил, уже реализовали.
0
Вы что здесь все профессионалы??? Допустим школьник собирает свой проект. И вы предлагаете делать первый раз все с нуля??? Он потеряет минимум год, а то и больше, и еще не факт, что проект заработает.
Отвечу за себя — я любитель. Порог вхождения (по времени) был неделю. Это спаять программатор, понять как всё работает.
Мне за тридцатник перевалило. Времени мало. Будь я школьником, с такими возможностями (компьютер, интернет) этот порог был бы два-три дня. Я не говорю, что был-бы спецом или каким-то профи, но светодиод бы у меня заморгал.

Какой год? Неужели сегодняшнее поколение так деградирует?
0
почему год? задача минимум — сделать программатор юсб на плате при желании реализуется за неделю-две.
0
И вы предлагаете делать первый раз все с нуля???

Да. Начинать — только с нуля, никаких готовых библиотек. Мигающий светодиод, написанный руками, в сто раз полезнее скопипащенного Ethernet-стека.

Он потеряет минимум год, а то и больше, и еще не факт, что проект заработает.

Только если он клинически убогий. Светодиод мигается за два вечера с нуля.
0
Начинать надо с того, что принесет яркий мотивирующий результат. И затем уже двигаться вниз, к пониманию того, как оно работает внутри.
0
Он потеряет минимум год, а то и больше, и еще не факт, что проект заработает.

Эммм… какой год? Максимум несколько дней.

Я, 18 лет. Контроллер АТ89С51, он еще прошивался высоковольтным программатором размером с лопату.
Методичка о 12 листах с системой команд и простой программой. Плюс консольный программатор с куцей встроенной справкой.

Три дня ненапряженого ковыряния и вот я уже мигаю диодиком. Еще через неделю я нашел еще какую то методичку, там было кратенько, по абзацу, про периферию. Освоил таймеры и UART. БЕЗ интернета, без умных книжек.

А Арудино… это игрушка для всяких дизайнеров, офисных программеров, видевших паяльник только на картинке. Им да, вполне подойдет.

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

Родная же среда лишь засерает мозг, пряча то во что новичок должен первым же делом вгрызться — периферию, прерывания.
+1
вы только посмотрите на этот быдлокод
habrahabr.ru/blogs/DIY/131065/#habracut
я нихера в программировании не понимаю, но даже я так бы не делал

Как видно из листинга, я использовал 7 и 8 порты для подключения непосредственно номеронабирателя.

Далее, внутри бесконечного цикла, в котором происходит выполнение сценария, нужно проверять состояние первого порта, и если на нем есть логическое “да”, то это значит, что пользователь начал крутить диск. Пока диск не вернется обратно, нужно увеличивать счетчик каждый раз, когда второй порт разомкнут.

у него тупо в цикле все это работает
именно из-за таких идиотов 98 винда жрала ресурсы, даже если ничего не делалось
была реально мелкая прожка и стоило ее запустить, как через 5 мин радиатор процессора был комнатной температуры, в то время как без нее он был 40 градусов (это я про п2)

и больше всего у быдлодуинщиков пафоса
меня просто бесит их пафос, они думают, что собрали нечто великое
0
«Кто-то своими грязными сапожищами залез в мой уютненький эмбедед и наследил, пичаль-пичаль» :))))))
Это не пафос бесит, а собственные комплексы. Я весь крутой тут, такты считаю, биты упаковываю, errata уже наизусть выучил, трачу время на «сверхважный проект». А кто-то сел за полчаса на коленке сбацал твитерко-писалку, да еще на хабре получил инвайт.

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

Можно долго рассуждать о элегантности кода, но лучший код тот который прошит и работает в МК, а не тот который в воображении.
+1
и что не так? устройство стационарное, зачем такты экономить? все равно светодиоды дисплея сожрут в 10 раз больше чем процессор
0
Ну и? Для МК тупацикл это абсолютно нормально.

Да и винда проектировалась не для того, чтобы держать процессор холодным. Что ей еще делать, когда задач нет, кроме как в пустой цикл уходить?
0
как прийти к успеху?
1 купить быдлодуину
2 собрать бесполезную херню
3 запостить на хабре
4 запостить в твитор
5 запостить в соцсети
6 запостить в ютуб
7 ???????
8 PROFIT
0
Вам это чем-то мешает? В мире много всего ужасного. Дом 2. Стрит сракеры. Гламурные блондинки. Меня лично никто не заставляет это смотреть/участвовать/использовать, а Вас?
0
И?
Можно любую фигню запостить, так и чёрт с ним. Если человек сделал, почему-бы не похвалиться. Или лучше бухать/колоться?
0
Да нет в ней ничего плохого. Главное держать в голове однин простой факт. ЭТО ВРЕМЕННОЕ РЕШЕНИЕ для самых маленьких, на котором задерживаться нельзя.

А то натыкался я на ютубе на монстр проект в котором было 8(!!!) плат ардуино, хотя все можно было сделать на одной мега128. Просто видимо автор девайса вне этого кирпичика уже не мыслит.
0
и это вряд ли исправимо.
а то была на форуме мысль нетбук в подвал сунуть, чтоб там ds1820-кой температуру мерил, да свет включал, когда надо… без обид.
0
Возможно, ему просто никто не намекнул, что можно двигаться дальше? А может и не хочет. В конце концов, это его дело, потратить деньги на 8 ардуин или заняться более глубоким изучением. Или же счел, что дешевле поставить 8 ардуин, чем осваивать создание своих плат (не стоит забывать, это тоже требует солидных вложений в аппаратуру).

А вообще, лучший инструмент тот, который знаешь. На вопрос «на чем вы посоветуете писать свою игру?» Кармак ответил «пиши на том языке, который знаешь».
0
Часто в сети попадаются конструкции, которые легко реализовать на паре корпусов логики, а там или мега 16я или ардуино…
0
Ради справедливости надо отметить, что и обратные ситуации тоже бывают, когда использовать тиньку (а в самом ближайшем будущем и армы) выходит дешевле/проще, чем логику. И с удешевлением контроллеров такие ситуации будут встречаться все чаще. Если не выйдет так, что массовые контроллеры останутся только в BGA.
Хотя на данный момент этажерки из ардуин встречаются гораздо чаще, это бесспорно.
0
Интересно вот если бы DI для своего пинборда сделал бы загрузчик, какую нить IDE(на Эклипсе например) и какой нить вариант супер-пупер-мега-клон языка Си, его бы тоже ругали?
На самом деле в арудйне нет ничего плохого как в конструкторе. По быстрому накидал шилдов друг на друга, проверил софт, отладил. И потом уже ЛУТ и все иже с ним для получения рабочего законченного устройства.
Меня бесит именно софтовая часть в ардуине. Собственно решается просто. Вытирается загрузчик, накидывается 2 проводка на ISP и вперед. Пишем на чем привыкли, прошиваем как нам удобно.

Мозги засирают не конструктором, а тем как его приподносят. Получается что научившить на арудине человек ни программист и не электронщик… (ни рыба ни мясо ни водяная кусачка). Ни спаять ничего толком, ни написать.
0
  • avatar
  • Geban
  • 31 октября 2011, 08:31
накидывается 2 проводка

4
0
. Собственно решается просто. Вытирается загрузчик, накидывается 2 проводка на ISP и вперед.
Маразм же. Кстати, пинборд изначально идет с загрузчиком. Ардуиновский еще и получше, он оптимальней и жрет меньше флеша.

А лично я задумываюсь об обратном — применение среды ардуино без ее платы. В весьма многих случаях ее более чем достаточно, и она достаточно богата средствами и удобна.
0
Так вроде же уже давно придумано, по-моему даже на офф сайте расписано. Да и проекты такие мне попадались.
Кстати, вот это наверно основное, что было бы интересно почитать про ардуину, как за пять минут решить не очень требовательную к ресурсам и точности задачу средствами ардуино, но при этом не платить необоснованную цену за саму плату.
Ну и обратную задачу, о которой сказал Geban, тоже можно расписать, чтобы люди могли понять, что ардуино не само в себе, его на асме и си можно точно так же программировать.
0
А тут никаких проблем нет. Оно компилирует обычную прошивку для МК. Пиши как обычно, компилируй как обычно и заливай в контроллер любым способом. Правда, ассортимент поддерживаемых камней ограничен ардуиновскими вроде.
Я просто еще с самой средой ардуино не работал, и с фреймворком. Так тока, глянул.
0
Вот я про это и говорю, хорошо написать для каких МК подходит, с какими можно использовать после допила, плюс там порты разведены не подряд и имеют свою нумерацию, часть ног вообще не разведена, предусмотрено ли использование на не стандартных частотах. Вообщем таких мелких пунктов можно много напридумывать, и если каждый сам по себе вроде не сложный, то вместе наберется, о чем написать.
Так что на мой взгляд это лишним не будет.
0
и еще есть очень дешевые платы под ардуину. взял таких на случай если лень будет ЛУТить www.ebay.com/itm/280598906998?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
0
$2.50 за одну печатку?
0
да. по моему адекватно для мелких домашних поделок.
0
Не вижу большого смысла в такой плате в поделках. А вот в сочетании с беспаечной макеткой может быть и интересна.
0
Софтовая часть там хорошая, весьма полезна для всяких гуманитариев. Художники вот вполне неплохо ее применяют :)
0
Выношу на первый уровень этот коммент.
Интересно почитать про использование IDE и библиотек без самой ардуины, иногда это может быть актуально.
0
  • avatar
  • Swift
  • 31 октября 2011, 16:30
Хм, а я вот после своей первой "статьи", о том, как я первую платку сделал, вторую писать даже как-то и постеснялся…
Подумал — запинают… Так как сделано оно у меня в Ардуино (на нестандартном для нее контрллере mega32).
Собственно проект: «Драйвер на две RGB светодиодные ленты с экранчиком, измерением температуры и освещенности и ИК-пультом ДУ»
Есть фото процесса: www.dropbox.com/gallery/26973339/1/opm?h=33678e
И есть видео (сумбурное права) демострации работы:

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

По теме: Ардуино в общем-то вполне безпроблемно допиливается на любой АВР контроллер. Ибо все порт-маппинги и прочие вещи вынесены в одельные файлы. Естественно надо иметь какие-то знания об архитектуре МК, регистрах, уметь читать ДШ, но так или иначе подкрутить к Ардуино хоть мегу любую, хоть тиньку — без проблем (было бы время и желание). Причем у гуру это заняло бы совсем мало времени, вот только гуру этим, думаю, заниматься не станут, а жаль (лично у меня знаний попросту не хватает, чтобы сделать все правильно, оптимально и т.д., делаю исключительно чтоб заработало — не более)…
0
Из собравшихся истину говорит Vga.
Говоря про проекты я имел ввиду не «диодом моргнуть», а например по управлять малым мобильным роботом. Например: есть готовая механика и нужно узнать её характеристики. Лепить для прототипа что-то свое для начинающего — перебор.
0
Из собравшихся истину говорит Vga.
Говоря про проекты я имел ввиду не «диодом моргнуть», а например по управлять малым мобильным роботом. Например: есть готовая механика и нужно узнать её характеристики. Лепить для прототипа что-то свое для начинающего — перебор.
Тем более 2-3 дня — Вы загнули!!! Как вы разберетесь в программирование на уровне выше среднего за эти дни.
Вы в примеры приводите изготовление программаторов: но позвольте программатор без МК-системы — просто кусок текстолита с детальками.
И вообще: уж лучше Arduino, чем Lego.

P.S. Наши коллеги с roboforuma уже давно выпускают платы OR-Duino. И надо сказать неплохо получается. А вы, вместо того, чтобы языком трепать, лучше что-нибудь полезное сделали «профессионалы»
-1
ну вот, результаты быдлодуины
ru-radio-electr.livejournal.com/940847.html
прям как в воду глядел
0
Знаете, а я с вами поспорю. Даже если меня за это сминусуют…
В комментариях суть раскрылась: человек рисует мультики!
Блин, вот у вас появится желание купить телевизор, вы же пойдете и купите? А если захотите сделать ремонт дома? Тут уже сложнее: сделать ремонт самому (телевизор тоже можно, в общем-то, только вряд ли кто-то будет), либо заказать ремонт у других, заплатить денюжку. И знаете, большинство пойдет и закажет. Почему? Да потому, что они не профессиональные ремонтники, и даже если они могут, умеют и хотят читать литературу по ремонту, у них может не быть на это времени.
Я вот сейчас уже не занимаюсь ремонтом своей машины, а езжу в сервис, пусть и машина наша — дешевая, пусть и раскошелиться приходится. А почему? Да потому, что я лучше за эти два часа ремонта машины сделаю то, что я умею (и за что мне платят), получу деньги и расплачусь за ремонт, при этом ремонт будет сделан качественно (если мастер правильный конечно) и быстро. PROFIT, все довольны.
Я это к чему: я за разделение труда. Каждый пусть делает то, что хочет и что умеет. Ну не хочет человек разбираться в схемотехнике, ну и не надо, есть у него денюжка, чтобы заплатить за это другому деденьке — так пусть, кому от этого хуже? Дяденьке? Наоборот. Мультипликатору тоже, думаю, не плохо, ибо он пока ему будут делать платку, сделает мультик хороший, денег заработает.
Захотелось ему так, в чем он виноват? Или если не собрал все сам с ноля, то ты уже не ТруЪ? Ну и пусть, вот я не Тру в эмбеде, и что? Мне это никак не мешает жить.
Замечу, все вышесказанное относится к хобби. Если человек профессионально занимается — это уже совсем другой вопрос. Но там вроде профессия у него другая (как и у меня, в общем-то).

Или вы вините не его, а именно Ардуину в том, что это именно она такая секая его подтолкнула именно к такому варианту развития: заказать разработку железки на стороне, а не собрать самому своим паяльником?
Вы уверены, что виновата именно Ардуина, а не то, что он мультипликатор? Тут я спорить не буду, ибо сам не уверен, кто в этом виноват, и вообще, есть ли в этом что-то плохое, а когда нет ничего плохого, то и вину чью-то искать как минимум странно… Не находите?

PS: много букв получилось, ну что-то меня понесло, извините, если что не так… Но мысль, думаю, понятна.
0
Нормальный, адекватный пост. В отличие от комментариев, хаксоры понабежали и принялись укорять в неспособности плату выпилить.
И без дуины посты бы возможно выглядел примерно так, вместо описания готового прототипа и запроса на разработку печатки, воплощающей собранную схему.
0
Ему простительно, он дизайнер-фотограф
0
0
Почему лол? Человек идет в правильном направлении – проигрался с Arduino, сделал правильные выводы и двигается дальше. Опять же, под впечатлением от публикаций DIHALT. Вас пугает качество пайки/монтажа? Ну для, перового девайса все не так уж плохо.
0
Платка замечательно. Идеология зло.
Автор топика тролль, за разжигания холиваров на чистом месте.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.