6 шагов к готовому устройству с Arduino для новичков +20


Мы смеёмся над «неумёхами», превращаемся в снобов. Мы стали плохо объяснять новичкам. Мой знакомый дефрагментировал диск C и позвонил мне с вопросом, куда пропала его «винда». Виноват ли он? Думаю, не совсем. Он читал форум где было написано, что форматирование или дефрагментация несут определённую выгоду. Но нигде не было сказано, что он потеряет при этом содержимое диска. И это всё мы — торопимся слишком, за нами не успевают. Комментарии к этому посту были отличным и честным примером того, как мы на самом деле умеем объяснять новичкам. Давайте продолжим эту традицию! Сегодня я буду говорить медленно.

image
Архитектура Системы

Ардуино — не сложнее оригами. Быстрый старт в 6 шагов. Туториал.


На работу пришёл программист и за 30 минут своего пребывания в офисе он каким-то макаром порешал все проблемы, собрал 46 журавликов, отчитался о работе за неделю и срулил. Я думаю, у него СДВГ, что делает его гиперпродуктивным. Но моё внимание привлекли именно журавлики. Я же умею складывать оригами. Почему я до сих пор ломаю голову над тем, как начать играться с Ардуино, если собрать из него какую-нибудь ерунду не сложнее, чем сложить этого самого журавлика из бумаги? Поэтому: быстрый старт. Туториал. Без регистрации и смс. Прямо сейчас.

Шаг первый: взять в руки Ардуино


Берём Нано. Почему? Потому что маленькая. Её можно приспособить куда угодно в твою модель. Раньше была Уно (она и сейчас есть) но она большая «бандурина» — например, её ни один квадрокоптер не поднимет. Есть ещё множество разновидностей Ардуино, но мне показалось, что эти проще всего у нас найти, например.

image

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

Шаг второй — выбираем компоненты


Подключаемые модули — любые. Когда я спросила какой проект я могу собрать со своим начальным набором ардуино, ответ был неутешительный: открываешь вкладку «товары Ардуино» и выбираешь любой датчик. Любой, Карл.

Я спросила, что я могу включить при помощи реле? Мне сказали — всё, что угодно. Отлично! Включу тогда себя в список «Форбс», — подумала я. Скетч для включения себя в список Форбс можно скачать здесь.

Поэтому, пожалуй, это (модули) и есть единственная часть, достойная внимания — о ней сегодня и поговорим, потому что именно от неё можно отталкиваться. Весь остальной «шум» — паять, законы Ома, программировать, писать скетчи, перепрошивать — nevermind. Главное придумать, что ты хочешь, а чтобы знать, чего хотеть, надо знать из чего выбрать. Итак.

Шаг третий — выбираем, на что сажать компоненты


Шилда (shield) для Ардуино — держатель для МК и его модулей чтобы не развалились. Можно без неё\него обойтись спокойно, если знаешь как чего подключать. Не знаешь закона Ома? Не умеешь паять? Это не важно. Просто посади всё на шилд, где уже продумали что куда и спаяли.

image
Всего лишь один из множества вариантов шилдов, самый общий, без какой-то конкретной функции. Обычно у них предусмотрен разъем питания, хотя, как правило, можно работать, подключив питание через USB разъем на Ардуино.

Выбирайте себе любой шилд или готовый набор шилд + компоненты, как это сделала я.

Если погуглить, то это всё, конечно, страшно читать: «плата расширения Arduino для управления световыми эффектами по протоколу DMX» Не бойтесь этих слов и не забивайте ими себе голову. Ваша задача: решить, какое собрать устройство, выбрать соответствующую плату расширения, а затем компоненты к ней. И нагуглить скетч.

Всего вариантов три у вас — куда сажать МК:

Шилда, которую умные люди для вас продумали заранее. Берёте любую готовую и всё — всё прикорячили, закачали скетч, запустили, ходите, всем показываете. Гуглится по: Arduino-совместимая плата расширения.

