Главная » Статьи » Arduino с нуля » Работа с Arduino

Урок 2. Подключение внешних светодиодов.

В предыдущем уроке мы рассматривали работу Arduino на примере мигания светодиода входящего в платформу. 

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

 


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

 

  1. Arduino Uno
  2. Монтажная плата Breadboard
  3. Соединительные провода "папа-папа" 3шт.
  4. Светодиоды 2шт.
  5. Резисторы (220 Ом) 2шт.
 
Подключаем светодиоды к Arduino по схеме представленной ниже:
 
  • L1 и L2 - светодиоды.

    Светодиод имеет полярность. Плюсом обозначается ножка светодиода, имеющая наибольшую длину. 
     
  • R - резисторы на 220 Ом.
  • GND (земля) подключаем к соответствующему выходу Arduino, где написано "GND". 

Эта же схема, только в другом представлении:

Резисторов на 220 Ом не оказалось, я взял резисторы большего номинала - 470 Ом. 

 
Всегда используйте в схеме токоограничивающие резисторы, когда работаете со светодиодами. Это поможет вам увеличить срок их службы.
 
У меня получилась вот такая схема:
 
 
Схему мы собрали. Теперь давайте перейдем к программированию нашей платформы Arduino. Для этого открываем уже известную нам программу "Arduino IDE". 
И пишем следующий код:
 
int led_1 = 2; //Номер пина первого светодиода
int led_2 = 3; //Номер пина второго светодиода

void setup() {
 pinMode (led_1 , OUTPUT); //режим пина led_1 на выход 
 pinMode (led_2 , OUTPUT); //режим пина led_2 на выход 
}

void loop() {
 digitalWrite (led_1 , HIGH); //Включаем первый светодиод 
 delay (400); //Выжидаем паузу в 400мс 
 digitalWrite (led_1 , LOW); //Выключаем первый светодиод 
 digitalWrite (led_2 , HIGH); //Включаем второй светодиод 
 delay (400); //Выжидаем паузу в 400мс 
 digitalWrite (led_2 , LOW);  //Выключаем второй светодиод 
}

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

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

В самом начале мы, как и в предыдущем уроке, объявляем переменные, которые отвечают за номера пинов Arduino. В функции loop() мы производим настройку наших pin на выход. 

Далее, в функции setup() происходит следующее:

  1. Подается высокое напряжение (+5В) на pin led_1. Тем самым первый светодиод начинает светиться.
    digitalWrite (led_1 , HIGH);
  2. Происходит пауза в 400 мсек. В это время первый светодиод продолжает светиться.
    delay (400);
  3. Следующие две строки выполняют одновременно два действия (точнее выполняют последовательно, но с очень быстрой скоростью): подачу на pin led_1 низкого напряжения (выключение первого светодиода) и подачу высокого напряжения на pin led_2 (включение второго светодиода). 
    digitalWrite (led_1 , LOW);
    digitalWrite (led_2 , HIGH);
  4. Снова происходит пауза в 400 мсек. В этот момент второй светодиод светится, а первый выключен.
    delay (400);
  5. Так как функция loop() повторяется многократно (после выполнения всей программы она начинает выполнять ее заново), то этот пункт похож на третий. И в него входят две строки:
    Последняя
    digitalWrite (led_2 , LOW);
    И первая
    digitalWrite (led_1 , HIGH);
    Одновременно происходят два действия: гаснет второй светодиод (подача на led_2 LOW уровня) и начинает светиться первый (подача на led_1 HIGH уровня). 

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

 

Вот так выглядит работа данного устройства:

 

 

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

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

 

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

 

Задания:

  1. Увеличить скорость мигания светодиодов в два раза;
  2. Сделать так, чтобы светодиоды, при включении питания, проморгали одновременно 3 раза. А потом начали мигать как и в уроке - через каждые 400 мсек. 
  3. Собрать схему из трех светодиодов. И реализовать из них устройство, под названием "бегущая строка".

Пояснение к заданию:

  1. Первый пункт реализуются простым изменением значений аргументов в функции delay.
  2. Второй пункт усложняется изменением функции setup(). В нем нужно будет реализовать первую часть задания. Чтобы светодиоды проморгали одновременно три раза только в самом начале - при включении питания. А дальше начали моргать как и в уроке.
  3. Третий пункт требует добавления еще одного светодиода. Подключите его, например, к пину 4, и дайте ему имя. Далее измените весь алгоритм, добавляя функции для управления третьим светодиодом, чтобы получился эффект "бегущей строки": загорается первый светодиод, потом тухнет и загорается второй, потом тухнет второй и загорается третий, и т.д. Конечно же, используя задержку между операциями. 

 

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

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

 

Если Вам понравился наш урок, поделитесь им с друзьями.

 

 


←Предыдущий урок | Следующий урок→


 

Категория: Работа с Arduino | Добавил: GM (09.10.2015)
Просмотров: 2689 | Комментарии: 2 | Теги: LED, статьи, Arduino | Рейтинг: 5.0/4
Всего комментариев: 2
avatar
1 taratik • 21:34, 16.10.2015
На схеме лампы накаливания, а светодиоды имеют анод и катод
avatar
1
2 GM • 22:57, 16.10.2015
Спасибо за замечание, мы учтем это smile
avatar