Однак, саме це завдання з Ардуіно та світлодіодом дозволяє зрозуміти що означає перевантаження виходів контролера по струму, обмеження струмів та подільник напруги.
Використовуються функції: призначення виходів, затримки в часі
Пояснення до кодуvoid setup ( )
{
// налаштовуємо пін №13 в режим виходу,
// тобто в режим джерела напруги
pinMode ( 13 , OUTPUT ) ;
}
void loop ( )
{
// подаємо на пін 13 «високий сигнал» (англ. «high»), тобто
// видаємо 5 вольт. Через світлодіод побіжить струм.
// Це змусить його світитися
digitalWrite ( 13 , HIGH ) ;
// затримуємо (англ. «Delay») мікроконтролер в цьому
// стані на 100 мілісекунд
delay ( 100 ) ;
// подаємо на пін 13 «низький сигнал» (англ. «Low»), тобто
// видаємо 0 вольт або, точніше, прирівнюємо пін 13 до землі.
// В результаті світлодіод згасне
digitalWrite ( 13 , LOW ) ;
// завмираємо в цьому стані на 900 мілісекунд
delay ( 900 ) ;
// після «розморожування» loop відразу ж почне виконуватися
// знову, і з боку це буде виглядати так, ніби
// світлодіод блимає раз в 100 мс + 900 мс = 1000 мс = 1 сек
}
Процедура setup виконується один раз при запуску мікроконтролера. Зазвичай вона використовується для конфігурації портів мікроконтролера та інших параметрів
Після виконання setupзапускається процедура loop, яка виконується в нескінченному циклі. Саме цим ми користуємося в даному прикладі, щоб маячок блимав постійно
Процедури setup і loop повинні бути присутніми в будь-якій програмі (скетчі), навіть якщо вам не потрібно нічого виконувати в них - нехай вони будуть порожні, просто не пишіть нічого між фігурними дужками. наприклад:
void setup()
{
}
- Запам'ятайте, що кожному відкриванню фігурної дужки { завжди відповідає закривання }. Вони позначають межі якогось логічно завершеного фрагмента коду. Слідкуйте за вкладеністю фігурних дужок. Для цього зручно після кожної відкриває дужки збільшувати відступ на кожній новій рядку на один символ табуляції (клавіша Tab)
- Звертайте увагу на ; в кінцях рядків. Не можна прати їх там, де вони є, і не додавайте зайвих. Незабаром ви будете розуміти, де вони потрібні, а де ні.
- Функція digitalWrite(pin, value) не повертає ніякого значення і приймає два параметри:
pin - номер цифрового порту, на який ми відправляємо сигнал
value- значення, яке ми відправляємо на порт. Для цифрових портів значенням може бути HIGH (висока, одиниця) або LOW (низька, нуль)
- Якщо в якості другого параметра ви передасте функції digitalWrite значення, відмінне від HIGH, LOW, 1 або 0, компілятор може не видати помилку, але вважати, що передано HIGH. Будьте уважні
- Зверніть увагу, що використані нами константи: INPUT, OUTPUT, LOW, HIGH, пишуться великими літерами, інакше компілятор їх не розпізнає і видасть помилку. Коли ключове слово розпізнано, воно підсвічується синім кольором в Arduino IDE