Хлебная доска (breadboard, макетная плата). Недостаток: придётся вникать куда и как течёт ток, что у него есть три параметра — I, U, R — сила тока, напряжение, сопротивление. Придётся знать закон Ома. Ну и если им пренебречь, вы сожжёте МК чуть позже, чем все компоненты вместе с ним. Но зато ничто, как доска не помогает понять принципы работы этого всего. Поэтому определитесь: хотите ли вы собрать готовое устройство или познакомиться с законами физики и принципами электрического тока. Кто-то скажет, что не бывает одного без другого, но суть конструктора Ардуино как раз в том, что бывает.

image
Так выглядит хлебная доска.

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


Чем-то, наверное, даже похожи. На самом деле нет.

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

Итак, у нас есть только шилд и да не будет у нас ничего другого — пока что. Потому что это очень удобно. Это-то и превращает Ардуино в обычный конструктор «собери сам».

Шаг четвертый: гуглим скетч


Как писать скетч? Вы удивитесь, но пофиг. Их уже столько понаписали что недостатка в них нет. У всего для Ардуино открытый код — бери, кто хочешь, улучшай, что хочешь. Нам можно просто нежиться в тёплом пледе у камина и гуглить, что умные люди для нас уже сделали. (Ровно до тех пор, пока мы не захотим познакомиться с программированием, конечно).

Нам сейчас с вами важны только два навыка:
  1. Найти нужный скетч в интернете
  2. Знать как его залить на Ардуино. Это будет сейчас звучать очень круто — среда-подумать-только!-разработки IDE. Для новичка звучит диковато. Однако единственное, для чего вы будете использовать эту среду — чтобы просто через неё залить скетч в МК. Ну можете ещё понты кидать — я работаю в среде разработки IDE, звучит же гично; но на самом деле, в нашем случае — мало что значит, сказать по правде. =)

Какой скетч в моей Ардуине прямо сейчас? Nevermind. Вы всё равно не узнаете, так что закидывайте туда скорее то, что скачали, сажайте MК и компоненты на шилд и «втыкайте» во что-то напряжением не более 5 Вольт. Стирайте его (скетч) без малейших колебаний, пишите\подбирайте тот, который вам нужно.

Шаг пятый: заливаем скетч в Ардуину


Минуту назад про среду разработки говорили, да? Вот вы когда музыку в iPhone заливаете через iTunes — вот, на мой взгляд, это так же неудобно, как заливать скетч в Ардуину — т. е. нужна специальная программа-посредник, через которую всё можно сделать. Но! Ведь с iTunes'ом справляются даже люди с очень специальными возможностями! Так и тут, не волнуйтесь, мы это быстро сейчас сделаем. Только заливать будем не музыку, а сценарий работы нашей новой системы.

Знаете, как называется iTunes для Arduino? Правильно: просто Arduino. Её ещё называют «среда разработки IDE». Некорректно называть среду разработки — программой, скажут многие на Хабре. Но мы пренебрегаем и вальсируем в данном случае — нам надо, чтобы быстро.

Короче. Берём себе программу IDE здесь.

Устанавливаем её на свой комп, настраиваем что там надо настроить (ой, ну apple ID вы же себе создали как-то, так и тут — справитесь =). Вот как это сделать:


Подключите Ардуину юсбишкой к компу. Порт, на котором она «висит», должен определиться автоматически. Вот у меня на Линуксе не определялся хоть ты тресни. Я перезапустила через sudo программу и использовала первую её версию — так решается эта проблема на моей ОС. На других системах аналог такого решения — как в том анекдоте «Вовочка, выйди и зайди нормально».

Теперь ctrl-c ctrl-v нагугленный шагом ранее скетч сюда, hit compile & upload to the arduino.

Фьюююю. Улетел ваш скетч в ардуину.

Именно на этом этапе срезается большинство новичков, т. к. по разным причинам никакого «фьюуууу» не происходит и система выдаёт сообщения об ошибке. Пожалуйста, не сдавайтесь! Мне и самой пришлось читать форумы целый день (целый день, Карл!) для того, чтобы пройти этот этап. Но, возможно, он и есть самый сложный.

