Arduino для начинающих - стартовый набор или как начать ардуинить? Много фото и видео! Arduino PRO. С чего лучше начать новичку

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

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

Что такое Arduino и для чего оно нужно?

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

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

Стартовый набор Arduino

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

Базовый набор ардуино для начинающих: Купить
Большой набор для обучения и первых проектов: Купить
Набор дополнительных датчиков и модулей: Купить
Ардуино Уно самая базовая и удобная модель из линейки: Купить
Беспаечная макетная плата для удобного обучения и прототипирования: Купить
Набор проводов с удобными коннекторами: Купить
Комплект светодиодов: Купить
Комплект резисторов: Купить
Кнопки: Купить
Потенциометры: Купить

Среда разработки Arduino IDE

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

Версия Windows Mac OS X Linux
1.8.2

Язык программирования Ардуино

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

Для программирования Arduino используется упрощенная версия языка C++ с предопределенными функциями. Как и в других Cи-подобных языках программирования есть ряд правил написания кода. Вот самые базовые из них:

  • После каждой инструкции необходимо ставить знак точки с запятой (;)
  • Перед объявлением функции необходимо указать тип данных, возвращаемый функцией или void если функция не возвращает значение.
  • Так же необходимо указывать тип данных перед объявлением переменной.
  • Комментарии обозначаются: // Строчный и /* блочный */

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

Все прошивки для Arduino должны содержать минимум 2 функции. Это setup() и loop().

Функция setup

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

// переменные с пинами подключенных устройств int switchPin = 8; int ledPin = 11; // переменные для хранения состояния кнопки и светодиода boolean lastButton = LOW; boolean currentButton = LOW; boolean ledOn = false; void setup() { pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); } // функция для подавления дребезга boolean debounse(boolean last) { boolean current = digitalRead(switchPin); if(last != current) { delay(5); current = digitalRead(switchPin); } return current; } void loop() { currentButton = debounse(lastButton); if(lastButton == LOW && currentButton == HIGH) { ledOn = !ledOn; } lastButton = currentButton; digitalWrite(ledPin, ledOn); }

// переменные с пинами подключенных устройств

int switchPin = 8 ;

int ledPin = 11 ;

// переменные для хранения состояния кнопки и светодиода

boolean lastButton = LOW ;

boolean currentButton = LOW ;

boolean ledOn = false ;

