Page 13 - 6511
P. 13
digitalWrite можна подавати імпульси і передавати інформацію
закодованими сигналами і повідомленнями.
Дослівний переклад функції digitalWrite: “цифровий запис”. З
точки зору Arduino він записує щось, на відміну від функції
digitalRead, де дані, навпаки, надходять в контролер і він їх “читає”.
Цифровий запис - тому що ми можемо сформувати тільки цифровий
сигнал в двійковому коді (1 - висока напруга, 0 - низька напруга).
На відміну від аналогового сигналу, ми не зможемо точно
виставити на виході, наприклад, 4,15 вольт. Можливі тільки два
значення напруги: мінімальне і максимальне робоче (наприклад, в
Arduino Uno це 0 В і 5 В відповідно).
Незважаючи на свою назву, функція може управляти і
аналоговими пінами, виставляючи у них на виході 0 або 5 вольт. Ви
просто вказуєте в якості параметра один з аналогових пінів і все.
Час виконання функції на платі Arduino Uno складає близько 5
мікросекунд.
Синтаксис функції:
digitalWrite (<номер піна>, <значення>)
де, номер піна - будь-який з пінів підключеної плати Arduino;
значення - 1 або 0.
Результат роботи залежить від типу піна, зазначеного в
першому параметрі:
- якщо тип піна попередньо встановлено в режим OUTPUT, то
на виході буде встановлена логічна одиниця, що відповідає робочій
напрузі плати (5 В або 3,3 В) або логічний нуль – 0 В (земля);
- якщо тип піна явим чином не зазначено або виставлено
значення INPUT, то результатом роботи функції стане включення
або виключення внутрішнього опору 20 КОм, що є
навантажувальним резистором. При цьому реальна напруга на
виході буде менше 5 В.
Функція analogRead зчитує значення з зазначеного аналогового
входу. Більшість плат Arduino мають 6 каналів (8 каналів у плати
Mini і Nano, 16 у Mega) з 10-бітовим аналого-цифровим
перетворювачем (АЦП). Напруга, подана на аналоговий вхід,
зазвичай від 0 до 5 вольт, буде перетворена в значення від 0 до
1023, це 1024 кроків по 0,0049 вольт. Напруга і крок можуть бути
змінені функцією analogReference ().
12