Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
products:aruno:exp2 [2020/05/16 19:15] – создано alexnik | products:aruno:exp2 [2020/11/05 12:05] (текущий) – [Эксперимент 2. Маячок] alexnik | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
===== Эксперимент 2. Маячок ===== | ===== Эксперимент 2. Маячок ===== | ||
- | В первом эксперименте мы мигали светодиодом, | + | В первом эксперименте мы мигали светодиодом, |
+ | Перед | ||
+ | В первую очередь | ||
==== Подключение светодиода ==== | ==== Подключение светодиода ==== | ||
Строка 20: | Строка 22: | ||
==== Схема эксперимента ==== | ==== Схема эксперимента ==== | ||
- | {{ :products:esp-iot: | + | {{ :products:ardu: |
// | // | ||
{{ : | {{ : | ||
Строка 32: | Строка 34: | ||
==== Программный код эксперимента ==== | ==== Программный код эксперимента ==== | ||
- | < | + | < |
- | from machine import Pin | + | void setup() { |
- | import time | + | pinMode(2, OUTPUT); |
- | _init() | + | } |
+ | |||
+ | void loop() { | ||
+ | digitalWrite(2, | ||
+ | delay(1000); | ||
+ | digitalWrite(led, | ||
+ | delay(1000); | ||
+ | } | ||
+ | </ | ||
- | LedPin = 16 | + | Убедитесь, |
+ | Перепишите код программы (либо скопируйте в главное окно Arduino IDE) и нажмите кнопку **Загрузить** на панели быстрого доступа, | ||
- | led = Pin(LedPin, Pin.OUT) | + | Наша программа состоит из двух стандартных функций **//setup()//** , в теле которой расположено одно выражение и функции **// |
+ | Каждое выражение — это приказ процессору что — то сделать.\\ | ||
+ | Выражения в рамках одного блока заключенного в фигурные скобки **“{“ “}”**, исполняются одно за другим, | ||
+ | Как только Arduino включается, | ||
+ | После завершения работы **// | ||
- | while True: | + | Теперь давайте попробуем понять почему написанная программа приводит в итоге к миганию светодиода.\\ |
- | led.off() | + | Как известно, |
- | time.sleep(1) | + | В нашем примере мы управляем светодиодом на 2-ом пине, поэтому 2-ой пин перед использованием нужно сделать выходом. |
- | | + | Это делается выражением в функции setup(): |
- | | + | pinMode(2, OUTPUT); |
- | </file> | + | <WRAP center round tip 60%> |
- | + | Предназначение функция setup(): настроить плату как нужно, чтобы затем с ней работать. | |
- | Отличие от программы из эксперимента 1 заключается в другом номере вывода | + | </WRAP> |
+ | В функции setup() вызывается функция с именем pinMode(), которая устанавливает заданный по номеру пин в определенный режим: вход или выход. О каком | ||
+ | <WRAP center round tip 60%> | ||
+ | Уточняющие значения, расположенный в скобках после имени функции - называются аргументами функции. | ||
+ | </ | ||
+ | Перейдём к функции loop(). | ||
+ | <WRAP center round tip 60%> | ||
+ | Функция loop() называется | ||
+ | </ | ||
+ | Пройдёмся по выражениям по порядку.\\ | ||
+ | Первое выражение — это вызов встроенной функции digitalWrite().\\ Она предназначена для подачи на заданный пин логической единицы (HIGH, 5 вольт) или логического нуля (LOW, 0 вольт). В функцию digitalWrite() передаётся 2 аргумента: | ||
+ | Второе | ||
+ | Как только 1000 мс истекают, | ||
+ | Четвертое выражение снова вызов функции delay() c аргументом 1000 мс.\\ | ||
+ | По истечении установленного времени выполнение снова передаётся к первому выражению функции loop().\\ | ||
+ | Если коротко описать работу | ||
+ | 1. Поджигаем светодиод\\ | ||
+ | 2. Спим 1000 миллисекунд\\ | ||
+ | 3. Гасим светодиод\\ | ||
+ | 4. Спим 1000 миллисекунд\\ | ||
+ | 5. Переходим к пункту 1\\ | ||
+ | Таким образом мы получили проект с маячком, | ||
==== Дополнительное задание ==== | ==== Дополнительное задание ==== |