Одна из частых проблем здесь — «палёная» Ардуино. Конечно, через интернет из-за границы купить её — это рублей 300, от силы. Та же «палёная» Ардуино отечественной сборки будет стоить в 2-3 раза дороже. НО. Её можно вернуть\обменять через продавца — и для меня лично это плюс. Впрочем, мне повезло, моя покупная Ардуино работает.

Отличить «палёную» от «непалёной» Ардуино, которую вы держите в руках, можно путём сравнения МК с его же фото на официальном сайте. Она стоит в 2-3 раза дешевле официальной в силу логистики и похожих причин в первую очередь.

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

Шаг шестой: Поехали!


image

Проверяем:

  1. МК — готов к работе, потому что в нём есть скетч с готовым сценарием (программой на языке Си, загруженной в МК при помощи стандартной среды разработки IDE — да, я люблю всё усложнять =)
  2. Собираем: компоненты и МК ставим их (или сажаем) на шилд.
  3. Подключаем питание. Вот на этом этапе можно было бы всё сжечь, будь у вас хлебная доска. А так — просто следите, чтобы было не больше пяти вольт. Для этого просто подключите Ардуину по USB в комп и забудьте на время, что я только что сказала про «какие-то» вольты.
  4. PROFIT!!!!!


Troubleshooting

Если вы всё делали правильно, то у вас всё уже давно что-то работает и сюда вы не дочитали (а покажите в комментариях, пожалуйста?). Но иногда бывает такой день, что что-нибудь невнимательно прочитаешь и привет. Основные ошибки:

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

Что делать? делайте выводы. Шутка. Купите новый. А из этого спаяйте себе серёжки:

image

2. Вместо того, чтобы загрузить в МК скетч, «нажали не туда» и покалечили ему прошивку. Это примерно как снести BIOS в компьютере — вы получите груду мёртвого железа, на которое невозможно установить ось, пока не вернёшь BIOS как было.

Что делать? Ну, во-первых, это трудно сделать. Во-вторых, если да, то не всё потеряно: читайте форумы и официальный сайт, или ждите нашего нового поста. Всё, что вам нужно, это прошить МК ещё раз. It's not rocket science!

3. Скетч не заливается. Об этом читайте выше и не сдавайтесь! Замените вашу версию IDE или ваш МК. Попробуйте перезапускать IDE\компьютер, переподключать к разным разъемам USB.

Вот, вроде и всё. Всего три проблемы, которые мы вам только что рассказали, как миновать. В остальном просто соберите всё аккуратненько без люфтов, отходящих контактов и ошибочной копипасты скетча. Всё, теперь вы специалист в программировании микроконтроллеров!

Quick FAQ


Как сжечь ардуино?

Например, светодиод имеет весьма небольшое внутреннее сопротивление, и если мы подключим его напрямую, то возникший в цепи большой ток может сжечь порт микроконтроллера. Поэтому, подключив небольшое 330-омное сопротивление, мы ограничим ток. Величину тока легко оценить, воспользовавштись законом Ома, гласящим, что ток равен отношению напряжения к сопротивлению: I = U/R. В нашем случае примем сопротивление светодиода за 0 и получим по формуле ток, равный 5 Вольт / 330 Ом = 15.1515… миллиампер. Порты микроконтроллера выдерживают ток до 40 мА (сколько выдержат ваши диод и микроконтроллер — смотрите по спецификациям), так что 15-16 мА — вполне в пределах допустимого.

Почему нано?

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

Как узнать какой скетч в моём ардуино сейчас?

Никак. Просто залейте новый.

Пишите в комментариях, что вам удалось собрать благодаря (или вопреки?) этой статье. И если есть вопросы по теме — меняем вопросы на ответы по курсу 1:1 Участвуют все. Торопитесь! =)

Если вам нравится читать мои статьи, заметки и инструкции о том,

подписывайтесь на новые посты и до новых встреч!




К сожалению, не доступен сервер mySQL