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

5.3.  Основные функции в языке Wiring
                                                                               109

        после  исполнения  (кроме  изменения  переменных  внутри  себя)
        и  не  требует  никаких  данных  для  запуска,  поэтому  она  имеет
        тип  void  и  пустой  аргумент.
           Светодиод  подключен  к  цифровому  выходу  № 13,  сигнал  на
        котором  может  принимать  значения  логического  нуля  (LOW)  или
        логической  единицы  (HIGH),  что  соответствует  состояниям  «не
        горит»  и  «горит».
        18.  void loop () {
        19.     digitalWrite(13,  HIGH);
        20.     }
           Функция  digitalWrite()  устанавливает  сигнал,  посылаемый  на
        контакт.  В  переводе  digital  означает  «цифровой»,  write —  «за-
        писать».  В  аргументах  функции  digitalWrite()  требуется  указать
        два  значения:  номер  порта  и  значение  (LOW  или  HIGH).
           При запуске программы Arduino включит светодиод. При каж-
        дом  повторении  функции  loop()  микроконтроллер  будет  посылать
        сигнал  о  включении.  Для  получения  мигания  светодиод  выклю-
        чается  с  помощью  команды  digitalWrite  (13, LOW).

        18.  void loop () {
        19.     digitalWrite(13,  HIGH);
        20.     digitalWrite(13,  LOW);}

           Однако  глаз  не  заметит это  мигание,  потому  что  микрокон-
        троллер  отрабатывает  команды  очень  быстро.  Нужно  увеличить
        длительность  включенного  и  выключенного  состояний  светодио-
        да,  введя  паузу.  Для  паузы  при  выполнении  программы  исполь-
        зуется  команда  delay():
        18.  void loop () {
        19.     digitalWrite(13,  HIGH);
        20.     delay(500);
        21.     digitalWrite(13,  LOW);
        22.     delay(500);
        23.       }
           В  качестве  аргумента  функции  delay()  указывается  количество
        миллисекунд,  на  которые  необходимо  включить  паузу.  Достаточ-
        но  500  мс    0,5  с.
           Удалите  лишние  строки,  как  показано  ниже,  сформировав
        следующий  скетч:
        1. void  setup  (){
        2.     Serial.begin(9600);
        3.      pinMode(13, OUTPUT);





                                                                                12 / 17
   105   106   107   108   109   110   111   112   113   114   115