Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| 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\\ | ||
| + | Таким образом мы получили проект с маячком, | ||
| ==== Дополнительное задание ==== | ==== Дополнительное задание ==== | ||