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

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


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
pinMode(13, OUTPUT);
pinMode(13, OUTPUT);
</syntaxhighlight>
</syntaxhighlight>
Строка 38: Строка 38:
В главном цикле включаем [[светодиод]]:
В главном цикле включаем [[светодиод]]:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
digitalWrite(13, HIGH);
digitalWrite(13, HIGH);
</syntaxhighlight>
</syntaxhighlight>
Строка 44: Строка 44:
Это передаст '''13-му''' контакту напряжение в '''5 В''', а также создаст разницу в напряжении между контактами, к которым подключен [[светодиод]], и заставит его загореться. Затем выключаем [[светодиод]] при помощи следующей строчки:
Это передаст '''13-му''' контакту напряжение в '''5 В''', а также создаст разницу в напряжении между контактами, к которым подключен [[светодиод]], и заставит его загореться. Затем выключаем [[светодиод]] при помощи следующей строчки:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
digitalWrite(13, LOW);
digitalWrite(13, LOW);
</syntaxhighlight>
</syntaxhighlight>
Строка 52: Строка 52:
А разобравшись с этим примером, обратитесь к примеру [[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">
/*
/*
  Моргание
  Моргание

Версия от 09:16, 24 февраля 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 - Считывание напряжения, проходящего через аналоговый контакт.

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