Ардуино (англ. Arduino)- это такая популярная и всемирно известная платформа для получения базовых навыков в микроэлектронике. По сути — это очень маленький компьютер, для которого можно составлять программы, и управлять с помощью них различными устройствами, начиная светодиодом и заканчивая роботом.
Кроме образовательных целей, Ардуино подходит для создания небольших электронных проектов на скорую руку. Это могут быть элементы умного дома, автоматика квестов в реальности, роботы для соревнований, а также разные полезные в хозяйстве устройства. Вот лишь некоторые примеры Ардуино-проектов:
Наш курс состоит из очных уроков и домашних заданий, сгруппированных по темам. Хотя сами упражнения и описание к ним мы адаптировали специально для преподавания в школах, взрослому они тоже будет интересны 🙂 Каждый урок непременно заканчивается рабочей схемой или каким-то полезным устройством, будь то электронные часы, термометр, или целый робот.
Описание
Тема 1. Знакомство с платформой Arduino — Знакомимся со средой программирования Arduino IDE и с беспаечной макетной платой.
Тема 2. Работа с цифровыми сигналами — Подключаем светодиод, зуммер и кнопку.
Тема 3. Индикация — Знакомимся с сегментным индикатором и жидкокристаллическим дисплеем.
Тема 4. Работа с аналоговыми сигналами — Подключаем потенциометр, датчик температуры и фоторезистор.
Тема 5. Управление двигателями — Управляем двигателем с помощью ШИМ, и двигаем серводвигателем.
Тема 6. Связь
Спецификация
Продолжительность курса — 16 академических часов. По два часа на каждое занятие.
Получаемые знания:
- основы программирования на языке с++;
- основы построения электрических цепей;
- принципы обработки цифровых и аналоговых сигналов;
- принципы работы ШИМ.
Получаемые умения:
- работа с Arduino Uno через ПК; автономная работа Arduino Uno;
- составление программ для Arduino Uno; загрузка программ в контроллер;
- работа с беспаечной макетной платой;
- подключение электронных компонентов: светодиод, зуммер, резистор, кнопка, потенциометр;
- подключение индикаторов: ЖК дисплей, 7-сегментный индикатор;
- работа с АЦП, подключение потенциометра, датчика температуры, датчика освещенности;
- управление двигателем при помощи ШИМ;
- использование датчика Холла; одометрия.
Здравствуйте. Меня очень заинтересовала тема робототехники. Очень захотел собрать робота на основе Arduino. Как мне можно приобрести комплект для сборки робота arduino в Беларуси Минск и сколько это будет стоить, Заранее Вам благодарен.
Проще всего будет поискать подходящие компоненты в каком-нибудь популярном магазине типа e-bay или aliexpress. Также доступны чертежи наших наборов, по которым вы можете изготовить кузов робота у себя в городе (сейчас много компаний, которые предлагают резку оргстекла/пластика лазером). А в скором времени эти наборы появятся в нашем интернет магазине shop.makeitlab.ru!
Здравствуйте. А чертежи где находятся? Не нашел. Можете дать ссылку?
Какие именно чертежи?
Здравствуйте, а есть ли ссылка на тему 6? Я просто начинаю работать с ардуино и немного не понимаю, но до конца лета я хочу всё выучить и проблема нет ссылки на тему6. Связь.
Темы 6 в таком же виде не будет. Однако, будем делать серию уроков по связи. Если есть конкретный вопрос, то быть может с него и начнем!:)
Спасибо за сайт! Это на мой взгляд лучшее введение в работу с Ардуино.
Из приобретенного опыта роботостроения я сделал вывод, что покупать механику у китайцев — долго и дорого. Проще использовать уже имеющиеся в продаже игрушечные автомобили и т.п. (с чего обычно начинают). Нужно иметь ввиду, что понадобится помудрить с шестеренками, кои купить не просто, но выручают китайцы (dx.com, к примеру). Можно и на базе металлического детского конструктора собрать простую платформу. Но вот электронная начинка — это уже к китайцам. У них в 2-3 раза дешевле, за это стОит потерпеть и поволноваться около месяца. Если не в терпеж, то есть наши перепродавцы Амперка, Робоворкс и т.п. У Робоворксов есть неплохие аналоги типа CraftDuino. Двигатели тоже лучше брать у китайцев, поскольку обычные, что без редукторов, слабы и много потребляют. Первый робот-машина была сделана на базе инерционного полицейского джипа. В результате доработок, помимо движения по комнате и объезда препятствий, эта игрушка была с мигалкой на крыше и издавала грозные звуки, когда встречала препятствие на пути 🙂 Ну а дальше — больше. Танки, гонки, лабиринты.Самое захватывающее для детей — это квадрокоптеры, но тут уже более старший и продвинутый уровень, поскольку требуется более сложная математика поведения модели. В общем, есть из чего делать, было бы желание 🙂
Ребята, спасибо за курс — очень грамотно и интересно!
Спасибо за ОТЛИЧНЫЕ уроки, описание и толкование. Не останавливайтесь, сделайте ещё уроки пожалуйста для средне понимающих и продвинутых в программировании! 🙂
А то везде в инете только всё самое базовое….
Зачем в задании 2,3,1, пример 1. объявленной переменной k присваивается значение «0», ведь в функции опять идёт присвоение?
int buzz=2;
int k=0;
………
for(k=0; k<3; k=k+1)
……..
Это обяхательно делать или нет?
И второй вопрос.
Зачем в примере с кнопкой, при объявлении используется "const".
const int btn=3;
const int buzz=4;
byte val=0
Почему этого нет в предидущих примерах?
Ведь принцип работы кнопки и её привязка работают аналогично.
1) Если k используется только в for, то присваивать значение по-умолчанию не обязательно. Более того, переменную-итератор можно объявить прямо в for:
for( int k=0; k<3; k++ )
2) const служит для объявления переменных в режиме чтения. То есть их нельзя менять во время выполнения программы. Это делать не обязательно, но принято.
Спасибо.
А есть ли курс только по языку, используемому в Ардуино?
Типа справочника.
Я понимаю, что ноги растут из С++, но для Ардуины используется не полноценный С++, а какая-то кастрированная версия.
Самая полная информация тут: https://www.arduino.cc/en/Reference/HomePage
На сайте разработчиков все на английском.
Сделайте справку по ардуино (язык Wiring а по сути С++ фреймверку) как-то как здесь:
https://doc.arduino.ua/ru/prog/
Сайт очень хороший для начинающих, но этого раздела не хватает
Добрый день Олег,
Купил продвинутый набор, в нем нету макетного стенда с первого урока. Т.е. ни болтов, ни гаек,ни плексигласовых поверхностей. Однако в уроке он есть. Это так и задумано? )
В наборе есть только то, что указано в магазине в описании. Мы перестали делать подобные стенды, так как они оказались не очень удобными:) А в уроках пока осталось как атавизм.
Вообще курс живой и постоянно меняется и развивается, вместе с ним изменяются и наборы. Возможно придумаем какой-то более правильный стенд.
Sharp GP2Y1010AU0F
Пожалуста! у меня не получается , датчик работает только когда компьютере USB, идёт замер плотности пыли, и пылесос на Arduino не работает измерения плотности пыли в программе, установленной, и эта проблема В чем причина?
http://arduinodev.woofex.net/2012/12/01/standalone-sharp-dust-sensor/
Здравствуйте!
Скажите, планируется ли продвинутый курс для новичков. Было бы интересно, например, узнать подробно о построении многоуровневого меню на дисплее NOKIA 5110 (или на любом другом), управление моторами (или другой полезной нагрузкой) из меню, задание режимов и т.д.?
Спасибо.
С уважением, Роман.
Роман, думаю специальный курс не имеет смысл делать, но вот отдельную статью про меню обязательно напишем. Только скорее всего для символьного дисплея 2004 и для OLED. Дисплеи 5110 слишком устарели, китайцы продают б/у матрицы.
После запуска программы, зуммер начинает выдавать по три быстрых звуковых импульса, каждые 2
секунды. Период каждого импульса 0.6 сек.
int buzz = 2;
int k = 0;
void setup() {
pinMode(buzz, OUTPUT); // установка 2го контакта в режим вывода
}
void loop() {
for( k=0; k<3; k=k+1) { // цикл из трех итераций
digitalWrite(buzz, HIGH); // перевод вывода №2 в активное состояние
delay(300); // пауза 1секунда *******
digitalWrite(buzz, LOW); // перевод вывода №2 в неактивное состояние
delay(300); // пауза 1секунда *******
}
delay(2000);
}
***********************в данном месте пауза 1 сек при delay(300), когда в другом скече указанном выше, delay(1000); // пауза 1секунда. как это так выходит при delay(300) и delay(1000) длительность в секундах закоментированна одна и таже? и тут же delay(2000) дает паузу 2с, если по описанию
Спасибо за замечание! Сейчас ведем работу над переработкой курса, поправим обязательно.
В качестве аргумента функция delay принимает миллисекунды. Так что delay(300) даёт паузу 300 мс.
Замечательный у вас сайт. Очень много полезной информации. Хорошо что я его нашел.