Працюємо з 09:00 до 19:00 без вихідних.
Самовивіз - Київ біля ТЦ Квадрат бул.Перова

Arduino основи програмування

Тут ми навчимося писати елементарну програму, здатну зробити що-небудь цікаве для новачка. Тут ви дізнаєтесь, як написати найпростіший скетч для Arduino використовуючи стандартний IDE. Ми поки що пропустимо використання входів-виходів, але звернемо увагу на зв'язок через USB. Синтаксис мови Arduino точно повторює мову C, тому на ньому ми зупинятись не будемо. Ми зконцентруємося на конкретних аспектах мови Arduino, в якій ви можете використовувати усі принципи, притаманні мові C: змінні, оператори, стани, типи, константи та інше.



Перший скетч для Arduino

В мові Arduino не потрібно задавати відправну точку, як в мові Сі, де ви змушені визначити основну програму. Дійсно, під час запуску програми, вона завантажує те, що називається об'єкт в об'єктно-орієнтованому програмуванні ООП в пам'ять. Об'єкти в ООП належать класам. Для кожного об'єкта того ж класу стан визначається у вигляді набору атрибутів або елементів, котрі можна розглядати як змінні, представлені як набір даних різних типів в пам'яті. Стан об'єкта може управлятись методами: набір станів, призначених для виконання заданої операції по зміні або забезпеченню стану об'єкта. Якщо ви не знайомі з ООП, ви можете роз'яснити для себе, що стан це набір змінних та методи, це набір функцій.

Скетч Arduino складається з самостійного файла, в якому, на відміну від мови C, Ви повинні визначити принаймні, дві секції: перша називається setup(), а друга loop(). Змінні, доступні з обох секцій програми, повинні бути оголошені за їх межами, як глобальні змінні.

Як тільки програма запуститься, виконуються операнди, розміщені в блоці setup(): вони призначені для ініціалізації значень змінних на початку запуску, а також для налаштування портів периферії Arduino. Після закінчення обробки setup() Arduino починає циклічне виконання інструкцій в блоці loop(). Після виконання всіх операндів, цикл повторюється знову і знову.

void setup () {

 ...

 }


void loop () {

 ...

 }

Обидва блоки setup() та loop() задекларовані як блоки void, тобто вони нічого не повертають. Ви можете використовувати стандартні директиви препроцесора, такі як #define, #ifdef, #ifndef, #endif, та інші. Зокрема, ми наполегливо рекомендуємо Вам визначати константи як символи препроцесора (не як змінні, так як вони їдять SRAM пам'ять).


Ввод-вивід даних з Arduino.

В Arduino нема портів для підключення до монітора чи клавіатури: хоча вони і не обов'язкові на таких типах пристроїв. Контакти вводу / виводу призначені для забезпечення обміну даними та сигналами вводу / виводу з зовнішнім світом. Однак це не самодостатні порти, до яких ми звикли, працюючи з комп'ютерами, а окремі сигнальні виводи. А в тих випадках, коли необхідно відобразити які-небудь значення внутрішніх даних  (наприклад під час налагодження) ви можете підключити плату контролера до комп'ютера за допомогою кабеля USB. Повідомлення, прийняті від контролера, відображаються у спеціальному вікні під назвою serial monitor. Такий інтерфейс не підходить для складних задач, та має дуже простий інтерфейс. Ви можете відкрити serial monitor, вибравши відповідний пункт в головному меню IDE. При запуску serial monitor може поводити себе дивно, показуючи (очевидно) випадкові символи. Це ті символи, які залишились в буфері COM-порта після попередніх передач даних. Це простий обмін текстовими повідомленнями та нема можливості щось зберегти у файл.

Якщо потрібно послати текстове повідомлення у вікно serial monitor з контролера, ви можете використати функцію Serial.print(), що має наступний синтаксис:

Serial . print (< повідомлення>}; 

де <повідомлення> це константа. Наприклад

int i = 67;

Serial . print (" the value of i is ");

Serial . print (i);

Serial . print ("\n");

у вікні serial monitor відобразить текст "the value of i is 67". Перше звернення до функції Serial.print  містить текстову константу як параметр. Друге містить цілочисленну змінну, значення якої зчитується з пам'яті. А останнє додасть символ переносу рядка Serial.print("\n"). Ви також можете виводити текстові повідомлення, що одразу містять символ переносу рядка, за допомогою функції Serial.println, яка автоматично додає символ переносу рядка вкінці текста:

int i = 67;

Serial . print (" the value of i is ");

Serial . println (i);

Для того, щоб змінити швидкість послідовного зв'язку, необхідно налаштувати параметри зв'язку перед початком використання каналу. Для цього використовується функція Serial.begin (9600), в якій 9600 - швидкість передачі в бодах (це одиниця швидкості в галузі телекомунікацій). Цю швидкість можна змінювати в межах, регламентованих документацією на сайті Arduino, в залежності від ваших потреб. Зазвичай швидкість 9600 нормально підходить для обміну з сучасним комп'ютером.

Операнд Serial.read() повертає перший байт, доступний в буфері вводу. Його використання дещо важче ніж write. 


Відображення даних

Не дивлячись на те, що в Arduino нема монітора, ви можете підключити до нього деякі дисплеї, що існують в продажу окремо. Існує декілька варіантів для цього: або ви використовуєте ЖК-дисплей, або TFT монітор. Прості ЖК-дисплеї можуть відображати до чотирьох рядків тексту або навіть більше, в тей час як з TFT екраном можна продивлятись дані з високою роздільною здатністю (зазвичай 160 × 128 пікселів та 240 × 320 пікселів). Вини випускаються як в чорно-білому так і в кольоровому варіантах, в деяких моделей є навіть сенсорне керування.


Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Аудіо роз'єм навушників 3,5мм мама

Аудіо роз'єм навушників 3,5мм мама

Стандартний роз'єм для навушників 3,5мм в пластмасовому корпусі.Виводи під пайку.Використовується дл..

13.21грн.

Драйвер крокового двигуна 800мА L9110S

Драйвер крокового двигуна 800мА L9110S

Драйвер крокового двигуна дає можливість керувати з контролера обертанням двох двигунів постійного с..

36.93грн.

Модуль годинника реального часу DS1302 + батарейка

Модуль годинника реального часу DS1302 + батарейка

Модуль годинника для любительських контролерів на основі спеціалізованої мікросхеми DS1302Напруга ло..

34.86грн.

Набір латунних стійок М2 270шт.

Набір латунних стійок М2 270шт.

Латунні стійки зіркоподібного перетину з різьбою кріплення М2Застосовуються для з'єднання частин кор..

221.51грн.

Перетворювач рівнів 5В на 3В двонапрямлений 4-канальний

Перетворювач рівнів 5В на 3В двонапрямлений 4-канальний

Перетворювач логічних рівнів з 5 В на 3,3 В та навпаки.Дозволяє перетворити 4 лінії комунікаціїДуже ..

17.76грн.

Теги Ардуіно, Arduino