Эксперимент Маячок



бет19/45
Дата13.02.2023
өлшемі1,82 Mb.
#67503
түріЗакон
1   ...   15   16   17   18   19   20   21   22   ...   45

Пояснения к коду


  • Благодаря тому, что в начале программы мы определили FIRST_KEY_PIN и KEY_COUNT, мы можем подключать произвольное количество кнопок к любым идущим друг за другом цифровым пинам, и для корректировки программы нам не придется менять параметры цикла for. Изменить понадобится лишь эти константы:

    • цикл в любом случае пробегает от 0 до KEY_COUNT;

    • перед считыванием порта мы задаем смещение на номер первого используемого порта —FIRST_KEY_PIN.

  • Функция digitalRead(pin) возвращает состояние порта, номер которого передан ей параметромpin. Это может быть состояние HIGH или LOW. Или, выражаясь иначе: высокое напряжение или низкое, 1 или 0, true или false

  • Поскольку мы получаем с порта одно из двух состояний, мы сохраняем его в переменную уже знакомого нам типа boolean, и можем работать с ней как с логическим значением.

  • Мы используем логический оператор отрицания «не» !. Если keyUp имеет значение 0, выражение!keyUp будет иметь значение 1 и наоборот.

  • Поскольку мы собрали схему с подтягивающим резистором, при нажатии кнопки мы будем получать на соответствующем порте 0.

  • Действия, описанные в условном выражении if, выполняются, когда его условие имеет значение «истина» (единица). Поэтому для выполнения действия по нажатию, мы инвертируем сигнал с кнопки.

Вопросы для проверки себя


  1. Почему мы не настраивали порты, к которым подключены кнопки, как INPUT, но устройство работает?

  2. Каким образом мы избежали написания отдельного когда для чтения каждой кнопки?

  3. Почему разные «ноты», издаваемые пищалкой, звучат с разной громкостью?

  4. Для чего мы использовали оператор логического отрицания !?


Достарыңызбен бөлісу:
1   ...   15   16   17   18   19   20   21   22   ...   45




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет