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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
(не показано 30 промежуточных версий этого же участника)
Строка 2: Строка 2:
{{Перевод от Сubewriter}}
{{Перевод от Сubewriter}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
==Моргание <ref>[http://www.arduino.cc/en/Tutorial/Blink Arduino - Blink]</ref> ==


Данный пример демонстрирует простейшую физическую манипуляцию, которую можно сделать при помощи '''Arduino''' моргание светодиода.
=Мигание <ref>[http://www.arduino.cc/en/Tutorial/Blink Arduino - Blink]</ref> =
 
Данный пример демонстрирует простейшую физическую манипуляцию, которую можно сделать при помощи [[Arduino]] мигание [[светодиод]]а.


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


{| class="wikitable"
* [[Arduino:Продукты/Продукты Arduino|Плата Arduino]] - 1 шт.
|-
* [[Светодиод]] - 1шт.
! № !! Компонент !! Возможные варианты !! Количество
* [[Резистор]] [[220 Ом]] - 1шт.
|-
| '''1.''' || [[Arduino:Продукты/Продукты Arduino|Плата Arduino]] || {{Список всех плат Arduino}}
|| 1 шт.
|-
| '''2.''' || Светодиод ||  || 1 шт.
|-
| '''3.''' || [[Резистор]] номиналом от [[220Ом]] до [[1кОм]] ||  || 1 шт.
|}


== Цепь ==
== Цепь ==


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


[[Файл:ExampleCircuit_bb.png|center]]
[[Файл:ExampleCircuit_bb.png|center|frame|'''Рис. 1.''' Плата [[Arduino Uno]] с подключенным через [[резистор]] [[светодиод]]ом к 13-му контакту.|alt=Рис. 1. Плата Arduino Uno с подключенным через резистор светодиодом к 13-му контакту.]]


== Схема ==
== Схема ==


[[File:ExampleCircuit_sch.png|center]]
[[File:ExampleCircuit_sch.png|center|frame|'''Рис. 2.''' Схема подключения к плате [[светодиод]]а через [[резистор]].|alt=Рис. 2. Схема подключения к плате светодиода через резистор.]]


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


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


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
pinMode(13, OUTPUT);
pinMode(13, OUTPUT);
</syntaxhighlight>
</syntaxhighlight>


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


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
digitalWrite(13, HIGH);
digitalWrite(13, HIGH);
</syntaxhighlight>
</syntaxhighlight>


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


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
digitalWrite(13, LOW);
digitalWrite(13, LOW);
</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">
/*
/*
  Моргание
  Моргание
Строка 84: Строка 78:
</syntaxhighlight>
</syntaxhighlight>


==См.также==
=См.также=


# [[Arduino:Справочник языка Arduino/setup()‎|setup()‎]]
# [[Arduino:Справочник языка Arduino/setup()‎|setup()‎]]
Строка 98: Строка 92:
# [[Arduino:Примеры/ReadAnalogVoltage|ReadAnalogVoltage]] - Считывание напряжения, проходящего через аналоговый контакт.
# [[Arduino:Примеры/ReadAnalogVoltage|ReadAnalogVoltage]] - Считывание напряжения, проходящего через аналоговый контакт.


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


<references />
<references />


{{Навигационная таблица/Справочник языка Arduino}}
{{Навигационная таблица/Портал/Arduino}}
{{Навигационная таблица/Arduino библиотеки}}


[[Категория:Пример]]
[[Категория:Пример]]
Строка 113: Строка 106:
[[Категория:Пример программирования Arduino с использованием функции loop()]]
[[Категория:Пример программирования Arduino с использованием функции loop()]]
[[Категория:Пример использования функции setup()]]
[[Категория:Пример использования функции setup()]]
[[Категория:setup()]]
[[Категория:Пример использования функции loop()]]
[[Категория:Пример использования функции loop()]]
[[Категория:loop()]]
[[Категория:Пример использования функции Arduino - setup()]]
[[Категория:Пример использования функции Arduino - setup()]]
[[Категория:Пример использования функции Arduino - loop()]]
[[Категория:Пример использования функции Arduino - loop()]]
Строка 124: Строка 119:
[[Категория:Пример программирования Arduino с использованием функции digitalWrite()]]
[[Категория:Пример программирования Arduino с использованием функции digitalWrite()]]
[[Категория:Пример использования функции pinMode()]]
[[Категория:Пример использования функции pinMode()]]
[[Категория:pinMode()]]
[[Категория:pinMode]]
[[Категория:Пример использования функции digitalWrite()]]
[[Категория:Пример использования функции digitalWrite()]]
[[Категория:digitalWrite()]]
[[Категория:digitalWrite]]
[[Категория:Пример использования функции Arduino - pinMode()]]
[[Категория:Пример использования функции Arduino - pinMode()]]
[[Категория:Пример использования функции Arduino - digitalWrite()]]
[[Категория:Пример использования функции Arduino - digitalWrite()]]
Строка 137: Строка 136:
[[Категория:Пример с использованием функции delay()]]
[[Категория:Пример с использованием функции delay()]]
[[Категория:Пример с использованием функции Arduino - delay()]]
[[Категория:Пример с использованием функции Arduino - delay()]]
[[Категория:delay()]]
[[Категория:delay]]
[[Категория:delay(1000)]]
[[Категория:digitalWrite(led, LOW)]]
[[Категория:digitalWrite(led, HIGH)]]
[[Категория:pinMode(led, OUTPUT)]]

Текущая версия от 18:25, 2 сентября 2023

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


Мигание [1]

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

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

Цепь

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

У большинства плат Arduino уже есть светодиод, подключенный к 13-му контакту. Таким образом, если у вас именно такая плата, то вы увидите моргание светодиода, просто введя фрагмент кода, указанный ниже.

Рис. 1. Плата Arduino Uno с подключенным через резистор светодиодом к 13-му контакту.
Рис. 1. Плата Arduino Uno с подключенным через резистор светодиодом к 13-му контакту.

Схема

Рис. 2. Схема подключения к плате светодиода через резистор.
Рис. 2. Схема подключения к плате светодиода через резистор.

Создав цепь, подключите плату 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 - Считывание напряжения, проходящего через аналоговый контакт.

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