Текущее время: 19 июл 2018, 01:17

Город ХОББИ

Занятие любимым хобби - это путь к счастливой жизни!

Урок 2. Первая программа СКЕТЧ Blink мигание светодиодом

Обучение с нуля, шаг за шагом.
Аватар пользователя
 
Сообщений: 674
Зарегистрирован: 27 мар 2013, 23:12

Урок 2. Первая программа СКЕТЧ Blink мигание светодиодом

Сообщение -=dp=- » 07 мар 2018, 20:23

Урок 2. Первая программа СКЕТЧ Blink мигание светодиодом

Подключаем плату контроллера с помощью microUSB кабеля к ПК, проверяем наличие COM порта, запоминаем его номер.
Запускаем программу Arduino IDE. exe

1.jpg
Запускаем программу Arduino IDE


В первую очередь нам необходимо произвести первоначальную настройку программы.
В программе Arduino IDE нажимаем на кнопку Инструменты, далее Плата, выбираем плату Arduino UNO / Genuino UNO.

2.jpg
Запускаем программу Arduino IDE


Далее нажимаем опять кнопку Инструменты и выбираем наш COM порт.

3.jpg
Запускаем программу Arduino IDE



Аватар пользователя
 
Сообщений: 674
Зарегистрирован: 27 мар 2013, 23:12

Re: Урок 2. Первая программа СКЕТЧ Blink мигание светодиодом

Сообщение -=dp=- » 07 мар 2018, 20:42

Теперь откроем программу из имеющихся примеров.
Нажимаем на кнопку Открыть

1.jpg
Первая программа СКЕТЧ


Выбираем пункт Basics, затем Blink.

2.jpg
Первая программа СКЕТЧ


После чего в главном окне программы Arduino IDE загрузится программный код скетча Blink.

3.jpg
Первая программа СКЕТЧ



Аватар пользователя
 
Сообщений: 674
Зарегистрирован: 27 мар 2013, 23:12

Re: Урок 2. Первая программа СКЕТЧ Blink мигание светодиодом

Сообщение -=dp=- » 07 мар 2018, 21:38

Теперь разберем программный код скетча
Для удобства восприятия кода лучше удалить оригинальные комментарии после двух слэшей //
В итоге у нас должен остаться вот этот код:

Код: выделить все


void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   
  delay(1000);                   
  digitalWrite(LED_BUILTIN, LOW);   
  delay(1000);                     
}




В коде используется синтаксис языка программирования C++

void setup() - установочный цикл программы, обрабатывается один раз при включении и загрузке контроллера.
void loop() - главный цикл программы, все что находится в данном цикле, обрабатывается последовательно и постоянно, по кругу, в цикле.
Обязательно должно соблюдаться правило двух фигурных скобок {}
Весь код в установочном и главном цикле программы должен находиться между двух {}

void setup()
{
//начало кода в установочном цикле
pinMode(LED_BUILTIN, OUTPUT);
//конец кода в установочном цикле
}

void loop() {
//начало кода в главном цикле
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
//конец кода в главном цикле
}


У контроллеров Ардуино UNO имеется 13 цифровых выводов, которые могут работать как входы (INPUT) и выходы (OUTPUT).
В реальных условиях мы можем использовать для своих разработок только 11 выводов, так как 0 и 1 выводы используются для программирования контроллера и использовать их на начальном уровне крайне не рекомендуется, можно превратить плату контроллера в "КИРПИЧ" :!:

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

pinMode(LED_BUILTIN, OUTPUT);

Где:
pinMode - команда назначения вывода,
LED_BUILTIN - номер вывода,
OUTPUT - назначение вывода, в данном случае мы назначаем вывод как ВЫХОД (OUTPUT).

Далее, в главном цикле программы видим следующий код:

void loop() {
//начало кода в главном цикле
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
//конец кода в главном цикле
}


Где:
digitalWrite - команда изменения состояния выхода,
LED_BUILTIN - номер вывода,
HIGH, LOW - изменение уровня выхода, HIGH - высокий, LOW - низкий. т.е. включаем на выходе 5 вольт и выключаем 5 вольт.
delay(1000); - задержка, указывается в миллисекундах 1000 м.сек = 1 сек.

Как работает данный код:
digitalWrite(LED_BUILTIN, HIGH); - установили на выходе с номером LED_BUILTIN высокий уровень, +5 вольт.
delay(1000); - включили задержку на 1 сек.
digitalWrite(LED_BUILTIN, LOW); - установили на выходе с номером LED_BUILTIN низкий уровень, -5 вольт.
delay(1000); - включили задержку на 1 сек.

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

Теперь загрузим нашу программу в контроллер, для этого нажимаем на кнопку Загрузка. :arrow:

1.jpg
Загрузка программы в Ардуино


Далее мы можем наблюдать ход компиляции программы и загрузки ее в контроллер. :geek:
При успешном завершении загрузки программы мы должны увидеть сообщение - Загрузка завершена :o

2.jpg
Загрузка программы в Ардуино


После этого мы можем обратить внимание на плату контроллера и увидим что на плате будет мигать светодиод, 1 сек. горит, 1 сек. не горит.
Это значит что у нас все получилось правильно! Поздравляю, Вы загрузили в контроллер Ардуино первую программу :!: :ugeek:

3.jpg
Загрузка программы в Ардуино


А почему мигает светодиод распаянный на плате, где мы это прописали ? спросите вы !
А потому что, в среде разработки Ардуино IDE версии 1.8.5 и выше, значение LED_BUILTIN которое у нас указано в скетче равно выводу 13 контроллера , к которому уже прям на заводе подключили светодиод и распаяли его на плате.
Это сделано для проверки работы контроллера и для удобства, упрощения загрузки первой программы, чтоб не надо было пока ничего дополнительного подключать :D

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

Первые два вывода 0 и 1, как я уже писал выше, мы использовать не можем, нельзя!



Аватар пользователя
 
Сообщений: 674
Зарегистрирован: 27 мар 2013, 23:12

Re: Урок 2. Первая программа СКЕТЧ Blink мигание светодиодом

Сообщение -=dp=- » 07 мар 2018, 21:50

Подключать другой светодиод к контроллеру Ардуино надо по этой схеме.

led+arduino.png
Подключение светодиода к Ардуино


Последовательно со светодиодом обязательно нужно подключать резистор номиналом от 200 до 800 Ом.
Я использую в своих примерах резисторы номиналом 560 Ом.
Да, кстати, так как светодиод это полупроводниковый прибор, и излучает свет он по принципу управляемого пробоя полупроводникового P-N перехода,то его подключение имеет полярность.
Если вы все подключили правильно, а светодиод у вас не горит, просто поменяйте его полярность, переверните его.
Если и после этого он не горит, значит вы его сожгли :lol:



Аватар пользователя
 
Сообщений: 674
Зарегистрирован: 27 мар 2013, 23:12

Re: Урок 2. Первая программа СКЕТЧ Blink мигание светодиодом

Сообщение -=dp=- » 08 мар 2018, 00:01

При использовании макетной платы светодиод можно подключить так:


Вложения
1.jpg
Подключение светодиода к Ардуино


Вернуться в Обучение Ардуино

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0