Arduino:Примеры/Blink: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 4: Строка 4:
==Моргание <ref>[http://www.arduino.cc/en/Tutorial/Blink Arduino - Blink]</ref> ==
==Моргание <ref>[http://www.arduino.cc/en/Tutorial/Blink Arduino - Blink]</ref> ==


Данный пример демонстрирует простейшую физическую манипуляцию, которую можно сделать при помощи '''Arduino''' – моргание светодиода.
Данный пример демонстрирует простейшую физическую манипуляцию, которую можно сделать при помощи [[Arduino]] – моргание [[светодиод]]а.


== Необходимое оборудование ==
== Необходимое оборудование ==
Строка 24: Строка 24:
== Цепь ==
== Цепь ==


Для начала подсоедините один конец резистора к '''13-му''' контакту на '''Arduino'''. Затем подсоедините длинную ногу светодиода (анод, имеющий положительный заряд) к другому концу резистора. Далее подсоедините короткую ногу светодиода (катод, имеющий отрицательный заряд) к контакту '''GND''' («земля») на '''Arduino''', как показано на графике и схеме ниже.
Для начала подсоедините один конец [[резистор]]а к '''13-му''' контакту на [[Arduino]]. Затем подсоедините длинную ногу [[светодиод]]а ([[анод]], имеющий положительный заряд) к другому концу [[резистор]]а. Далее подсоедините короткую ногу [[светодиод]]а (катод, имеющий отрицательный заряд) к контакту [[GND]] («[[земля]]») на [[Arduino]], как показано на графике и схеме ниже.
У большинства плат '''Arduino''' уже есть светодиод, подключенный к '''13-му''' контакту. Таким образом, если у вас именно такая плата, то вы увидите моргание светодиода, просто введя фрагмент кода, указанный ниже.
У большинства плат [[Arduino]] уже есть [[светодиод]], подключенный к '''13-му''' контакту. Таким образом, если у вас именно такая плата, то вы увидите моргание [[светодиод]]а, просто введя фрагмент кода, указанный ниже.


[[Файл:ExampleCircuit_bb.png|center]]
[[Файл:ExampleCircuit_bb.png|center]]
Строка 33: Строка 33:
[[File:ExampleCircuit_sch.png|center]]
[[File:ExampleCircuit_sch.png|center]]


Создав цепь, подключите плату '''Arduino''' к компьютеру, запустите среду разработки '''Arduino''' и введите код, указанный ниже.
Создав цепь, подключите плату [[Arduino]] к компьютеру, запустите среду разработки [[Arduino]] и введите код, указанный ниже.


== Код ==
== Код ==
Строка 43: Строка 43:
</syntaxhighlight>
</syntaxhighlight>


В главном цикле включаем светодиод:
В главном цикле включаем [[светодиод]]:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c" enclose="div">
Строка 49: Строка 49:
</syntaxhighlight>
</syntaxhighlight>


Это передаст '''13-му''' контакту напряжение в '''5 В''', а также создаст разницу в напряжении между контактами, к которым подключен светодиод, и заставит его загореться. Затем выключаем светодиод при помощи следующей строчки:
Это передаст '''13-му''' контакту напряжение в '''5 В''', а также создаст разницу в напряжении между контактами, к которым подключен [[светодиод]], и заставит его загореться. Затем выключаем [[светодиод]] при помощи следующей строчки:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c" enclose="div">
Строка 55: Строка 55:
</syntaxhighlight>
</syntaxhighlight>


Это сбросит напряжение '''13-го''' контакта до нуля и выключит светодиод. Чтобы сторонний наблюдатель мог видеть созданный вами эффект, между включением и выключением нужно сделать паузу. Для этого воспользуемся командой [[Arduino:Справочник языка Arduino/Функции/Работа со временем/delay()|delay()]], которая скажет '''Arduino''' сделать паузу протяженностью '''1000 миллисекунд''' (что составляет одну секунду). Разобравшись в основах, обратитесь к примеру [[Arduino:Примеры/BlinkWithoutDelay|«Моргание без команды Delay»]], чтобы узнать, как делать паузу, но вместе с ней делать и другие операции, т.к. минус команды [[Arduino:Справочник языка Arduino/Функции/Работа со временем/delay()|delay()]] в том, что она приостанавливает работу программы.
Это сбросит напряжение '''13-го''' контакта до нуля и выключит [[светодиод]]. Чтобы сторонний наблюдатель мог видеть созданный вами эффект, между включением и выключением нужно сделать паузу. Для этого воспользуемся командой [[Arduino:Справочник языка Arduino/Функции/Работа со временем/delay()|delay()]], которая скажет [[Arduino]] сделать паузу протяженностью [[1000 миллисекунд]] (что составляет одну секунду). Разобравшись в основах, обратитесь к примеру [[Arduino:Примеры/BlinkWithoutDelay|«Моргание без команды Delay»]], чтобы узнать, как делать паузу, но вместе с ней делать и другие операции, т.к. минус команды [[Arduino:Справочник языка Arduino/Функции/Работа со временем/delay()|delay()]] в том, что она приостанавливает работу программы.


А разобравшись с этим примером, обратитесь к примеру [[Arduino:Примеры/DigitalReadSerial|«Считывание последовательной передачи данных через цифровой контакт»]], чтобы научиться считывать данные от кнопочного переключателя, подсоединенного к '''Arduino'''.
А разобравшись с этим примером, обратитесь к примеру [[Arduino:Примеры/DigitalReadSerial|«Считывание последовательной передачи данных через цифровой контакт»]], чтобы научиться считывать данные от кнопочного переключателя, подсоединенного к [[Arduino]].


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">

Версия от 10:36, 22 июня 2019

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.

Моргание [1]

Данный пример демонстрирует простейшую физическую манипуляцию, которую можно сделать при помощи Arduino – моргание светодиода.

Необходимое оборудование

Компонент Возможные варианты Количество
1. Плата Arduino 1 шт.
2. Светодиод 1 шт.
3. Резистор номиналом от 220Ом до 1кОм 1 шт.

Цепь

Для начала подсоедините один конец резистора к 13-му контакту на Arduino. Затем подсоедините длинную ногу светодиода (анод, имеющий положительный заряд) к другому концу резистора. Далее подсоедините короткую ногу светодиода (катод, имеющий отрицательный заряд) к контакту GNDземля») на Arduino, как показано на графике и схеме ниже. У большинства плат Arduino уже есть светодиод, подключенный к 13-му контакту. Таким образом, если у вас именно такая плата, то вы увидите моргание светодиода, просто введя фрагмент кода, указанный ниже.

Схема

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

Код

Самая первая вещь, которую нужно сделать – это инициализировать 13-ый контакт как выходной контакт. Делается это при помощи следующей строчки:

pinMode(13, OUTPUT);

В главном цикле включаем светодиод:

digitalWrite(13, HIGH);

Это передаст 13-му контакту напряжение в 5 В, а также создаст разницу в напряжении между контактами, к которым подключен светодиод, и заставит его загореться. Затем выключаем светодиод при помощи следующей строчки:

digitalWrite(13, LOW);

Это сбросит напряжение 13-го контакта до нуля и выключит светодиод. Чтобы сторонний наблюдатель мог видеть созданный вами эффект, между включением и выключением нужно сделать паузу. Для этого воспользуемся командой delay(), которая скажет Arduino сделать паузу протяженностью 1000 миллисекунд (что составляет одну секунду). Разобравшись в основах, обратитесь к примеру «Моргание без команды Delay», чтобы узнать, как делать паузу, но вместе с ней делать и другие операции, т.к. минус команды delay() в том, что она приостанавливает работу программы.

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

/*
 Моргание
 Светодиод то включается (на секунду), то выключается (на секунду) – снова и снова.
 
 Данный пример кода не защищен авторским правом. 
*/
 
// У большинства плат Arduino уже есть светодиод, подключенный к 13-му контакту.
// зададим ему имя:
int led = 13;

// эта функция запускается один раз – при рестарте:
void setup() {                
  // инициализируем цифровой контакт как выход.
  pinMode(led, OUTPUT);     
}

// этот цикл будет повторятся снова и снова:
void loop() {
  digitalWrite(led, HIGH);   // включаем светодиод (HIGH, т.е. «высокий» – это уровень напряжения)
  delay(1000);               // ждем секунду
  digitalWrite(led, LOW);    // выключаем светодиод, опуская напряжение до значения LOW (т.е. «низкий») 
  delay(1000);               // ждем секунду
}

См.также

  1. setup()‎
  2. loop()
  3. pinMode()
  4. digitalWrite()
  5. delay()
  6. BareMinimum - Допустимый минимум кода для начала работы.
  7. Blink - Включаем и отключаем светодиод.
  8. DigitalReadSerial - Считывание последовательной передачи данных через цифровой контакт.
  9. AnalogReadSerial - Считывание последовательной передачи данных через аналоговый контакт.
  10. Fade - Затухание-загорание светодиода с помощью Arduino.
  11. ReadAnalogVoltage - Считывание напряжения, проходящего через аналоговый контакт.

Внешние ссылки