Курс молодого бойца мира arduino

Записки программиста

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

В отличие от электродвигателя, который постоянно крутится, или, если питание не подано, не крутится, серводвигатель умеет поворачивается на заданный угол (часто от 0 до 180 градусов) и оставаться в таком положении.

Просто так управлять одним серводвигателем не очень-то интересно, поэтому давайте сразу рассмотрим пример использования четырех серводвигателей в робо-руке MeArm.<\p>

Немного теории

Серводвигатели имеют три провода:

  • Черный или коричневый — земля;
  • Красный — питание;
  • Белый или желтый — управляющий сигнал;

Питаются серводвигатели от отдельного источника питания, часто на 7-9 В, в зависимости от серводвигателя. Управление осуществляется очень просто — раз в 20 мс микроконтроллер посылает логическую единицу, длительность которой определяет угол, на который должен повернуться серводвигатель. Сигнал длительностью 0.

5 мс означает крайнее левое положение, 2.5 мс означает крайнее правое, а все что посередине — промежуточные состояния. Зависимость угла поворота от длительности сигнала линейная. То есть, например, сигнал длительностью 1.

5 мс соответствует прямому углу, если серводвигатель умеет поворачиваться на угол от 0 до 180 градусов.

В мире Arduino, как обычно, есть готовая библиотека под названием Servo, которая делает все описанное выше за нас. Больше теории и иллюстраций вы можете найти в Википедии, а также на сайте wiki.amperka.ru.

Практика

Вернемся к робо-руке MeArm. Вот как это чудо техники выглядит в собранном состоянии:

MeArm является открытым проектом (KickStarter, GitHub) и потому его можно как изготовить самостоятельно, так и купить готовый набор для сборки.

В России комплект для сборки MeArm можно купить, например, на lartmaster.ru, а также chipdip.ru. На сайте arduino-kit.ru подается тот же MeArm, но стоит он дороже, и это более поздняя версия, чем у меня.

Есть предложения и на AliExpress, например раз и два.

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

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

В моей робо-руке MeArm используются серво-двигатели Tower Pro 9g SG90. Их угол поворота ограничен диапазоном от 0 до 180 градусов. Информация в сети о том, на какое напряжение они рассчитаны, весьма противоречива. По своему опыту могу сказать, что при напряжении 9 В они работают исправно.

Пример прошивки для Arduino:

#include
#include “Servo.h”

#define DELAY_MS 20

Servo s1;

Servo s2;
Servo s3;
Servo s4;

int last_report = 0;

int loop_counter = 0;

void setup()

{
  s1.attach(2);
  s2.attach(3);
  s3.attach(4);
  s4.attach(5);
}

void loop()

{
  int p1val = analogRead(A0);
  int p2val = analogRead(A1);
  int p3val = analogRead(A2);
  int p4val = analogRead(A3);

  loop_counter++;

  if(loop_counter >= 1000 / DELAY_MS)

  {
    /* Skipped: print some debug info */
    loop_counter = 0;
  }

  s1.write(map(p1val, 0, 1023,  0, 179));

  s2.write(map(p2val, 0, 1023, 85, 179));
  s3.write(map(p3val, 0, 1023, 50, 155));
  s4.write(map(p4val, 0, 1023,  4,  23));
  delay(DELAY_MS);
}

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

Угол поворота серводвигателей ограничивается при помощи процедуры map в соответствии с физическими ограничениями MeArm.

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

Заключение

Как видите, все очень просто. При желании можно взять пару радиомодулей, например, NRF24L01, и управлять робо-рукой удаленно. А еще можно поставить робо-руку на нашего гусеничного робота.

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

Зато смотреться такая конструкция будет просто потрясающе, поражая юные умы будущих изобретателей роботов своей неземной крутизной 🙂

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

Дополнение: Как я собирал свой первый квадрокоптер на базе PixHawk

Источник: https://eax.me/arduino-robot-arm/

Центр робототехники для начинающих – Глава 2. Путь Arduino

Философия Arduino основана на создании проектов вместо разговоров о них. Это постоянный поиск более быстрых и ярких способов строить лучшие прототипы. Мы изучили множество способов прототипирования и создали способы мышления с применением рук.

Классический инжиниринг полагается на строгий процесс получения А из Б, а прелесть пути Arduino – возможность уйти с этого пути и вместо него получить В.

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

Следующие несколько разделов представляют несколько философий, событий и пионеров, которые вдохновили на Путь Arduino.

2.1 Прототипирование

Прототипирование – сердце пути Arduino: мы делаем вещи и создаём обьекты, которые взаимодействуют с другими обьектами, людьми и сетями. Мы стремимся найти более простой и быстрый путь создания прототипа наиболее дешёвёвым способом.

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

