Урок по Arduino №1 — подключаем, настраиваем, мигаем одноцветными и RGB-светодиодами

На предыдущем уроке мы уже попробовали зажигать и гасить с помощью Ардуино обычный светодиод. Теперь же разберемся с многоцветным светодиодом, который часто называют сокращенно: RGB-светодиод.

RGB — это аббревиатура, которая расшифровывается как: Red — красный, Green — зеленый, Blue — синий. То есть внутри этого устройства размещается сразу три отдельных светодиода. В зависимости от типа, RGB-светодиод может иметь общий катод или общий анод.

Блок: 1/2 | Кол-во символов: 452
Источник: https://robotclass.ru/tutorials/arduino-rgb-led/

Следующий урок: Мигаем светодиодом подключенным к 2 pin Arduino

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

Блок: 2/2 | Кол-во символов: 1850
Источник: https://portal-pk.ru/news/1-urok-1—miganie-vstroennym-na-platu-arduino-svetodiodom.html

Мигаем встроенным светодиодом

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


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

Встроенный светодиод в Ардуино Uno, Nano и Mega

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

Вам понадобится: ничего, кроме платы ардуино. Сложность:  простой проект.

Что мы узнаем:

  • Как мигает светодиод.
  • Что такое скетч и как написать программу.
  • Как включить и зажечь светодиод.
  • Как выключить светодиод.
  • Как сделать задержку в программе.

Вопросы, на которые вы уже должны знать ответы:

  • Как выбрать плату и где ее купить?
  • Как подсоединить плату к компьютеру?
  • Как установить среду программирования IDE Arduino
  • Как работать в среде программирования IDE Arduino
  • Как загружать программу в плату?

Как мигает светодиод

Алгоритм программы очень прост.

  1. Мы должны подать напряжение на светодиод (на тот пин, к которому подсоединен светодиод, в нашем случае, 13).
  2. Затем ждем некоторое время. Например, секунду.
  3. После чего убираем напряжение.
  4. И опять немного ждем, чтобы глаз мог заметить, что света нет.
  5. Начинаем все с первого пункта

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

  1. Включить – команда digitalWrite
  2. Подождать – команда delay
  3. Выключить – команда digitalWrite
  4. Подождать – команда delay

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

Давайте соберем все, что нужно, вместе в одной инструкции.

Пошаговая инструкция

Выполняем действия по шагам – в результате обязательно получим результат.

  1. Берем плату Arduino UNO. Убеждаемся, что на ней есть встроенный светодиод.
  2. Подключаем плату Arduino к компьютеру через USB-кабель. В результате должны загореться лампочки.
  3. Открываем на компьютере программу Arduino IDE (вы уже должны знать, как это делается или прочитайте статьи на нашем сайте по ссылкам выше).
  4. Проверяем, что ардуино подключился: найдите в меню «Инструменты», подменю «Порт». Оно должно быть активным. Нажмите на этот пункт и посмотрите список портов. Один из них должен быть отмечен галочкой. Если этого не произошло, выберите порт с самым большим номером и отметьте его. Если это не помогло – смотрите раздел с описанием типичных проблем чуть ниже.

  5. Открываем меню Файл. В нем находим подменю «Примеры», и в нем подменю Basics. Находим в открывшемся списке меню строчку Blink и нажимаем на нее. Должно открыться отдельное окно Arduino с текстом программы (в самом верху будет серый текст). Открываем пример Blink в Ардуино IDE
  6. Найдите в меню кнопку “загрузить скетч” (со стрелочкой) и нажмите ее. Начнется процесс проверки (компиляции) скетча и загрузки в плату.
  7. После того, как скетч загружен и в статусном окне внизу появится надпись «Загрузка завершена», можно проверять результат. Посмотрите на плату – вы должны увидеть мигающий огонек. Значит, мы сделали это!
  8. Проверьте, что программа работает как надо – замерьте паузы между включением и выключением.

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

Поздравляем! У вас получилось реализовать ваш первый проект на Ардуино. Если все мигает так, как надо. Теперь можем переходить к анализу программы и сбору электронной схемы с отдельным светодиодом. Если же что-то не получилось, давайте разберемся, почему.

Если что-то пошло не так

  • У вас нет платы контролера Ардуино. Это большая проблема, т.к. без платы освоить адуино практически невозможно. Проблему можно решить, купив контроллер в одном из интернет-магазинов. Другим вариантом может стать один из сервисов, имитирующих работу ардуино. Например, Tinkercad.
  • Плата не находится. Эта проблема может возникнуть, если у вас нет USB драйвера для платы. Посмотрите эту статью с описанием того, что можно сделать. В ряде случаев также помогает отключение антивирусов. Если ничего не помогает, попробуйте поменять плату, а затем и компьютер (подключить ардуино к другому компьютеру). Гораздо меньше проблемы возникает при работе с ардуино в среде Windows.
  • Нет программы. Ситуация практически невероятная, ведь примеры всегда идут вместе с программой Arduino IDE.  Вы можете скачать программу у нас на сайте – далее в статье вы найдете ссылку
  • Скетч не загружается. Вы могли выбрать не тот контроллер в списке плат. Убедитесь, что выбран Arduino/Genuino Uno или Nano, если вы работаете с платой Uno и Nano соответственно. В некоторых случаях проблема может быть вызвана использованием устаревшего чипа ATMEGA 168. В этом случае выберите тип платы Nano и в пункте меню “процессор” – версию 168.
Блок: 2/5 | Кол-во символов: 5677
Источник: https://ArduinoMaster.ru/projects/miganie-svetodiodom-arduino/

Переходим к шагу 1

После каждого шага делаем паузу для фиксации показа цвета,

 delay(VIEW_PAUSE);

проверяем значение потенциометра и изменяем значение скорости изменения цвета.

 void setpause()   {   pause=map(analogRead(POT),0,1024,MIN_PAUSE,MAX_PAUSE);   Serial.print("pause=");Serial.println(pause);   }

Создадим в Arduino IDE новый скетч, занесем в него код из листинга 1 и загрузим скетч на на плату Arduino. Напоминаем, что в настройках Arduino IDE необходимо выбрать тип платы (Arduino UNO) и порт подключения платы.

Листинг 1

 const int RED=11; // вывод R RGB-светодиода   const int GREEN=10; // вывод G RGB-светодиода   const int BLUE=9; // вывод B RGB-светодиода   int red; // переменная для хранения R-составляющей цвета   int green; // переменная для хранения G-составляющей цвета   int blue; // переменная для хранения B-составляющей цвета   const int POT=A0; // вывод подключения потенциометра   const int MIN_PAUSE=10; // минимальная задержка смены цвета, мс   const int MAX_PAUSE=100; // максимальная задержка смены цвета, мс   int pause; // переменная для хранения текущей задержки   const int VIEW_PAUSE=2000; // время фиксации основного цвета, мс    void setup()   {   Serial.begin(9600);   }   void loop()   {   // от красного к желтому   Serial.println("red - yellow");   red=255;green=0;blue=0;   for(green=0;green<=255;green++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от желтому к зеленому Serial.println("yellow - green"); red=255;green=255;blue=0; for(red=255;red>=0;red--)   setRGB(red,green,blue);   setpause();   delay(VIEW_PAUSE);   // от зеленого к голубому   Serial.println("green - blue");   red=0;green=255;blue=0;   for(blue=0;blue<=255;blue++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от голубого к синему Serial.println("blue - blue"); red=0;green=255;blue=255; for(green=255;green>=0;green--)   setRGB(red,green,blue);   setpause();   delay(VIEW_PAUSE);   // от синего к фиолетовому   Serial.println("blue - purple");   red=0;green=0;blue=255;   for(red=0;red<=255;red++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от фиолетового к красному Serial.println("purple - red"); red=255;green=0;blue=255; for(blue=0;blue>=0;blue--)   setRGB(red,green,blue);   setpause();   delay(VIEW_PAUSE);   }   // функция установки цвета RGB-светодиода   void setRGB(int r,int g,int b)   {   analogWrite(RED,r);   analogWrite(GREEN,g);   analogWrite(BLUE,b);   delay(pause);   }   // функция установки текущей задержки   void setpause()   {   pause=map(analogRead(POT),0,1024,MIN_PAUSE,MAX_PAUSE);   Serial.print("pause=");Serial.println(pause);   }  

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

