Працюємо з 09:00 до 20: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 размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Логічний аналізатор 8 каналів

Логічний аналізатор 8 каналів

Надписи на корпусі можуть відрізнятись від наведених на картинці, але сутність приладу незмінна.Цифр..

244.11грн.

Стабілізатор напруги 5В 1,5А L7805CV

Стабілізатор напруги 5В 1,5А L7805CV

Стабілізатор напруги у вигляді мікросхеми з трьома ногамиВикористовується для стабілізації нестабілі..

8.05грн.

Компаратор подвійний LM393DR

Компаратор подвійний LM393DR

LM393DR в корпусі SOP-8 для поверхневого монтажу.Ці мікросхеми розробники усіляких датчиків для люби..

2.62грн.

Двигун з редуктором 10RPM 12В

Двигун з редуктором 10RPM 12В

Двигун постійного струму з редуктором.При живленні 12 В - швидкість обертання вісі 10 об./хвШвидкіст..

209.50грн.

Прозрачная пленка А4 под лазерный принтер для изготовления печатных плат фоторезистом

Прозрачная пленка А4 под лазерный принтер для изготовления печатных плат фоторезистом

Пленка для нанесения рисунка дорожек на будущую печатную плату фоторезистивным методом.На пленке лаз..

27.06грн.

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