Именно поэтому мы разработали “оппортунистическое прототипирование”: зачем тратить время и энергию, строить с нуля (процесс, который требует времени и глубоких технических знаний), когда можно взять готовые устройства и взломать их чтобы использовать большую работу, проделанную крупными компаниями и хорошими инженерами?

Наш герой – Джеймс Дайсон, который создал 5127 прототипов своего пылесоса прежде чем удовлетворился в том, что сделал всё как надо (www.international.dyson.com/jd/1947.asp).

2.2 Самоделкины

Мы полагаем, что для работы с технологиями важно изучать различные возможности прямо на аппаратном и программной обеспечении иногда без точно определённой цели.

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

2.3 Сшивание

Я всегда был очарован модульностью и возможность построения сложных систем соединением простых устройств. Этот процесс очень хорошо показан Робертом Мугом и его аналоговыми синтезаторами. Музыканты создавали звуки, пробую бесконечные комбинации “сшивая” различные модули при помощи кабелей.

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

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

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

Эта техника была переведена в мир программ при помощи средств “визуального программирования” , таких как Max, Pure Data, или VVVV. Эти инструменты визуализированы как “ящики” с разной фукнциональностью, позволяя пользователю строить связи, соединяя эти ящики вместе.

Эти среды позволяют пользователю экспериментировать с программированием без постоянных перерывов, типичных для обычного цикла: “ввести программу, скомпилировать, чёрт побери – тут ошибка, исправить ошибку, скомпилировать, запустить”.

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

2.4 Искажение схем

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

Сердце этого процесса – “искусство шанса”. Оно было начато Ридом Газала, который случайно закоротил гитарный усилитель железякой в своём ящике стола, что вызвало поток необычных звуков.

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

2.5 Хаки клавиатуры

Компьютерные клавиатуры – всё ещё основной способ общения с компьютером на протяжении более 60 лет. Алекс Пентленд, академический глава MIT Media Laboratory, однажды заметил: “Извините за выражение, но мужские писсуары мужчин компьютеров. Компьютеры отделены от того, что вокруг них”.

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

Обычно это дурно пахнущая зелёная или коричневая плата с двумя рядами контактов, которые идут к пластиковым прокладам, осуществляющим соединения между клавишами. Если вы снимете их и используете провод чтобы соединить контакты, на дисплее компьютера появится символ.

Если вы приобретёте детектор движения и подключите его к своей клавиатуре, вы увидите, что как только кто-то пройдёт мимо компьютера, будет “нажата” клавиша. Свяжите его с вашей любимой программой, и вы сделаете свой компьютер умнее писсуара.

Изучение хаков клавиатуры – ключевой кирпичик прототипирования и физических вычислений.

2.6 Мы любим мусор!

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

Это всегда было большим рынком для такой продвинутой технологии, особенно среди молодых и/или бедных хакеров, которые только начинают свой путь. Этот рынок стал очевидным в Иври, где мы разрабатывали Arduino. В городе расположен главный офис компании Оливетти.

Они производят компьютеры с 1960-х годов; в середине 1990-х они выбросили всё на свалки района. Они были полны компьютерных частей, электронных компонентов и странных устройств различных видов.

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

2.7 Хакайте игрушки

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

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

Читайте также:  Сбережение электроэнергии в быту

2.8 Сотрудничество

Сотрудничество между пользователями является одним из их ключевых принципов мира Arduino – через форум на www.arduino.cc люди из разных уголков мира помогают друг другу в изучении платформы.

Команда Arduino побуждает людей к сотрудничеству на местном уровне, а также помогая им создавать группы пользователей в каждом городе, который они посещают. Мы также создали Wiki, названную “Детская площадка” (www.arduino.cc/playground), где пользователи документируют свои результаты.

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

Источник: http://www.servodroid.ru/index/glava_2_put_arduino/0-89

Уроки Ардуино — учебник для начинающих

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

В этой серии статей мы соберем самое главное, что нужно узнать об Ардуино, чтобы начать заниматься с детьми самостоятельно.

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

Начало работы с Ардуино

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

Чаще всего плата выглядит вот так:

На рисунке показана одна из плат Ардуино — Arduino Uno. Мы изучим ее подробнее на следующих уроках.

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

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

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

Вся работа над проектом разбивается на следующие этапы:

  1. Придумываем идею и проектируем.
  2. Собираем электрическую схему.
  3. Подключаем плату Arduino к компьютеру через USB.
  4. Пишем программу и записываем ее в плату буквально нажатием одной кнопки на экране в специальной среде программирования Arduino.
  5. Отсоединяем от компьютера.  Теперь устройство будет работать автономно — при включении питания оно будет управляться той программой, которую мы в него записали.

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