Рисунок 2,3. RGB-светодиод – всеми цветами радуги

Блок: 2/2 | Кол-во символов: 2833
Источник: https://playarduino.ru/uroki-arduino/rgb-svetodiod-s-arduino-perelivatsya-vsemi-tsvetami-radugi/

Программа и скетч мигающего светодиода


Давайте теперь рассмотрим программу, которую мы загрузили из примеров и проанализируем.

Пример программы мигалки Blink

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

Программа Blink без

Если вы обратите внимание на блок loop, то именно в нем и сосредоточены наши команды, управляющие светодиодом:

Функции setup и loop в коде программы Blink

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

LED_BUILDIN – это название внутреннего светодиода. В большинстве плат за этим названием прячется цифра 13. Для плат Uno, Nano можно смело писать 13 вместо LED_BUILDIN.

HIGH – условное название высокого уровня сигнала. Включает светодиод. Можно заменить цифрой 1.

LOW – условное обозначение низкого уровня сигнала. Выключает светодиод. Можно заменить цифрой 0.

delay – функция, которая останавливает выполнение скетча на определенное время. Крайне нежелательно использовать ее в реальных проектах, но в нашем простом примере она отработает замечательно. В скобках мы указываем цифру – это количество микросекунд, которые нужно ждать. 1000 – это 1 секунда. Подробнее можно прочитать в нашем материале о delay() .

// LED_BUILTIN - встроенная константа, определяющая номер пина. В Arduino Uno и Nano это 13 пин.    void setup() {    pinMode(LED_BUILTIN, OUTPUT); // Установка пина в режим OUTPUT  }    // Этот блок команд выполняется постоянно  void loop() {     digitalWrite(LED_BUILTIN, HIGH); // Включение светодиода    delay(1000);                     // Задержка    digitalWrite(LED_BUILTIN, LOW);  // Выключение светодиода    delay(1000);                     // Задержка      // Когда программа дойдет до этого места, она автоматически продолжится сначала  }

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

Проект “Маячок” с мигающим светодиодом

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

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

  • Плата Arduino Uno или Nano
  • Макетная плата для монтажа без пайки
  • Резистор номиналом 220 Ом
  • Светодиод
  • Провода для соединения

Сложность:  простой проект.

Что мы узнаем:

  • Как подключить светодиод к ардуино.
  • Повторим процедуру загрузки скетча в микроконтроллер.

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

Соедините все элементы согласно следующей схемы для Arduino UNO. Для Arduino Nano светодиод подключается по той же схеме – к пину 13.

Схема подключения мигающего светодиода к Ардуино

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

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

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

Блок: 3/5 | Кол-во символов: 3735
Источник: https://ArduinoMaster.ru/projects/miganie-svetodiodom-arduino/

Заключение

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

Надеемся, все у вас получилось и вы готовы к новым проектам со светодиодами – светофору и гирлянде!

Блок: 5/5 | Кол-во символов: 380
Источник: https://ArduinoMaster.ru/projects/miganie-svetodiodom-arduino/
Кол-во блоков: 9 | Общее кол-во символов: 17325
Количество использованных доноров: 5
Информация по каждому донору:

  1. https://portal-pk.ru/news/1-urok-1—miganie-vstroennym-na-platu-arduino-svetodiodom.html: использовано 1 блоков из 2, кол-во символов 1850 (11%)
  2. https://robotclass.ru/tutorials/arduino-rgb-led/: использовано 2 блоков из 2, кол-во символов 1590 (9%)
  3. https://playarduino.ru/uroki-arduino/rgb-svetodiod-s-arduino-perelivatsya-vsemi-tsvetami-radugi/: использовано 1 блоков из 2, кол-во символов 2833 (16%)
  4. https://xn--18-6kcdusowgbt1a4b.xn--p1ai/rgb-%D1%81%D0%B2%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D0%BE%D0%B4-%D0%B0%D1%80%D0%B4%D1%83%D0%B8%D0%BD%D0%BE/: использовано 1 блоков из 4, кол-во символов 1260 (7%)
  5. https://ArduinoMaster.ru/projects/miganie-svetodiodom-arduino/: использовано 3 блоков из 5, кол-во символов 9792 (57%)



Поделитесь в соц.сетях:

Оцените статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий