Page 114 - 1156_Arduino-Polnyy-uchebnyy-kurs-ot-igry-k-inzhenernomu-proektu
P. 114

5.4.  Функции Wiring и ШИМ. Работа со звуками
                                                                                113


                5.4.  Функции Wiring и ШИМ.
                       Работа со звуками

        Широтно-импульсная  модуляция  (ШИМ,  см.  главу  2)  помога-
        ет  переводить  цифровые  выходы  в  псевдоаналоговые.  Поэтому
        в  языке  Wiring  существует стандартная  функция  analogWrite().
           Для демонстрации работы ШИМ воспользуемся зуммером (пье-
        зоэлектрическим  звукоизлучателем).  У  него  всего  два  контакта:
        плюс  и  минус.  Закрепите  зуммер  на  макетной  плате  (рис. 5.3).
        Красным  проводом  соедините  контакт  зуммера  на  стороне  « »
        с  цифровым  ШИМ-выходом  № 3  платы  Arduino  Uno.  Второй
        контакт  зуммера  соедините  черным  проводом  с  шиной  земли  на
        макетной  плате.
           Переведите  цифровой  порт № 3 в режим  выхода:
        5.      pinMode(3,  OUTPUT);
           Существует  два  способа  воспроизведения  звука:

           1)  с  помощью  функции  tone()  стандартной  библиотеки;
           2)  с  помощью  библиотеки  Arduino  Tone  Library.
        Способ 1.  Функция  tone()  генерирует  сигнал  в  форме  прямо-
        угольной  волны  заданной  частоты.  В  стандартном  виде  ШИМ
        включается  на  50%-й  рабочий  цикл.  Функция  может  иметь  два
        или  три  аргумента:  порт  с  поддержкой  ШИМ,  частота  звука
        в  герцах  и  длительность  в  миллисекундах.  Если  длительность
        не  указана,  функция  работает  до  поступления  команды  noTone(),
        аргументом  которой  является  номер  порта.  Загрузите  скетч  на
        плату  и  проверьте  выполнение.























                    Рис. 5.3.  Закрепление зуммера на макетной плате



                                                                                16 / 17
   109   110   111   112   113   114   115   116   117   118   119