На экране показана программа (на сленге ардуинщиков текст программы называется «скетч»), которая будет мигать лампочкой, подсоединенной к 13 входу на плате Ардуино UNO. Как видим, программа вполне проста и состоит из понятных для знающих английский язык инструкций. В языке программирования Arduino используется свой диалект языка C++, но все возможности C++ поддерживаются.

Есть и другой вариант написания кода — визуальный редактор. Тут не нужно ничего писать — можно просто перемещать блоки и складывать из них нужный алгоритм. Программа загрузится в подключенную плату одним нажатием кнопки мыши!

Визуальную среду рекомендуется использовать школьникам младших классов, более старшим инженерам лучше сразу изучать «настоящий» Ардуино — это довольно просто, к тому же знания C++ никому не повредят.

В целом все выглядит довольно понятно, не так ли? Осталось разобраться в деталях.

Быстрый старт с Arduino

Для начала давайте поймем, с чем же и чем же мы собираемся заниматься. Что такое Ардуино и как его использовать? Если вы уже знакомы с темой — можете смело перескочить дальше.  Если нет – давайте вместе выполним короткое погружение.

Ардуино — это…

Ардуино – это не бренд и не название поставщика конструкторов.

Это общее название для целого семейства различных технологий и открытой платформы, в которую входят как аппаратные устройства (платы контроллеров и совместимое оборудование), так и софт, предназначенный для управления железками.

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

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

Создателем Ардуино принято считать преподавателя института IDII итальянского города Ивреи Массимо Банци, который пытался создать удобную платформу для обучения студентов программированию.

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

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

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

Называлось заведение именно так — Arduino, по имени главной исторической личности города Ивреа, короля Ардуино.

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

Почему Ардуино?

Вся прелесть  Ардуино заключается в следующих простых преимуществах:

  1. Простота. Да, да – именно простота (хотя Лего и другие игрушки, без сомнения, привычнее, но мы сравниваем не с ними). Для юных разработчиков электроники Ардуино «прячет» огромное количество разнообразных технических вопросов. Многие достаточно сложные проекты можно создавать очень быстро, без длительного погружения в детали.  А это ведь очень важно для ребенка – не утратить интерес до первого полученного своими руками результата.
  2. Популярность. Ардуино крайне популярна, вы сможете без труда найти ответы на любые вопросы на многочисленных форумах или сайтах. Сообщество Ардуино обширно и дружелюбно — там относительно мало прожженных жизнью снобов-инженеров и полно любителей и начинающих, с удовольствием делящихся своей радостью от найденного и узнанного. Это, конечно, откладывает отпечаток на качество советов, но как правило, даже самые сложные вопросы могут быть быстро решены с помощью форумов и сайтов.
  3. Доступность. И сама технология, и практически весь софт выпускаются под открытыми лицензиями и вы можете свободно использовать чужие наработки, библиотеки, схемы, причем во многих случаях даже для коммерческого использования. Это экономит много времени и позволяет двигаться большими шагами, опираясь на опыт предыдущих исследователей.
  4. Дешевизна. Комплект для первых занятий электроникой и программированием можно купить менее чем за 500 рублей. Полноценные курсы робототехники возможны при покупке оборудования на 3-5 тысяч рублей. Никакая другая технология не позволит вам так быстро и так эффективно войти в мир реальной учебной робототехники.

С чего начать?

Если вы хотите заниматься робототехникой с использованием Ардуино,  то вам понадобится такой вот джентельменский набор:

  1. Ардуино с USB кабелем для подключения к компьютеру.
  2. Монтажная плата и провода.
  3. Комплект базовых электронных компонентов и переходник для батарейки типа крона.
  4. Установленная на компьютер среда программирования Arduino IDE

Все оборудование продается в наборах, называемых стартовыми – на алиэкспрессе ищите по словам «starter kit».

В дальнейшем, если занятия действительно увлекут и будет желание продолжить эксперименты, то список оборудования будет расширяться:

  1. Датчики
  2. Экраны и индикаторы.
  3. Двигатели и сервоприводы, реле и драйверы двигетелй.
  4. Модули связи.
  5. Разнообразные дополнительные модули и платы расширения (шилды)

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

Как купить Ардуино?

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

Рекомендуется купить не очень дорогой отечественный набор с основными компонентами и затем уже заказать себе с Алиэкспресса датчики, двигатели, контроллеры и другие сокровища. Полезные советы по выбору платы можно найти в инернете (не только на нашем сайте).

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

Пару слов о платах Arduino. Сегодня их на совершенно легальных условиях может делать любой производитель: как крупный, такой как Intel, так и мелкие noname поставщики из Китая.

Надежность и удобство «китайских» и «официальных» платы Ардуино в большинстве случаев одинаковые.

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

Как отличить «оригинал» от «совместимой платы»:

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

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

Нет возможности купить?

Если вы живете в Антарктиде или у вас действительно не хватает средств даже на самые простые наборы, то не отчаивайтесь – можно начать изучение Ардуино на виртуальных тренажерах. Самый мощный, простой и популярный сегодня вариант – это онлайн сервис Tinkercad от известной компании Autodesk.

Вы сможете создавать электронные схемы, подключая множество разнообразных компонентов, а затем «включать» питание и измерять все электрические показатели. В библиотеке устройств есть и плата Ардуино, и даже встроенный редактор для программирования (включая визуальный!).

Вы можете найти на нашем сайте отдельную статью с подробной информацией о Tinkercad.

Полезные ссылки на учебники и сайты по Ардуино

Официальные сайты ардуино:

Отличные сайты с большим объемом полезной информации

И естественно, море полезной информации на Хабрхабре.

Подводим итоги урока

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

Начать создавать интересные технические проекты очень просто — для этого не обязательно быть электронщиком.

Просто возьмите плату ардуино, соберите с ее помощью нужную электронную схему (можно найти много готовых примеров в интернете), подключите контроллер к компьютеру и загрузите программу. Умное устройство готово!

В следующих уроках мы с вами узнаем, как работает контроллер, разберем устройство платы Arduino Uno и запустим свой первый проект.

Источник: https://ArduinoMaster.ru/uroki-arduino/arduino-uroki-nachalo-raboty/

Курс “Ардуино”

Изучить самостоятельно следующие материалы:

  1. Маячок с нарастающей яркостью
  2. Терменвокс
  3. Ночной светильник
Читайте также:  Простой спектроанализатор звука

Задание для каждой ссылки:

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

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

Первый (отборочный) онлайн-этап – 10 декабря — 1 марта 2017 года.

Второй (заключительный) очный этап – в апреле 2017 года.

Для участия в онлайн-этапе необходимо зарегистрироваться или авторизоваться на сайте и вступить в событие олимпиады.

Заключительный этап пройдет на Физтехе в апреле 2017 года.

Посчитать сумму всех чисел от 0 до N. N выбрать самостоятельно в диапазоне 10-20. Результат проверить в отладчике (debugger).

  • Нарисовать блок-схему алгоритма;
  • Написать программу в виртуальной среде circuits.io;
  • Проверить результат в отладчике.

Получить случайное число с помощью функции random. Если число равно 0, то зажечь зелёный светодиод, если 1, то — красный. Повторять каждые 2 секунды.

  • Нарисовать блок-схему алгоритма;
  • Собрать электрическую схему в виртуальной среде circuits.io.

Задание 2

Сделать аналог игрального кубика на 6-и светодиодах.

Цель: Научиться управлять изображением на LCD-дисплее с клавиатуры, подключенной к Arduino. Научиться создавать препятствия.

План:

  • Перемещение символа по дисплею с препятсвием с помощью клавиш 2468 (на 3);
  • Нарисовать блок-схему одной из функций проверки возможности движения (на 4);
  • Объяснить одну из функций проверки возможности движения (на 5).

Читать далее Arduino и клавиатура 2

Ссылка на редактор: https://circuits.io/lab

