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



бет29/45
Дата13.02.2023
өлшемі1,82 Mb.
#67503
түріЗакон
1   ...   25   26   27   28   29   30   31   32   ...   45
Байланысты:
Amperka eksperiment

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

  • Мы создали массив типа byte: каждый его элемент это 1 байт, 8 бит, может принимать значения от 0 до 255.

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

  • В переменную mask мы помещаем тот элемент массива numberSegments, который соответствует текущей секунде, вычисленной в предыдущей инструкции.

  • В цикле for мы пробегаем по всем сегментам, извлекая с помощью встроенной функции bitReadнужное состояние для текущего пина, в которое его и приводим с помощью digitalWrite и переменной enableSegment

  • bitRead(x, n) возвращает boolean значение: n-ный бит справа в байте x

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

  1. К которой ножке нашего семисегментного индикатора нужно подключать землю?

  2. Как мы храним закодированные символы цифр?

  3. Каким образом мы выводим символ на индикатор?

Задания для самостоятельного решения

  1. Измените код, чтобы индикатор отсчитывал десятые секунды.

  2. Поменяйте программу так, чтобы вместо символа «0» отображался символ «А».

  3. Дополните схему и программу таким образом, чтобы сегмент-точка включался при прохождении четных чисел и выключался на нечетных


Эксперимент 14. Счётчик нажатий


← Секундомер | Оглавление | Комнатный термометр →

В этом эксперименте мы выводим на семисегментный индикатор количество нажатий на кнопку (единицы).


Список деталей для эксперимента


  • 1 плата Arduino Uno

  • 1 беспаечная макетная плата

  • 1 тактовая кнопка

  • 1 выходной сдвиговый регистр 74HC595

  • 1 семисегментный индикатор

  • 7 резисторов номиналом 220 Ом

  • 24 провода «папа-папа»


Достарыңызбен бөлісу:
1   ...   25   26   27   28   29   30   31   32   ...   45




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

    Басты бет