Установка и настройка Arduino в ОС Windows. Установка Arduino IDE. Как подключить и установить 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 не набором, а отдельными модулями.

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

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

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

Вы стали счастливым обладателем платы Arduino. Что же делать дальше? А дальше нужно подружить Arduino с компьютером. Мы рассмотрим начало работы с Arduino Uno в операционной системе Windows.

1. Установка Arduino IDE

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

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

2. Запуск Arduino IDE

После того как вы загрузили и установили Arduino IDE, давайте запустим её!

Перед нами окно Arduino IDE. Обратите внимание - мы ещё не подключали нашу плату Arduino Uno к компьютеру, а в правом нижнем углу уже красуется надпись «Arduino Uno on COM1». Таким образом Arduino IDE сообщает нам, что в данный момент она настроена на работу с целевой платой Arduino Uno. А когда придёт время, Arduino IDE будет искать Arduino Uno на порту COM1.

Позже мы поменяем эти настройки.

Что-то пошло не так?

    Arduino IDE не запускается? Вероятно на компьютере некорректно установлена JRE (Java Runtime Environment). Обратитесь к пункту (1) для переустановки Arduino IDE: инсталлятор сделает всю работу по развёртыванию JRE.

3. Подключение Arduino к компьютеру

После установки Arduino IDE пришло время подключить Arduino Uno к компьютеру.

Соедините Arduino Uno с компьютером через USB-кабель. Вы увидите, как на плате загорится светодиод «ON», и начнёт мигать светодиод «L». Это означает, что на плату подано питание, и микроконтроллер Arduino Uno начал выполнять прошитую на заводе программу «Blink» (мигание светодиодом).

Чтобы настроить Arduino IDE на работу с Arduino Uno, нам необходимо узнать, какой номер COM-порта присвоил компьютер Arduino Uno. Для этого нужно зайти в «Диспетчер устройств» Windows и раскрыть вкладку «Порты (COM и LPT)». Мы должны увидеть следующую картину:


Это означает, что операционная система распознала нашу плату Arduino Uno как COM-порт, подобрала для неё правильный драйвер и назначила этому COM-порту номер 7. Если мы подключим к компьютеру другую плату Arduino, то операционная система назначит ей другой номер. Поэтому, если у вас несколько плат Arduino, очень важно не запутаться в номерах COM-портов.

Что-то пошло не так?

4. Настройка Arduino IDE на работу с Arduino Uno

Теперь нам необходимо сообщить Arduino IDE, что плата, с которой ей предстоит общаться, находится на COM-порту «COM7».

Для этого переходим в меню «Сервис» → «Последовательный порт» и выбираем порт «COM7». Теперь Arduino IDE знает - что-то находится на порту «COM7». И с этим «чем-то» ей вскоре предстоит общаться.


Чтобы у Arduino IDE не осталось никаких сомнений, необходимо прямо указать: «Мы будем использовать Arduino Uno!». Для этого переходим в меню «Сервис» → «Плата» и выбираем нашу «Arduino Uno».


Что-то пошло не так?

    Список последовательных портов пуст? Значит Arduino Uno некорректно подключена. Вернитесь к пункту (3), чтобы отладить соединение.

    Arduino IDE невероятно тормозит при навигации по меню? Отключите в диспетчере устройств все внешние устройства типа «Bluetooth Serial». Например, виртуальное устройство для соединения с мобильным телефоном по Bluetooth может вызвать такое поведение.

Среда настроена, плата подключена. Теперь можно переходить к загрузке скетча.

Arduino IDE содержит очень много готовых примеров, в которых можно быстро подсмотреть решение какой-либо задачи. Есть в ней и простой пример «Blink». Давайте выберем его.


Немного модифицируем код, чтобы увидеть разницу с заводским миганием светодиода.

Вместо строчки:

Delay(1000 ) ;

Delay(100 ) ;

Полная версия кода:

/* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13 ; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT) ; } // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH) ; // turn the LED on (HIGH is the voltage level) delay(100 ) ; // wait for a second digitalWrite(led, LOW) ; // turn the LED off by making the voltage LOW delay(100 ) ; // wait for a second }


Теперь светодиод «L» должен загораться и гаснуть на десятую часть секунды. То есть в 10 раз быстрее, чем в заводской версии.

Загрузим наш скетч в Arduino Uno и проверим, так ли это? После загрузки светодиод начнёт мигать быстрее. Это значит, что всё получилось. Теперь можно смело переходить к «Экспериментам »

Что-то пошло не так?

    В результате загрузки появляется ошибка вида avrdude: stk500_get sync(): not in sync: resp = 0x00 ? Это значит, что Arduino настроена некорректно. Вернитесь к предыдущим пунктам, чтобы убедиться в том, что устройство было распознано операционной системой и в Arduino IDE установлены правильные настройки для COM-порта и модели платы.

Рассмотрим на этом занятии устройство и принцип работы сервоприводов. Разберем два простых скетча для управления сервоприводом с помощью потенциометра на Ардуино. Также мы узнаем новые команды в языке программирования C++ — servo.write , servo.read , servo.attach и научимся подключать в скетчах библиотеку для управления сервоприводами и другими устройствами через Ардуино.

Что такое сервопривод

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

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

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



Управление сервоприводом с помощью широтно импульсной модуляции

Как подключить сервопривод к Ардуино

Схема подключения сервопривода к Arduino обычно следующая: черный провод присоединяем к GND, красный провод присоединяем к 5V, оранжевый/желтый провод к аналоговому выводу с ШИМ (Широтно Импульсная Модуляция). Управление сервоприводом на Ардуино достаточно просто, но по углам поворота сервомоторы бывают на 180° и 360°, что следует учитывать в робототехнике.

Для занятия нам понадобятся следующие детали:

  • Плата Arduino Uno;
  • Макетная плата;
  • USB-кабель;
  • 1 сервопривод;
  • 1 потенциометр;
  • Провода «папка-папка» и «папка-мамка».


В первом скетче мы рассмотрим как управлять сервоприводом на Arduino с помощью команды myservo.write(0) . Также мы будем использовать стандартную библиотеку Servo.h . Подключите сервомашинку к плате Ардуино, согласно схеме на фото выше и загрузите готовый скетч. В процедуре void loop() мы будем просто задавать для сервопривода необходимый угол поворота и время ожидания до следующего поворота.

#include Servo servo1; // объявляем переменную servo типа "servo1" void setup () // процедура setup { servo1.attach (11); // привязываем сервопривод к аналоговому выходу 11 } void loop () // процедура loop { servo1.write (0); // ставим угол поворота под 0 delay (2000); // ждем 2 секунды servo1.write (90); // ставим угол поворота под 90 delay (2000); // ждем 2 секунды servo1.write (180); // ставим угол поворота под 180 delay (2000); // ждем 2 секунды }

Пояснения к коду:

  1. Стандартная библиотека Servo.h содержит набор дополнительных команд, которая позволяет значительно упростить скетч;
  2. Переменная Servo необходима, чтобы не запутаться при подключении нескольких сервоприводов к Ардуино. Мы назначаем каждому приводу свое имя;
  3. Команда servo1.attach(10) привязывает привод к аналоговому выходу 10.

На что обратить внимание:

  1. В процедуре void loop() мы вращаем привод на 0-90-180 градусов и возвращаем в начальное положение, поскольку процедура loop повторяется циклично;

  1. Установите в скетче свое управление сервопривода на Ардуино.

Управление сервоприводом потенциометром



Подключение сервопривода и потенциометра к Ардуино Уно

Ардуино позволяет не только управлять, но и считывать показания с сервопривода. Команда myservo.read(0) считывает текущий угол поворота вала сервопривода и его мы можем увидеть на мониторе порта. Предоставим более сложный пример управления сервоприводом потенциометром на Ардуино. Соберите схему с потенциометром и загрузите скетч управления сервоприводом.

#include // подключаем библиотеку для работы с сервоприводом Servo servo; // объявляем переменную servo типа "servo" void setup () // процедура setup { servo.attach (10); // привязываем сервопривод к аналоговому выходу 10 pinMode (A0, INPUT); // к аналоговому входу A0 подключим потенциометр Serial .begin (9600); // подключаем монитор порта } void loop () // процедура loop { servo.write (analogRead (A0)/4); // передает значения для вала сервопривода Serial .println (analogRead (A0)); // выводим показания потенциометра на монитор Serial .println (analogRead (A0)/4); // выводим сигнал, подаваемый на сервопривод Serial .println (); // выводим пустую строчку на монитор порта delay (1000); // задержка в одну секунду }

Пояснения к коду:

  1. В этот раз мы присвоили имя для сервопривода в скетче, как servo ;
  2. Команда servo.write(analogRead(A0)/4) передает значения для вала сервопривода — получаемое напряжение с потенциометра мы делим на четыре и оправляем данное значение на сервопривод.
  3. Команда Serial.println (servo.read(10)) считывает значение угла поворота вала сервопривода и передает его на монитор порта.

На что обратить внимание:

  1. На мониторе порта мы можем увидеть угол поворота вала сервопривода.
  2. Стандартные библиотеки находятся в папке «C:\Program Files\Arduino\libraries».

Задание для самостоятельного выполнения:

  1. Выведите значение напряжения на потенциометре на монитор порта.

Введение:

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

Arduino — это великолепная платформа с микроконтроллером, которую можно использовать для создания электронных проектов позволяющая за несколько минут создать прототип какого-либо электронного устройства, иногда вы можете даже обойтись без паяльника. Если подробнее, то это Open Source платформа, основанная на микроконтроллерах AtMega от Atmel, эти микроконтроллеры вы можете программировать самостоятельно через так называемый ISP программатор. Код для этих контроллеров в основном пишется на C++, но для обычного человека это может быть несколько сложно. Для того чтобы упростить написание кода, сборку и легкую повторяемость устройств, был придуман Arduino. Arduino — это не только плата отладки, это еще и одноименная среда разработки и одноименный язык программирования (который значительно проще чем обычный C++), результатом написания программного кода является скомпилированный файл, который принято называть скетч. Как раз он и записывается в наш Arduino.

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

  • Компоненты из которых состоит Arduino

Что нам понадобиться:

  • Плата Arduino Uno — собственно о ней и пойдет речь в наших уроках.
  • USB кабель типа A-B — он нужен для того чтобы программировать и питать нашу Arduino от USB. Если вы хотите использовать Arduino в дальнейшем отдельно от компьютера, тогда вам понадобиться блок питания.

  • Breadboard — или просто макетная плата она то и поможет избавить вас от пайки элементов. Лично я предпочитаю паять, как-то оно понадежней. Так что выбор за вами, если с паяльником работать аккуратно не умеете, то первое время можно обойтись этой платой.

Компоненты из которых состоит Arduino UNO

Самые главные элементы, из которых состоит Arduino:



Как загрузчик Arduino позволяет нам программировать Arduino скетчи по USB

В микроконтроллер Atmega328 на Arduino уже на заводе записан специальный загрузочный код, который позволяет нам без каких-либо проблем загружать скетчи прямо по USB. Если бы не было Arduino, то нам приходилось бы записывать скомпилированный C++ код через специальный программатор ISP, а уже после этого мы бы смогли попробовать запустить нашу программу. С Arduino все проще, нам просто нужен свободный USB.

Различия между разными платами Arduino

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

Как подключить и установить Arduino для вашей системы

  • Загрузите Arduino IDE с официального сайта , затем распакуйте или установите его.
  • Подключите Arduino по USB к вашему компьютеру. Если ваша плата Arduino UNO последней модификации и вы используете Windows, тогда ваш Windows сообщит что драйвер не установлен. Вам нужно будет просто найти неустановленный Arduino UNO в диспетчере задач Windows, правый клик мышкой -> обновить драйвер, и указать папку, куда был распакован Arduino, ваш Windows подхватит оттуда драйвер и можно начинать работать с Arduino!

Как загрузить и запустить вашу первую программу (скетч)

  • Запустите arduino.exe из папки, куда был распакован или установлен Arduino.
  • Выберите в меню, вашу плату Arduino сервис ->плата


  • Выберите в меню, сервис ->программатор пункт AVR ISP

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


Текст программы с подробными комментариями (также вы можете скачать его по ссылке в конце статьи):

/*
Урок 1. Что такое Arduino и мигаем светодиодом Arduino
Мигаем светодиодом.
Зажигаем на 2 секунды, затем гасим на 2 секунды и все по новой..
Этот демонстрационный код был скачан с сайта www.сайт
*/

// Почти на всех Arduino вывод 13 подключен к светодиоду, припаянному прямо на плате.
// Для удобства задаем имя «led» для 13 вывода:
int led = 13;

// Блок «Setup» запускается только 1 раз при запуске Arduino, он нужен для инициализации.
void setup() {
// Конфигурируем 13 вывод Arduino на выход.
pinMode(led, OUTPUT);
}

// Блок «loop» это цикл, т.е. код который работает раз за разом бесконечно:
void loop() {
digitalWrite(led, HIGH); // Делаем логическую 1 (устанавливаем высокий уровень напряжения) на выводе 13, зажгется светодиод на плате Arduino
delay(2000); // Ожидаем 2 секунды
digitalWrite(led, LOW); // Выключаем светодиод (устанавливается низкий уровень напряжения) на выводе 13, светодиод гаснет
delay(2000); // Ждем 2 секунды, после чего цикл запуститься снова
}

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

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