Пользователи (логин/пароль):

  • babkin@mailinator.com/bDDMMYYYY
  • chemshirov@mailinator.com/*****
  • gribanov@mailinator.com/gDDMMYYYY
  • grigorichev@mailinator.com/gDDMMYYYY
  • isakov@mailinator.com/*****
  • ibraev@mailinator.com/iDDMMYYYY
  • kabirov@mailinator.com/kDDMMYYYY
  • kondrashov@mailinator.com/kDDMMYYYY
  • korchenkin@mailinator.com/kDDMMYYYY
  • kronevald@mailinator.com/kDDMMYYYY
  • mihailov@mailinator.com/mDDMMYYYY
  • panin@mailinator.com/pDDMMYYYY
  • sedov@mailinator.com/sDDMMYYYY
  • tarasenko@mailinator.com/tDDMMYYYY
  • ustuzhanin@mailinator.com/uDDMMYYYY

Codecombat — игра для обучения программированию

Ссылка на класс: https://codecombat.com/students?_cc=TeamBadLarge

Игроки (логин/пароль):

  • Gribanov/gDDMMYYYY
  • Grigorichev/gDDMMYYYY
  • Kronevald/kDDMMYYYY
  • Sedov/sDDMMYYYY

Источник: https://arduino74.wordpress.com/

Базовый курс на Ардуино

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

Кроме образовательных целей, Ардуино подходит для создания небольших электронных проектов на скорую руку. Это могут быть элементы умного дома, автоматика квестов в реальности, роботы для соревнований, а также разные полезные в хозяйстве устройства. Вот лишь некоторые примеры Ардуино-проектов:

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

Источник: http://robotclass.ru/courses/arduino-basics/

Первые шаги. знакомство с arduino

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

Вид платы ArduinoUno

Если вы покупаете только плату Arduino — UNO, Mini, Micro, Mega, Duemilanove.

1. Вы сможете:

Подключить Arduino к компьютеру (если конечно в комплекте  есть USB шнур).

Загружать написанные на компьютере программы, через среду разработки (она есть как для Linux, MacOS, так и для Windows. , т.е вам нужна не только плата Arduino, но и компьютер).

Радоваться тому что у вас теперь есть такая платформа.

2. Вы не сможете:

Создавать свои устройства работающие на ардуино.

Роботы, бегущие огни, машинки объезжающие препятствия, роботы управляемые через телефон, метео станции, реле времени, парктроник, измерители давления, красивые видео эффекты на светодиодах — куб 3х3х3, 4х4х4 и прочие.

Для того чтобы что-то понять, что такое Arduino?, вам нужно посмотреть хотя бы пару видео уроков по Arduino и среде разработки. Какие бывают ардуино платы?, как установить?, где скачать?, и пр., пр.

Видео уроки легко найти в интернет поисковике по фразе — «Видео уроки по Arduino от Jeremy Blum Год выпуска: 2011″ —

Это комплект из 10 видео уроков.

Для того чтобы просто, хоть с чего то начать — вам понадобится:

Минимальный стартовый набор — Arduino Starter Kit

Он, как правило, включает в себя:

Плата Arduino с USB кабелем.

Блок питания для Arduino или батарейка.

Макетная плата для безпаечного монтажа.

Набор соединительных проводов ( провод — с разъёмом на конце — папа-папа ).

Несколько светодиодов.

Набор резисторов от 200 до 500 ом. ( по количеству светодиодов ).

Минимальный стартовый набор ArduinoKit

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

Если вы всё же решите идти дальше, в скором времени вам понадобится паяльник, канифоль и припой. Знаю это по себе, — когда дело дойдёт до ЖКИ дисплея, паяльник вам потребуется 100%, соединительные ножки вам придётся впаивать самим. Гребёнка и  разъём, обычно в комплекте присутствуют, но не распаяны.

В дальнейшем я покажу как самим припаять разъём.

Сразу можно купить пинцет и кусачки.

Следующая статья — Arduino UNO R3 Starter Kit…

Источник: http://arduinokit.ru/arduino/lessons-arduino/familiarity-with-arduino.html

Учебный курс – Arduino для начинающих

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

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

Используемый учебный комплект стоит порядка 3000 руб(подробное описание в конце страницы). В данном случае вам нет необходимости его покупать целиком, а по прохождению курса вы сможете квалифицированно сделать выбор деталей необходимых вам для проекта.

Материал разделен на Занятия условно, поскольку заранее не известен уровень подготовки слушателей, поэтому Задачи могут перемещаться из одного занятия в другое. Курс проработан в двух вариантах Стандарт и Экспресс(в один день за 6 часов проходим весь материал курса).

Занятие 1 – На этом занятии вам помогут поставить все необходимое ПО и примеры кода для задач. Дадут немного теории о Ардуино, макетных платах и экспериментальном комплекте. И вы выполните первое базовое упражнение — Помигаете светодиодом.

  • Задача 1. Подготовка.
  • Задача 2. Управление включением светодиода.

Занятие 2 – Учимся включать электромагнитное реле, к которому можно будет подключить нагрузку любой мощности. Включать и выключать мотор можно и через транзистор, а регулировать скорость с помощью Широтно-импульсной модуляции (ШИМ)

  • Задача 3. Управление реле.
  • Задача 4. Управление мотором через транзистор. Понятие ШИМ

Занятие 3 – Учимся поворачивать вал сервопривода на любой угол. Сервопривод – это мотор с редуктором и контроллером. Любое устройство имеет кнопки управления – учимся узнавать, когда они нажимаются.

  • Задача 5. Управление серво приводом.
  • Задача 6. Считывание информации с кнопки.

Занятие 4 – Как подать звуковой сигнал? В этом нам поможет пьезоэлемент. Получить любой цвет радуги с помощью RGB диода. Измерить освещенность Фоторезистором, а температуру Термодатчиком.

  • Задача 7. Пьезоэлемент.
  • Задача 8. Диод RGB.
  • Задача 9. Фоторезистор.
  • Задача 10. Термодатчик.

Занятие 5 – Как регулировать напряжение, яркость светодиода с помощью потенциометра, узнаем на этом занятии. Здесь же познакомимся с новинками: «мягким» потенциометром, который работает как и простой потенциометр, но при этом его можно изгибать в руках, а так же с гибким сенсором, который меняет свое сопротивление пропорционально изгибу.

  • Задача 11. Считывание информации с потенциометра.
  • Задача 12. Гибкий сенсор.
  • Задача 13. «Мягкий» потенциометр.

Занятие 6 – Выведем результаты не только в USB порт но и на LCD экран.

  • Задача 14. Вывод данных на LCD экран.

Занятие 7 – Что такое робот мини-сумо и его основные компоненты.

  • Задача 15. Инфракрасный (ИК) датчик препятствия (пороговый дальномер).
  • Задача 16. Датчик черного и белого цвета (датчик края).
  • Задача 17. Стартовый модуль (приемник ИК сигнала с пульта судьи).

Состав учебного комплекта:

Учебный комплект.

  • Arduino Uno R3
  • Монтажная плата
  • Крепление для Arduino и Монтажной платы
  • LCD экран 16×2
  • Сдвиговый регистр 74HC595
  • Транзисторы 2N2222
  • Диоды 1N4148
  • DC Motor с проводами
  • Small Servo
  • Реле 5V
  • Датчик температуры TMP36
  • Flex sensor
  • Softpot
  • 6' USB Cable
  • Соединительные провода
  • Photocell
  • RGB светодиод 
  • Красные и Желтые  светодиоды
  • 10K Trimpot
  • Piezo Buzzer
  • Кнопки 12mm
  • Резисторы в 330 и 10K

Ссылки:

  • Страничка производителя учебного комплекта.
  • Где купить комплект в России. 

Компоненты не входящие в состав комплекта:

Источник: http://rus-robots.ru/dlya-sportsmenov/informacionnye-materialy/uchebnyy-kurs-arduino-dlya-nachinayushchih/

Уроки Arduino от Jeremy Blum. Первые шаги

Всем привет. Я Джереми Блум. Рад представить вам новую серию туториалов по Arduino.

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

Это должно быть очень увлекательно. Неважно, новичок ли вы, который никогда не связывался с электроникой до этого или вы «ветеран», который плотно работал с микроконтроллерами, но никогда не использовал Arduino.

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

Давайте начнем.

Вещи, которые могут вам понадобится в нашем цикле уроков и для того, чтобы работать с Arduino

  • Конечно же, вам понадобится сама плата Arduino.
  • Вам понадобится USB-кабель, для того, чтобы программировать Arduino. Так же через него идет питание от вашего компьютера. Если вы хотите использовать Arduino не подключенным к компьютеру, после того, как вы закончили с программированием, вам понадобится блок питания.
  • Вам также понадобится (breadboard) (доска для прототипирования, макетная плата, монтажная плата). Брэдборды крайне удобны для сборки прототипов электронных схем. Мы соберем несколько различных схем, которые вы сможете использовать для управления светодиодами, динамиками, моторами и всякими такими вещами.
  • Вам понадобятся светодиоды и резисторы (220 Ом, 1 кОм, 10 кОм, 100 кОм) для тестов, которые мы будем проводить.
  • Вам может понадобиться динамик или парочка, чтобы вы могли извлекать звук из Arduino.
  • Моторы. Мы будем использовать постоянные моторы, сервоприводы и, если хватит времени, шаговые моторы.
  • Еще несколько сенсоров по ходу дела. Я буду говорить о них по ходу дела. Но для затравки скажу, что, возможно, мы будем использовать датчики изгиба, сенсоры давления и датчики света.

Arduino – это open-source платформа для прототипирования устройств,которые основаны на микроконтроллерах ATmega Atmel. Вы можете программировать их сами по себе через штуковину, называемую ISP-программатор.

Читайте также:  Stm32.

И программировать их на языке С. Этим способом я сделал несколько проектов в лабораторном классе в универе. И это круто на самом деле. Вы можете сделать много забавных вещей с их помощью.

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

Вы получаете среду программирования Arduino, которая значительно проще С. Это работает через небольшую программку, прошитую в микропроцессоре. Прошивка Arduino зашита в ATmega чип, который установлен на плату Arduino.

И вы программируете на языке Arduino, о котором мы будем говорить на протяжении этой серии уроков. Итак, это Arduino UNO:

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

И вы можете собрать свою собственную плату из частей, которые у вас есть или купить их. Вы можете прошивать их через ISP программатор, если захотите. Существует множество способов, как использовать микроконтроллеры Arduino.

Мы будем работать с UNO, поскольку его просто достать.

У него есть USB-порт для программирования, гнездо для внешнего питания, регулятор напряжения для него. Вы можете запитать его от батарейки или блока питания, включенного в розетку. Есть кнопка RESET, ISP-программатор. Сам ATmega чип и набор контактов, к которым вы подключаете своих входы и выходы.

Как вам настроить компьютер, чтобы могли программировать свой Arduino

Начните с посещения сайта Arduino, чтобы загрузить оттуда открытую среду программирования Arduino. Это arduino.cc. Кликайте по кнопке Download

Проскрольте вниз. Найдите версию операционки, на которой вы сидите. У меня сейчас Windows.

И загрузите этот файл.

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

После этого просто запускайте скачанное приложение.

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

Я сохраню его на рабочий стол.

Программа Arduino сохраняется в папку с тем же именем, что и скет. Скетч – это то, как называется программа в Arduino. Их называют скетчами.

Следующая вещь, которую надо сделать – это убедиться, что вы работаете с правильной разновидностью Arduino. Идите в Tools-Board. Затем дождитесь, когда выпадет список. У нас Arduino Uno. Поэтому выбираем Uno. Если у вас другой Arduino, убедитесь, что вы правильно его выбрали здесь. Теперь мы готовы программировать наш Arduino.

Простая программа для Arduino

Для начала давайте сделаем очень простую программку для Arduino. Все, что программа будет делать – просто мигать светодиодом, встроенном на плате. У всех Arduino есть светодиод, подключенный к контакту 13, Поэтому вам не понадобится никакой внешней схемы. Мы будем включать и выключать встроенный светодиод.

Это хорошая мысль – начать с комментирования своего кода. На языке Arduino двойной слеш означает однострочный комментарий. А слеш-звездочка – многострочный. Назовем это «первой программой Джереми. Она прекрасна».

Что мы сделаем – объявим константы в начале нашей программы. Давайте сделаем это.

Для тех, кто не программировал раньше: все, что мы сделали – это присвоили integer 13. Integer – это просто число. И это константа. Эта переменная определяет, на каком из контактов находится светодиод Arduino. Это контакт 13.

Все программы на Arduino обязаны иметь два метода. Первый – это void setup. Он выглядит так:

Содержимое должно быть между этими скобками

Вторая часть любой программы Arduino (она может быть пустой, если хотите) – это void loop:

Для чего нужны две эти части. Первая делает, все, что будет запущено один раз – в самом начале, когда Arduino включается. А функция loop отвечает за вещи, которые будут крутиться непрерывно, в бесконечном цикле, пока Arduino включен. И это то, что вы обычно будете хотеть от микроконтроллера: делать что-то бесконечно, пока вы его не выключите.

Функция setup. Давайте будем комментировать происходящее. Мы проинициализируем контакты в качестве выходов. Все контакты на Arduino могут быть использованы и как входы и как выходы. И мы еще поговорим об этом подробнее.

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

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

Теперь мы напишем наш цикл. Он очень простой. Все, что он делает – это устанавливает светодиод в HIGH, то есть включает, ждет немного, выключает и снова ждет немного. И он будет повторяться попеременно, выключая/выключая светодоиод.

Для того, чтобы установить цифровой выход используется команда digitalWrite. Опять же, она принимает два аргумента. Первый – это контакт, на который мы хотим повлиять. Нам нужен ledPin. Устанавливаем его в HIGHT и LOW. HIGHT означает включить, LOW – выключить. Мы начинаем с установки HIGHT.

Теперь мы хочем оставаться HIGHT до следующего действия. Поэтом у добавим здесь задержку: delay. Принимаем аргумент задержки в миллисекундах. В секунде 1000 миллисекунд, поэтому напишем здесь 1000.

Это оставит светодиод включенным на 1 секунду, пока мы не выполним следующую команду: digitalWrite(ledPin, LOW). Это его выключит. И нам нужно остаться LOW на секунду: delay(1000).

Светодиод выключенный на секунду.

В конце он перейдет от последней сделанной вещи к началу цикла и включится снова. Мы получили светодиод, который попеременно включается и выключается, задерживаясь на секунду каждый раз. Это наша первая готовая программа на Arduino! И это все, что она делает.

Теперь я беру USB кабель и подключаю его к компьютеру и к Arduino. Видите, Arduino засветился:

Если вы сидите с Arduino под Windows как и я, у вас может выскочить предупреждение о том, что драйвер Arduino Uno не установлен. Это из-за изменений, которые были сделаны в интерфейсе платы Uno по сравнению с предыдущими версиями Arduino.

Если у вас более старая версия Arduino, она должна встать сама по себе. Если у вас Uno, необходимо выполнить следующие действия. Откройте меню «Пуск». Затем «Панель управления». Идем в «Система и безопасность». Кликнем по «Категории». Затем нужно выбрать «Система».

Идем в «Менеджер устройств». И вы видите Arduino Uno здесь.

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

И выбираете папку «drivers». Жмем «OK», «Далее». Появляется сообщение «Производитель не может бать установлен». Это нормально. Все равно жмем «Установить». И все, готово! Жмем «Закрыть», закрываем открытые окна. И мы готовы прошивать наш Arduino.

Для прошивки все, что нужно сделать – это нажать кнопку «Upload»:

Это запустит компиляцию и загрузит все на плату Arduino. Убедитесь, что выбран нужный COM-порт. Высветилось «Uploaded».

Теперь посмотрите на вашу плату Arduino. Как видите, светодиод мигает каждую секунду. Поздравляю, вы создали вашу первую программу на Arduino!

Послесловие и видеоурок

Это все технические моменты на этот раз. Мне не хотелось устраивать вам вывих мозга. Я просто рассказал, как настроить систему, чтобы убедиться, что вам удалось завести Arduino Uno или другой микроконтроллер. Я упомянул о брэдбордах, проводах, резисторах, светодиодах. Вы уже можете начинать экспериментировать с ними.

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

Полный первый видеоурок от Джереми Блума приведен на видео ниже:

Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!

Источник: http://arduino-diy.com/arduino-pervyye-shagi

Урок по arduino 1 – Ваша первая “Hello World!” программа на arduino

Для первого урока нам ничего не нужно кроме самой Arduino и usb кабеля к ней.Как не банально это будет звучать, но давайте скажем с помощью Arduino “Hello World!”. С этого простого эксперимента мы сделаем свой первый шаг в мир Arduino.

Для урока нам понадобится :

  1. Arduino uno контроллер
  2. USB кабель (в большинстве случае он идет в комплекте с контроллером)

Для начала нам нужно подключить Arduino к компьютеру, а затем написать в данной среде код программы “Hello World!”. Копируем его и вставляем в ранее установленную IDE.

int val; // Задаем переменную val для отслеживания нажатия клавиши
int ledpin = 13; // задаем цифровой интерфейс ввода/вывода 13 – это наш светодиодvoid setup (){  Serial.begin (9600); // Задаем скорость обмена com-порта 9600  pinMode (ledpin, OUTPUT); // Задаем ledpin = 13 как интерфейс вывода информации}void loop (){  val = Serial.read (); // Считываем команду посланную с компьютера через консоль IDE Arduino  if (val == 'R') // Задаем букву условие на букву “R”, при нажатии которой в консоли будет зажигался светодиод и появится строка “Hello World!”{digitalWrite (ledpin, HIGH); // Включаем светодиод на 13 выходе платыdelay (500);digitalWrite (ledpin, LOW); // Выключаем светодиод на 13 выходе платыSerial.println (“Hello World!”); // Пишем в консоль “Hello World!”}

}

Или вы можете его залить в ардуино прямо с браузера из ниже предложенного окна. При этом предварительно нужно установить драйвера для вашей платы.

Данные код ждет когда на виртуальный com порт arduino будет подан сигнал в виде буквы “R”, после этого зажигается встроенный светодиод на плате (выход № 13 платы) на 2000мс (2секунды), а потом в мониторе порта arduino UNO возвращает нам надпись “Hello World!”

Разберем код программы.

В первых двух строках задаются наши переменные val и ledpin, причем второй переменной сразу присвоено значение 13 – это номер выхода на котором находится встроенный светодиод на плате.

Далее в обязательной процедуре void setup () командой Serial.begin (9600) мы задаем скорость обмена данными с нашей платой.

Пока мы не планируем передавать большие объемы данным, поэтому зададим небольшую скорость 9600, что положительно скажется на стабильности обмена данными с компьютером.

Команда pinMode (ledpin, OUTPUT) указывает микроконтроллеру, что вывод 13 (переменная ledpin) предназначен для вывода информации, в нашем случае мы будем включать и выключать напряжение на светодиоде.

Основной код программы выполняется в обязательной процедуре void loop (), она по кругу до бесконечности выполняет код внутри нее.

Считываем данные с com порта – val = Serial.read ();Если com порта пришла буква R  – if (val == 'R')

то

Источник: https://AutoHome.org.ua/arduino-lessons/58-arduino-lesson-1-hello-world

Ссылка на основную публикацию
Adblock
detector