Arduino:Примеры/Blink

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


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

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