Arduino:Примеры/Blink: различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показано 9 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
{{Arduino панель перехода}} | {{Arduino панель перехода}} | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
= | =Мигание <ref>[http://www.arduino.cc/en/Tutorial/Blink Arduino - Blink]</ref> = | ||
Данный пример демонстрирует простейшую физическую манипуляцию, которую можно сделать при помощи [[Arduino]] – | Данный пример демонстрирует простейшую физическую манипуляцию, которую можно сделать при помощи [[Arduino]] – мигание [[светодиод]]а. | ||
== Необходимое оборудование == | == Необходимое оборудование == | ||
Строка 17: | Строка 16: | ||
Для начала подсоедините один конец [[резистор]]а к '''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]] и введите код, указанный ниже. | ||
Строка 31: | Строка 31: | ||
Самая первая вещь, которую нужно сделать – это инициализировать '''13-ый''' контакт как выходной контакт. Делается это при помощи следующей строчки: | Самая первая вещь, которую нужно сделать – это инициализировать '''13-ый''' контакт как выходной контакт. Делается это при помощи следующей строчки: | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
pinMode(13, OUTPUT); | pinMode(13, OUTPUT); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 37: | Строка 37: | ||
В главном цикле включаем [[светодиод]]: | В главном цикле включаем [[светодиод]]: | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
digitalWrite(13, HIGH); | digitalWrite(13, HIGH); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 43: | Строка 43: | ||
Это передаст '''13-му''' контакту напряжение в '''5 В''', а также создаст разницу в напряжении между контактами, к которым подключен [[светодиод]], и заставит его загореться. Затем выключаем [[светодиод]] при помощи следующей строчки: | Это передаст '''13-му''' контакту напряжение в '''5 В''', а также создаст разницу в напряжении между контактами, к которым подключен [[светодиод]], и заставит его загореться. Затем выключаем [[светодиод]] при помощи следующей строчки: | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
digitalWrite(13, LOW); | digitalWrite(13, LOW); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 51: | Строка 51: | ||
А разобравшись с этим примером, обратитесь к примеру [[Arduino:Примеры/DigitalReadSerial|«Считывание последовательной передачи данных через цифровой контакт»]], чтобы научиться считывать данные от кнопочного переключателя, подсоединенного к [[Arduino]]. | А разобравшись с этим примером, обратитесь к примеру [[Arduino:Примеры/DigitalReadSerial|«Считывание последовательной передачи данных через цифровой контакт»]], чтобы научиться считывать данные от кнопочного переключателя, подсоединенного к [[Arduino]]. | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
/* | /* | ||
Моргание | Моргание | ||
Строка 78: | Строка 78: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=См.также= | |||
# [[Arduino:Справочник языка Arduino/setup()|setup()]] | # [[Arduino:Справочник языка Arduino/setup()|setup()]] | ||
Строка 92: | Строка 92: | ||
# [[Arduino:Примеры/ReadAnalogVoltage|ReadAnalogVoltage]] - Считывание напряжения, проходящего через аналоговый контакт. | # [[Arduino:Примеры/ReadAnalogVoltage|ReadAnalogVoltage]] - Считывание напряжения, проходящего через аналоговый контакт. | ||
=Внешние ссылки= | |||
<references /> | <references /> | ||
{{Навигационная таблица/ | {{Навигационная таблица/Портал/Arduino}} | ||
[[Категория:Пример]] | [[Категория:Пример]] | ||
Строка 144: | Строка 142: | ||
[[Категория:digitalWrite(led, HIGH)]] | [[Категория:digitalWrite(led, HIGH)]] | ||
[[Категория:pinMode(led, OUTPUT)]] | [[Категория:pinMode(led, OUTPUT)]] | ||
Текущая версия от 18:25, 2 сентября 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Мигание [1]
Данный пример демонстрирует простейшую физическую манипуляцию, которую можно сделать при помощи Arduino – мигание светодиода.
Необходимое оборудование
- Плата Arduino - 1 шт.
- Светодиод - 1шт.
- Резистор 220 Ом - 1шт.
Цепь
Для начала подсоедините один конец резистора к 13-му контакту на Arduino. Затем подсоедините длинную ногу светодиода (анод, имеющий положительный заряд) к другому концу резистора. Далее подсоедините короткую ногу светодиода (катод, имеющий отрицательный заряд) к контакту GND («земля») на Arduino, как показано на графике и схеме ниже.
У большинства плат Arduino уже есть светодиод, подключенный к 13-му контакту. Таким образом, если у вас именно такая плата, то вы увидите моргание светодиода, просто введя фрагмент кода, указанный ниже.
![Рис. 1. Плата Arduino Uno с подключенным через резистор светодиодом к 13-му контакту.](/ruwiki/images/5/56/ExampleCircuit_bb.png)
Схема
![Рис. 2. Схема подключения к плате светодиода через резистор.](/ruwiki/images/d/df/ExampleCircuit_sch.png)
Создав цепь, подключите плату 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); // ждем секунду
}
См.также
- setup()
- loop()
- pinMode()
- digitalWrite()
- delay()
- BareMinimum - Допустимый минимум кода для начала работы.
- Blink - Включаем и отключаем светодиод.
- DigitalReadSerial - Считывание последовательной передачи данных через цифровой контакт.
- AnalogReadSerial - Считывание последовательной передачи данных через аналоговый контакт.
- Fade - Затухание-загорание светодиода с помощью Arduino.
- ReadAnalogVoltage - Считывание напряжения, проходящего через аналоговый контакт.
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino
- Простой пример программирования Arduino
- Пример программирования Arduino с использованием функции setup()
- Пример программирования Arduino с использованием функции loop()
- Пример использования функции setup()
- Setup()
- Пример использования функции loop()
- Loop()
- Пример использования функции Arduino - setup()
- Пример использования функции Arduino - loop()
- Пример с использованием функции setup()
- Пример с использованием функции loop()
- Пример с использованием функции Arduino - setup()
- Пример с использованием функции Arduino - loop()
- Пример программирования Arduino с использованием функции pinMode()
- Пример программирования Arduino с использованием функции digitalWrite()
- Пример использования функции pinMode()
- PinMode()
- PinMode
- Пример использования функции digitalWrite()
- DigitalWrite()
- DigitalWrite
- Пример использования функции Arduino - pinMode()
- Пример использования функции Arduino - digitalWrite()
- Пример с использованием функции pinMode()
- Пример с использованием функции digitalWrite()
- Пример с использованием функции Arduino - pinMode()
- Пример с использованием функции Arduino - digitalWrite()
- Пример программирования Arduino с использованием функции delay()
- Пример использования функции delay()
- Пример использования функции Arduino - delay()
- Пример с использованием функции delay()
- Пример с использованием функции Arduino - delay()
- Delay()
- Delay
- Delay(1000)
- DigitalWrite(led, LOW)
- DigitalWrite(led, HIGH)
- PinMode(led, OUTPUT)