Pull to refresh

Arduino Uno для начинающих

Доброго времени суток всем тем кто читает эту статью. Мы будем говорить об Arduino Uno и я проведу маленький урок на примере одного «устройства» — полоска с мигающими светодиодами (два разных алгоритма). Сразу скажу, кто не знал, программировать на Arduino надо на С++ (Cpp).

image

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

Для занятия нам понадобятся специальная программа Arduino (установить на компьютер) и комплект деталей и контрольная плата Arduino Uno (их можно заказать на АлиЭкспрес). Приступим.

image

Как вы видите на картинке подключены 2 светодиода. По принципу подключаем 8 таких светодиодов, с резисторами на 220 Ом (иначе светодиоды сгорят). Подключите 1-вый светодиод от вас ко 2-ому порту, а дальше по примеру с 2-ого по 9-ий порты: 2-ой к 3-ему, 3-ий к 4-ому…

И так у нас есть 8 портов которые мы обозначаем через OUTPUT (выход):

void setup(){
pinMode(2, OUTPUT);   //объявляем порты на выдачу
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
}

Можно тоже самое сделать и через цикл for:

void setup(){
 for( int =2; i<=9; i++){       // i равно 2, и каждый раз когда кончается и начинается цикл, 
                                             // i увеличивается на 1,
 pinMode(i, OUTPUT);  //объявляем порт номер которого обозначается через i на выдачу (наружу)
 } // и цикл будет работать пока i будет меньше или равняться 9.
}

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

void loop(){
 for( int i=2; i<=9; i++){  // наш цикл
 digitalWrite(i,HIGH);// подача тока (функция HIGH) на порт номер которого обозначен через i 
 delay(500);  //задержка выполнения кода на 0,5 сек.
 digitalWrite(i,LOW);  // прекращение подачи тока (функция LOW) на порт номер которого 
 }                                 //обозначен через i 
}

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

А теперь приступим ко второму алгоритму под названием «бегущая тень». Суть идеи в том чтобы все светодиоды были включены а теню бегала туда и назад.

В void setup() мы опять 8 портов обозначаем через OUTPUT, как и в первый раз. Пишем void loop():

void loop(){
 for( int i=2; i<=9; i++){  // наш цикл
 digitalWrite(i,HIGH);// подача тока(функция HIGH) на на порт номер которого обозначен через i 
 }  // все светодиоды горят.
 for( int i=2; i<=9; i++){  //цикл
 digitalWrite(i,LOW);  // прекращение подачи тока (функция LOW) на на порт номер которого 
                                    //обозначен через i 
 delay(500);  //задержка выполнения кода на 0,5 сек.
 digitalWrite(i,HIGH);// подача тока (функция HIGH) на на порт номер которого обозначен через i
 }
}

И вот мы закончили со светодиодами, а следующей схеме в моей следующей статье. В следующей статье мы будем говорить снова об Arduino Uno. Спасибо за то что прочли мою первую статью.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.