void setup () {

pinMode (switchPin , INPUT ) ;

pinMode (ledPin , OUTPUT ) ;

// функция для подавления дребезга

boolean debounse (boolean last ) {

boolean current = digitalRead (switchPin ) ;

if (last != current ) {

delay (5 ) ;

current = digitalRead (switchPin ) ;

return current ;

void loop () {

currentButton = debounse (lastButton ) ;

if (lastButton == LOW && currentButton == HIGH ) {

ledOn = ! ledOn ;

lastButton = currentButton ;

digitalWrite (ledPin , ledOn ) ;

В этом скетче я создал дополнительную функцию debounse для подавления дребезга контактов. О дребезге контактов есть на моем сайте. Обязательно ознакомьтесь с этим материалом.

ШИМ Arduino

Широтно-импульсная модуляция (ШИМ) — это процесс управления напряжением за счет скважности сигнала. То есть используя ШИМ мы можем плавно управлять нагрузкой. Например можно плавно изменять яркость светодиода, но это изменение яркости получается не за счет уменьшения напряжения, а за счет увеличения интервалов низкого сигнала. Принцип действия ШИМ показан на этой схеме:

Когда мы подаем ШИМ на светодиод, то он начинает быстро зажигаться и гаснуть. Человеческий глаз не способен увидеть это, так как частота слишком высока. Но при съемке на видео вы скорее всего увидите моменты когда светодиод не горит. Это случится при условии что частота кадров камеры не будет кратна частоте ШИМ.

В Arduino есть встроенный широтно-импульсный модулятор. Использовать ШИМ можно только на тех пинах, которые поддерживаются микроконтроллером. Например Arduino Uno и Nano имеют по 6 ШИМ выводов: это пины D3, D5, D6, D9, D10 и D11. В других платах пины могут отличаться. Вы можете найти описание интересующей вас платы в

Для использования ШИМ в Arduino есть функция Она принимает в качестве аргументов номер пина и значение ШИМ от 0 до 255. 0 — это 0% заполнения высоким сигналом, а 255 это 100%. Давайте для примера напишем простой скетч. Сделаем так, что бы светодиод плавно загорался, ждал одну секунду и так же плавно угасал и так до бесконечности. Вот пример использования этой функции:

// Светодиод подключен к 11 пину int ledPin = 11; void setup() { pinMode(ledPin, OUTPUT); } void loop() { for (int i = 0; i < 255; i++) { analogWrite(ledPin, i); delay(5); } delay(1000); for (int i = 255; i > 0; i--) { analogWrite(ledPin, i); delay(5); } }

// Светодиод подключен к 11 пину

int ledPin = 11 ;

void setup () {

pinMode (ledPin , OUTPUT ) ;

void loop () {

for (int i = 0 ; i < 255 ; i ++ ) {

analogWrite (ledPin , i ) ;

delay (5 ) ;

delay (1000 ) ;

for (int i = 255 ; i > 0 ; i -- ) {

Arduino - это универсальная платформа для самоделок на микроконтроллерах. К ней есть множество шилдов (плат расширения) и датчиков. Это многообразие позволяет сделать целый ряд интересных проектов, направленных на улучшение вашей жизни и повышение её комфорта. Сферы применения платы безграничны: автоматизация, системы безопасности, системы для сбора и анализа данных и прочее.

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

Что можно сделать с помощью Arduino

Робот пылесос

Уборка в квартире - рутинное занятие и малопривлекательное, тем более на это нужно время. Сэкономить его можно, если часть хлопот по дому возложить на робота. Этого робота собрал электронщик из г. Сочи - Дмитрий Иванов. Конструктивно он получился достаточно качественным и не уступает в эффективности .

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

1. Arduino Pro-mini, или любая другая подобная и подходящая по размерам...

2. USB-TTL переходник, если вы используете Pro mini. Если вы выбрали Arduino Nano, то он не нужен. Он уже установлен на плате.

3. Драйвер L298N нужен для управления и реверсирования двигателей постоянного тока.

4. Маленькие двигателя с редуктором и колесами.

5. 6 ИК-датчиков.

6. Двигатель для турбины (побольше).

7. Сама турбина, а вернее крыльчатка от пылесоса.

8. Двигателя для щеток (небольшие).

9. 2 датчика столкновения.

10. 4 аккумулятора 18650.

11. 2 преобразователя постоянного напряжения (повышающий и понижающий).

13. Контроллер для работы (заряда и разряда) аккумуляторов.

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

А вот система питания:

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

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

Вы можете сделать своими руками RGB-контроллер на Ардуино, даже более того, в этом проекте реализовано управление через Bluetooth.

На фото приведен пример использования одного RGB-светодиода. Для управления лентой потребуется дополнительный блок питания на 12В, тогда будут управлять затворами полевых транзисторов включенных в цепь. Ток заряда затвора ограничен резисторами на 10 кОм, они устанавливаются между пином Ардуино и затвором, последовательно ему.

Пульт управления на базе Arduino и смартфона

С помощью микроконтроллера можно сделать универсальный пульт дистанционного управления управляемый с мобильного телефона.

Для этого понадобится:

    Arduino любой модели;

    ИК-приемник TSOP1138;

    ИК-светодиод;

    Bluetooth-модуль HC-06.

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

Веб-камера устанавливается на поворотный механизм. Её подключают к компьютеру, с установленным программным обеспечением. Оно базируется на библиотеке компьютерного зрения - OpenCV (Open Source Computer Vision Library), после обнаружения программой лица, координаты его перемещения передаются через USB-кабель.

Ардуино даёт команду приводу поворотного механизма и позиционирует объектив камеры. Для движения камеры используется пара сервоприводов.

На видео изображена работа этого устройства.

Следите за своими животными!

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

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

Ниже приведена схема оригинального варианта устройства.

В оригинальной версии проекта использовалась плата TinyDuino и шилды к ней. Если вы не можете найти такую, вполне можно использовать маленькие экземпляры Arduino: mini, micro, nano.

Для питания использовался элемент Li-ion, малой ёмкости. Маленького аккумулятора хватает примерно на 6 часов работы. У автора в итоге все поместилось в обрезанную баночку из-под тик-така. Стоит отметить, что антенна GPS должна смотреть вверх, чтобы получать достоверные показания датчика.

Взломщик кодовых замков

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

Конечно, для практического применения такое устройство вряд ли подойдет, но это отличный демонстрационный.

Ардуино в музыке

Это скорее не проект, а небольшая демонстрация какое применение нашла эта платформа у музыкантов.

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

Номиналы деталей:

    Транзистор NPN-типа, например 2n3904 - 1 шт.

    Резистор 1 кОм (R2, R4, R5) - 3 шт.

    330 Ом (R6) - 1 шт.

    10 кОм (R1) - 1 шт.

    100 кОм (R3) - 1 шт.

    Электролитический конденсатор 3.3 мкФ - 1 шт.

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

Это достаточно простой и интересный проект из разряда «можно похвастаться перед друзьями».

3 проекта роботов

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

BEAM-робот на Ардуино

Для сборки четырёхногого шагающего робота вам понадобятся:

    Для движения ног нужны сервомоторчики, например, Tower Hobbies TS-53;

    Кусок медной проволоки средней толщины (чтобы выдерживала вес конструкции и не гнулась, но и не слишком толстой, т.к. не имеет смысла);

    Микроконтроллер - AVR ATMega 8 или плата Ардуино любой модели;

    Для шасси в проекте указано, что использовалась Рамка Sintra. Это что-то вроде пластика, он сгибается в любую форму при нагревании.

В результате вы получите:

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

Этот проект мне, почему-то, напомнил робота из мультфильма Wall-e. Его особенностью является использование для зарядки аккумуляторов. Он перемещается подобно автомобилю, на 4-х колесах.

Его составляющие детали:

    Пластиковая бутылка подходящего размера;

  • Перемычки мама-папа;

    Солнечная панель с выходным напряжением в 6В;

    В качестве донора колес, двигателей и других деталей - машинка на радиоуправлении;

    Два сервопривода непрерывного вращения;

    Два обычных сервопривода (180 градусов);

    Держатель для батареек типа АА и для «кроны»;

    Датчик столкновений;

    Светодиоды, фоторезисторы, постоянные резисторы на 10 кОм - всего по 4 штуки;

    Диод 1n4001.

Вот основа - плата Ардуино с прото-шилдом.

Вот так выглядят запчасти от - колеса.

Конструкция почти в сборе, датчики установлены.

Суть работы робота заключается в том, что он едет на свет. Обилие нужно ему для навигации.

Это скорее ЧПУ станок, чем робот, но проект весьма занимательный. Он представляет собой 2-х осевой станок для рисования. Вот перечень основных компонентов, из которых он состоит:

    (DVD)CD-приводы - 2 шт;

    2 драйвера для шаговых двигателей A498;

    сервопривод MG90S;

    Ардуино Уно;

    Источник питания 12В;

    Шариковая ручка, и другие элементы конструкции.

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

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

Полный процесс сборки и работы показан на этом видео.

Заключение

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

» представляет учебный курс «Arduino для начинающих». Серия представлена 10 уроками, а также дополнительным материалом. Уроки включают текстовые инструкции, фотографии и обучающие видео. В каждом уроке вы найдете список необходимых компонентов, листинг программы и схему подключения. Изучив эти 10 базовых уроков, вы сможете приступить к более интересным моделям и сборке роботов на основе Arduino. Курс ориентирован на новичков, чтобы к нему приступить, не нужны никакие дополнительные сведения из электротехники или робототехники.

Краткие сведения об Arduino

Что такое Arduino?

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

Как связаны Arduino и роботы?

Ответ очень прост — Arduino часто используется как мозг робота.

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

Урок 1. Мигающий светодиод на Arduino

На первом уроке вы научитесь подключать светодиод к Arduino и управлять его мигать. Это самая простая и базовая модель.

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

Урок 2. Подключение кнопки на Arduino

На этом уроке вы научитесь подключать кнопку и светодиод к Arduino.

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

Урок 3. Подключение потенциометра на Arduino

В этом уроке вы научитесь подключать потенциометр к Arduino.

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

Урок 4. Управление сервоприводом на Arduino

На этом уроке вы научитесь подключать сервопривод к Arduino.

Сервопривод – это мотор, положением вала которого можно управлять, задавая угол поворота.

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

Урок 5. Трехцветный светодиод на Arduino

На этом уроке вы научитесь подключать трехцветный светодиод к Arduino.

Трехцветный светодиод (rgb led) — это три светодиода разных цветов в одном корпусе. Они бывают как с небольшой печатной платой, на которой расположены резисторы, так и без встроенных резисторов. В уроке рассмотрены оба варианта.

Урок 6. Пьезоэлемент на Arduino

На этом уроке вы научитесь подключать пьезоэлемент к Arduino.

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

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

Урок 7. Фоторезистор на Arduino

На этом уроке нашего курса вы научитесь подключать фоторезистор к Arduino.

Фоторезистор — резистор, сопротивление которого зависит от яркости света, падающего на него.

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

Урок 8. Датчик движения (PIR) на Arduino. Автоматическая отправка E-mail

На этом уроке нашего курса вы научитесь подключать датчик движения (PIR) к Arduino, а также организовывать автоматическую отправку e-mail.

Датчик движения (PIR) — инфракрасный датчик для обнаружения движения или присутствия людей или животных.

В нашей модели при получении с PIR-датчика сигнала о движении человека Arduino посылает компьютеру команду отправить E-mail и отправка письма происходит автоматически.

Урок 9. Подключение датчика температуры и влажности DHT11 или DHT22

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

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

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

Урок 10. Подключение матричной клавиатуры

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

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

Урок 11. Подключение модуля часов реального времени DS3231

На последнем уроке нашего курса вы научитесь подключать модуль часов реального времени из семейства
DS к плате Arduino, а также познакомитесь с различными интересными схемами.

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

Приложение. Готовые каркасы и роботы Arduino


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

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

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

Приложение. Мобильный справочник


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

Приложение состоит из 3-х основных разделов:

  • Операторы;
  • Данные;
  • Функции.

Где купить Arduino


Наборы Arduino

Курс будет пополняться дополнительными уроками. Подпишитесь на нас

Наверное, многие слышали о такой замечательной платформе, но из-за плохого знания электроники или программирования многие решат обойти arduino стороной. Да платформа достаточно сложная, но разобраться можно, главное желание. Я сам долго не решался изучить данную платформу, но в один прекрасный день, понял, что она бы могла облегчить мне жизнь…
В интернете очень много информации об arduino, но без практики никакая теория не поможет, по этому я решил купить данный набор, но забегу вперед, что все таки дешевле все компоненты купить самостоятельно, не набором, а архивы с инструкциями и программами (скетчами) я выложил ниже.
Почему я взял данный набор, ведь выбора в Китае много? Раньше ардуино было для меня как что-то заоблачное и не понятное и выбирал только из-за количества уроков, по этому и выбрал данный набор, кстати подобный уже обозревал .

Покупал я напрямую с тао:

Набор пришел в пластиковом кейсе, заклеенном скотчем, видимо что бы ничего не вытащили из коробки (скотч я уже порвал):


Что же там в коробке?

Комплектация:



- 1х плата arduino uno, возможно даже оригинал
- 1х LCD дисплей 16 символами на 2 строки с i2c платой


- 15х светодиодов: 5 шт. красного цвета, 5 шт. синего цвета и 5 шт. оранжевого цвета


- 3х фоторезистора
- 1х ИК приемник
- 1х датчик пламени
- 2х датчика вибрации
- 1х термодатчик
- 4х кнопки
- 2х пьезоэлемента


- цифровой светодиодный дисплей на 1 цифру
- цифровой светодиодный дисплей на 4 цифры
- светодиодная матрица 8х8


- 8х постоянный резистор на 220 Ом
- 5х постоянный резистор на 1 кОм
- 5х постоянный резистор на 10 кОм


- 1х резистор переменного сопротивления(потенциометр) на 50 кОм


- 1х большая макетная площадка


- 1x DuPont кабель мама-папа 30 разноцветных проводов


- 30х соединительных проводов для макетной площадки папа-папа


- 1х USB кабель


- 1х RFID плата
- 1х RFID карта
- 1х RFID на ключи


- 1x ИК пульт
- 1x микрофонный модуль
- 1x модель кнопочной площадка 4х4
- 1x реле
- 1x модуль часов
- 1x модуль драйвера для мотора
- 1x модуль датчика температуры и влажности
- 1x модуль джойстика
- 1x модуль RGB светодиода
- 1x модуль датчика влажности
- 1x кабель питания для кроны


- 1x сервопривод
- 1x мотор с редуктором


- 1x сдвиговый регистр 74НС595N
Вот так выглядит все в сборе:



Когда я получил набор, то сразу принялся искать инструкции, но внутри коробки ничего не обнаружил, подумал, что китаец обманул и уже хотел с ним ругаться, но почитал описание лота и там была ссылка со всеми инструкциями и программами: (пароль:22cd)
Но китайскими программами лучше не пользоваться, по тому программу для программирования arduino лучше скачать с официального сайта:
А вот собраны мной инструкции, программы, скетчи найденные в интернете и мои скетчи, которые пригодились в освоении arduino.

Начало

Рекомендую для начала прочитать pdf книгу на русском языке: Руководство по освоению Arduino - 2012, которая лежит на моей . Там много полезного написано и понятным языком, только мало уроков.
В архиве Modkit_Desktop_WIN32_Kickstarter_v2.zip находится программа для визуального программирования.
В архиве Arduino - китайщина.rar находится китайская инструкция, китайские скетчи, библиотеки, но там много ошибок.
В архиве Arduino - программа.rar находится программа arduino с библиотеками, которые мне пригодились в освоении ардуино.
В архиве arduino-master - много уроков.zip имеется достаточно много уроков, схем, библиотек с хорошим описанием на англ. Причем большую часть из этого архива «стянуто» китайцами.
В архиве Мои скетчи.rar находятся мои проекты, хоть их и 34, но не все китайские уроки я выполнял, некоторые подправлял и самый последний проект я сделал самостоятельно. Номера моих скетчей не совпадают с номерами обозреваемых уроков, но все мои скетчи подписаны в транслите и думаю всем будет понятно.
Начинаем!
Урок №1 - мигание светодиода
Для этого урока нам понадобятся вот такие детали:


- 2 провода (далее количество проводов я указывать не буду),
- светодиод,
- резистор на 220Ом,
- макетная площадка и плата arduino uno
Подключаем:


И получаем:
Урок №2 - подключение 8 светодиодов - бегущие огни
Для этого урока нужно:
- 8 светодиодов,
- 8 резисторов на 220 Ом,

Я немного не правильно подключил, поставил 1 резистор на массу и подвел ко всем светодиодам:




Результат:
Урок №3 - изменение яркости светодиода с помощью переменного резистора
Нам нужно:
- светодиод,
- переменный резистор,
- резистор на 220Ом,
- провода, макетная площадка и arduino


Решил в этот раз не подключать резистор к светодиоду, но если подключать «на постоянку», то сопротивление на светодиод нужно поставить, иначе светодиод сгорит быстро.




Результат:
Урок №4 - бегущие огни из 6 светодиодов
Необходимо:
- 6 светодиодов,
- резистор на 220Ом
- провода, макетная площадка и arduino


Получилось так:




Результат:
Урок №5 - подключение RGB светодиода
Понадобится:
- модуль RGB
- провода, макетная площадка и arduino


Получилось так:




Результат:
Урок №6 - подключение пьезоэлемента
Детали:
- пьезоэлемент
- провода, макетная площадка и arduino


Получилось так:


Результат:

С музыкой:

Урок №8 - включение светодиода с кнопки
Детали:
- кнопка
- светодиод
- резисторы на 220 Ом и 10 кОм
- провода, макетная площадка и arduino


Получилось так:


Результат:
Урок №8.1 - вкл/выкл. светодиода с кнопки
Детали:
- светодиод
- 2 кнопки
- резистор на 220 Ом
- 2 резистора на 10кОм
- провода, макетная площадка и arduino


Получилось так




Результат:
Урок №8.2 - изменение яркости светодиода с кнопки
Схема подключения идентична уроку 8.1, только скетч другой и результат:
Урок №9 - сервопривод
Детали:
- сервопривод
- провода, макетная площадка и arduino


Получилось так:


Результат:
Урок №10 - подключение сдвигового регистра 74HC595
Детали:
- 8 светодиодов
- сдвиговый регистр 74HC595
- 8 резисторов на 220 Ом
- провода, макетная площадка и arduino


Получилось так:

Урок №11 - изменение яркости светодиода с помощью фоторезитора
Детали:
- фоторезитор
- светодиод
- резитор на 220 Ом и на 10кОм
- провода, макетная площадка и arduino


Получилось так:


Результат:
Урок №12 - вольтметр
Детали:
- батарейка
- резистор 10 кОм
- провода, макетная площадка и arduino
Получилось так:




Урок №13 - измерение температуры
Детали:
- датчик температуры
- провода, макетная площадка и arduino
Получилось так:


Результат отображается в «мониторе протра»:


Если нагреть датчик зажигалкой, температура изменяется:

Урок №13.1 - изменение температуры - визуальное отображение
Детали:
- датчик температуры
- 3 светодиода
- резистора 220 Ом
- провода, макетная площадка и arduino
Получилось так:


Результат:
Урок №14 - подключение цифрового светодиодного дисплея
Детали:
- 6 резистров 220 Ом
- цифровой светодиодный дисплей
- провода, макетная площадка и arduino
Получилось так:


Результат китайского скетча:

Результат моего переделанного скетча:

Урок №14 - подключение цифрового светодиодного дисплея на 4 цифры
Детали:
- светодиодная панель на 4 цифры
- провода, макетная площадка и arduino
Получилось так:


Результат - секундомер:
Урок №15 - подключение светодиодной матрицы 8х8
Детали:
- светодиодная матрица 8х8
- провода и arduino
Получилось так:




Результат моего скетча:
Урок №16 - подключение датчика влажности
Детали:
- датчик влажности
- светодиод (я подключил RGB модуль к 1 светодиоду)
- провода и arduino
Получилось так:


Результат:
Урок №17 - измерение температуры и влажности
Детали:
- датчик влажности и температуры
- провода и arduino
Получилось так:


Результат отображается в «мониторе протра»:
Урок №18 - подключение модуля реле
Детали:
- модуль реле
- светодиод
- резистор на 220Ом
- провода, макетная площадка и arduino
Получилось так:


Результат:
Урок №19 - подключение LCD дисплея 16х2
Детали:
- дисплей LCD1602
- провода и arduino
Получилось так:


Результат:

Урок №20 - подключение двигателя
Детали:
- модуль драйвера для мотора
- мотор с редуктором
- провода и arduino
Получилось так:


Результат:
Урок №21 - Включение/выключение светодидодов с помощью пульта
Детали:
- ИК пульт
- ИК приемник
- 6 светодиодов
- 6 резисторов 220Ом
- провода, макетная площадка и arduino


Получилось так:


Результат:
Урок №22 - Подключение джойстика
Детали:
- джойстик
- провода и arduino
Результат отображается в «мониторе протра»:
Урок №23 - Подключение клавиатуры 4х4
Детали:
- клавиатура
- провода и arduino
Результат отображается в «мониторе протра»:
Урок №24 - Подключение RFID
Детали:
- модуль RFID
- провода и arduino
Получилось так:


Результат отображается в «мониторе протра» - чтение дампа карты:


Результат отображается в «мониторе протра» - чтение брелка:


Результат отображается в «мониторе протра» - пытался прочитать УЭК, банковсвкую карту с payWave и транспортную карту:

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

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

Домашнее задание - цифровой термометр
Детали:
- датчик температуры
- LCD дисплей
- провода, макетная площадка и arduino
Получлось так:


Осталось самое сложное объединить 2 скетча и еще что бы все это работало, получился вот такой скетч:

Цифровой термометр

#include #include LiquidCrystal_I2C lcd(0x27,16,2); int potPin = 0; // пин куда подключен датчик float dat = 0; // переменная для температуры void setup() { lcd.init(); lcd.backlight(); lcd.begin(16, 2); lcd.print("S"); delay(300); lcd.print("p"); delay(300); lcd.print("e"); delay(300); lcd.print("c"); delay(300); lcd.print("i"); delay(300); lcd.print("a"); delay(300); lcd.print("l"); delay(300); lcd.print("l"); delay(300); // ждем 0.5 секунды lcd.print("y"); delay(300); // ждем 0.5 секунды lcd.print(" f"); delay(300); // ждем 1 секунду lcd.print("o"); delay(300); // ждем 1 секунду lcd.print("r"); delay(700); lcd.setCursor(0, 1); lcd.print("h"); delay(300); lcd.print("t"); delay(300); lcd.print("t"); delay(300); lcd.print("p"); delay(300); lcd.print(":"); delay(300); lcd.print("/"); delay(300); lcd.print("/"); delay(300); lcd.print("m"); delay(300); lcd.print("y"); delay(300); lcd.print("s"); delay(300); lcd.print("k"); delay(300); lcd.print("u"); delay(300); lcd.print("."); delay(300); lcd.print("r"); delay(300); lcd.print("u"); delay(300); lcd.clear(); //очистка экрана delay(1000); lcd.setCursor(0, 0); lcd.print("Specially for"); lcd.setCursor(0, 1); lcd..clear(); //очистка экрана delay(300); lcd.setCursor(0, 0); lcd.print("Specially for"); lcd.setCursor(0, 1); lcd..clear(); //очистка экрана delay(300); lcd.setCursor(0, 0); lcd.print("Specially for"); lcd.setCursor(0, 1); lcd..clear(); } void loop() { lcd.init(); // initialize the lcd lcd.clear(); //очистка экрана // считываем и вычисляем температуру dat = (5.0 * analogRead(potPin) * 100.0) / 1024.0; lcd.backlight(); lcd.setCursor(0, 0); // устанавливаем курсор в 0-ом // столбце, 1 строке (начинается с 0) lcd.print("Temperatura"); lcd.setCursor(0, 1); lcd.print(" "); lcd.print(dat); // выводим текущую температуру lcd.print(""C"); delay(5*500); // задержка перед повторением измерений }


Слегка подсматривал
Результат:

Теперь надо проверить погрешность:


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

Зачем я все это затеял?
Хочу автоматизировать пивоварение, пока все еще в далеком проекте.

+

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

-

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

Вывод:

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

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

Спасибо за внимание!

Планирую купить +307 Добавить в избранное Обзор понравился +199 +551

Первое, с чего следует начать работу по освоению Arduino – это приобрести отладочную плату (хорошо бы сразу приобрести монтажную плату и т.п.). Уже описывал, какие виды плат Arduino представлены на рынке. Кто еще не читал статью советую ознакомиться. Для изучения основ выбираем стандартную плату Arduino Uno (оригинал или хорошую китайскую копию — решать вам). При первом подключении оригинальной платы проблем возникнуть не должно, а вот с «китайцем» нужно будет немного поковыряться (не переживайте – всё покажу и расскажу).

Подключаем Arduino к компьютеру USB кабелем. На плате должен засветиться светодиод «ON «. В диспетчере устройств появится новое устройство «Неизвестное устройство «. Необходимо установить драйвер. Тут внесу небольшую неясность (кот отвлек – я не запомнил, какой из драйверов решил «проблему неизвестного устройства ».

Предварительно скачал и распаковал программную средy Arduino (arduino-1.6.6-windows ). Затем скачал этот . Он самораспаковывающейся. Запустил файл CH341SER.EXE . Выбрал установку (INSTALL) . После установки появилось сообщение, нажал «Ок » (прочитать не успел).

После перешёл в свойства все еще «неизвестного устройства» и выбрал кнопку «Update Driver». Выбрал вариант «Установка из указанного места» – указал папку с разархивированной программной средой Arduino. И о чудо – всё удачно заработало…

Запускаем программу Arduino (в моём случае 1.6.6) и разрешаем доступ.

Все проекты (программы) для Arduino состоят из двух частей: void setup и void loop . void setup выполняется всего один раз, а void loop выполняется снова и снова.

Прежде чем продолжим, необходимо выполнить две обязательные операции:

— указать в программной среде Arduino, какую плату вы используете. Tool->board-> Arduino Uno. Если отметка уже стоит на нужной вам плате – это хорошо, если нет – ставим отметку.

— указать в программной среде какой последовательный порт вы используете для связи с платой. Tool->port-> COM3. Если отметка уже стоит на порте – это хорошо, если нет – ставим отметку. Если у вас в разделе порты представлен больше, чем один порт, как же узнать, какой именно используется для соединения с платой? Берём плату и отсоединяем от неё провод. Снова заходим в порты и смотрим, какой из них исчез. В моём случае вкладка «порты» вообще стала не активной.

Снова подключаем провод USB.

Для первой программы никаких дополнительных модулей не нужно. Будем включать светодиод, который уже смонтирован на плате (на 13 выводе микроконтроллера).

Для начала сконфигурим 13 вывод (на вход или на выход).

Для этого вводим в блок «void setup » команду pinMode , в скобках указываем параметры (13, OUTPUT ) (Какой вывод задействован, Режим работы ). Программная среда выделяет слова/команды соответствующим цветом шрифта.

Переходим в блок «void loop » и вводим команду digitalWrite с параметрами (13, HIGH) .


Первая программа готова, теперь осталось загрузить её в микроконтроллер. Нажимаем кнопку UPLOAD.

Светодиод засветился. Но не стоит так скептически относиться к простоте первой программы. Вы только, что освоили первую управляющую команду. Вместо светодиода ведь можно подключить любую нагрузку (будь-то освещение в комнате или сервопривод, перекрывающий подачу воды), но об этом всём поговорим позже…

Светодиод мы включили, он немного посветил, пора его выключать. Для этого видоизменим написанную нами программу. Вместо «HIGH » напишем «LOW ».


Нажимаем кнопку UPLOAD. Светодиод погас.

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

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

Создаём глобальную переменную int LED_pin = 13; (тип переменной, имя переменной, присваиваемое ей значение ).


Нажимаем кнопку UPLOAD. Светодиод светится. Все работает отлично.

В этом уроке, кроме включения/выключения светодиода, мы еще научимся мигать им.

Для этого вводим вторую команду «digitalWrite » с параметрами (LED_pin, LOW ).


Нажимаем кнопку UPLOAD. И что мы видим? Светодиод светится «в пол наказа». Причина кроется в том, что время переключения двух состояний (HIGH и LOW ) ничтожно мало и человеческий глаз не может уловить эти переключения. Необходимо увеличить время нахождения светодиода в одном из состояний. Для этого пишем команду delay с параметром (1000 ) . Задержка в миллисекундах: 1000 миллисекунд – 1 секунда. Алгоритм программы следующий: включили светодиод – ждём 1 секунду, выключили светодиод – ждём 1 секунду и т.д.


Нажимаем кнопку UPLOAD. Светодиод начал мерцать. Все работает.

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


Нажимаем кнопку UPLOAD. Светодиод мерцает, как и мерцал.

Доработаем написанную нами программу. Задачи следующие:

  • Светодиод включен 0,2 секунды и выключен 0,8 секунды;
  • Светодиод включен 0,7 секунды и выключен 0,3 секунды.

В программе созданы 2 переменные, что отвечают за временные задержки. Одна определяет время работы включенного светодиода, а вторая – время работы выключенного светодиода.

Спасибо за внимание. До скорой встречи!