Лабораторія 1 - Arduino

зміст

  • 1 Що таке Arduino і як НЕ вбивати його
  • 2 Де купити Arduino
  • 3 Встановлення драйверів
  • 4 основні речі, які потрібно знати про Arduino
  • 5 IDE
  • 6 Приклад
    • 6.1 Блимає
    • 6.2 Надсилання даних на послідовний порт комп'ютера.
    • 6.3 Отримання інформації із послідовного інтерфейсу (або із шпаклівки).
  • 7 вправ
    • 7.1 Завдання 1 (10 балів)

Що таке Arduino і як НЕ вбити його

Arduino - це платформа, що використовується для програмування серії процесорів із сімейства Atmel. Arduino використовує процесори SoC (система на чіпі), технічні характеристики кожного типу Arduino можна знайти за посиланням https://www.arduino.cc/en/Products/Compare .

arduino

Серія копій платформи Arduino Uno буде використана в лабораторіях DSFUM, копії взяті з Китаю і, за винятком одного модуля для завантаження програм, які китайці визнали доцільним замінити на побудовані ними, модуль експлуатація та технічні характеристики однакові. Отже, використовуваний процесор - ATmega328P, працює при напрузі 5 В (хоча вхідна напруга для Arduino може бути від 7 до 12 В) і має 16 МГц. Хоча це здається невеликим, 16 МГц достатньо для створення дуже складних програм, але вони не дадуть вам такої свободи, як процесор ПК: цього разу вам доведеться оптимізувати код по максимуму, інакше у вас є шанси, що програма не підійде в оперативній пам’яті (2 Кб) або не працювати на задовільній швидкості (сподіваюся, ви знаєте, як це зі складністю алгоритмів).

Оскільки ми зустрічали студентів, які бояться Arduino, ми повинні згадати, що напруга, яка може бути небезпечною для людей, перевищує 24 В (хоча лише понад 50 В може стати фатальним) - тому ви можете працювати з Arduino, не боячись, що ви могли б отримати струм. Швидше за все, ви можете пошкодити Arduino, якщо неправильно вкласти дроти або ввести його в непридатний трансформатор (понад 12 В). У цій лабораторії ви підключите Arduino до USB-портів комп'ютерів, і оскільки вони забезпечують 5 В (500 мА), джерела живлення достатньо для роботи Arduino. Є кілька пристроїв, які можна підключити до Arduino і яким потрібна сила струму вище 5 В, але ми обговоримо їх у майбутній лабораторії. Для початку, ось деякі обмеження, про які слід пам’ятати, щоб не спалити наявні у нас плати Arduino:

Незважаючи на те, що вищезазначене має на меті трохи вас налякати, Arduino не такий вже й дорогий (приблизно 30 лей), тому його спалення не є такою великою драмою. Крім того, спалені порти USB через Arduino, якого я багато не бачив (але це не неможливо).

Де купити Arduino

Деякі посилання на Інтернет-магазини в Румунії:

https://www.robofun.ro - тут вони дорожчі, але оригінальні

Або, якщо ви хочете, ви можете придбати Arduinos та інші компоненти у наших китайських братів, які працюють по всій ebay (переконайтеся, що людина, у якої ви купуєте, має високий відсоток позитивних відгуків або сертифікований ebay). Такі сайти, як alibaba, aliexpress, extreme hill тощо. вони також надають вам компоненти Arduino +. Ми рекомендуємо купувати строго те, що вам потрібно, а не цілі пакети датчиків, які згодом вам ніде використовувати.

Ви також можете спробувати колег, які виготовили Arduino минулого року.

Встановлення драйвера

Для неоригінальних Arduinos (особливо з китайських або з румунських сайтів за нижчими цінами) вам знадобиться драйвер для компонента, який завантажує програму в процесор Arduino. Її можна знайти на сторінці курсу або безпосередньо за адресою: https://profs.info.uaic.ro/

Щоб встановити драйвер, спочатку підключіть плату Arduino до комп'ютера, а потім вкажіть місце, де ви розпакували драйвер. Якщо це не працює таким чином, у драйвері ви також знайдете виконуваний файл, який виконає примусову установку (але вам все одно потрібно заздалегідь підключити arduino і тримати його підключеним під час встановлення - для того, щоб інсталятор виявив, який тип arduino ви його підключили). У нас Arduinos не працює з MacOS (наскільки нам відомо), студентам, які мають цю операційну систему, встановлену на ноутбуках, пропонується працювати на наявних комп’ютерах у лабораторії.

Основи, які потрібно знати про Arduino

Arduino був побудований спеціально для використання в освіті, особливо для технікумів, орієнтованих на електроніку. Платформа Arduino може живитися від USB-порту будь-якого комп'ютера (або навіть від зарядного пристрою, що пропонує USB-порт). Його можна запрограмувати на мові, дуже схожій на мову C, специфікації якої можна знайти на сайті arduino.cc, офіційному сайті платформи Arduino (точніше за адресою https://www.arduino.cc/en/Reference/HomePage).

До ардуіно можуть бути підключені різні датчики та виконавчі механізми. Датчики беруть інформацію з навколишнього середовища, а виконавчі механізми використовуються для її певного зміни (наприклад, ми можемо пропустити через датчик світла той факт, що він затемнився зовні, і ми можемо закрити реле, підключене до лампочки у вітальні, щоб улов). Для підключення апаратних засобів Arduino UNO пропонує низку 14 цифрових підключень (нумеровані від 0 до 13) та 6 аналогових підключень (від 0 до 5). Зазвичай для підключення виконавчих механізмів використовують цифрові, а для підключення датчиків - аналогові (хоча це не правило).

Як і будь-який комп'ютер (цікаво, чи знали ви це), Arduino працює в нескінченному циклі. Коли він увімкнений (або після завантаження нової програми), виконується розділ налаштувань, після чого він автоматично потрапляє в область, яка називається циклом. Отже, найпростіша структура програми, яку може запускати Arduino:

Існує кілька IDE для програмування платформи Arduino (не дивно, якщо взяти до уваги, що все тут відбувається у внутрішньому дворику поточного OpenSource), тим, який ми будемо використовувати в цьому курсі, є офіційний, розташований на сторінці arduino.cc ( точніше на https://www.arduino.cc/en/Main/Software).

Найбільш важливими/цікавими місцями в цьому інтерфейсі, які ми запрошуємо вас знайти, ми вважаємо такими:

Приклади

Блимати

Першим прикладом, який ми побачимо в лабораторії 1, є Blink (з меню Файл-> Приклади-> Основи-> Блимання). Роль цієї програми полягає в тому, щоб увімкнути, а потім вимкнути світлодіод на платі Arduino, який підключений до контакту 13. Зазвичай ця програма використовується для перевірки належного зв'язку між ПК та платформою Arduino (ви можете перевірити, чи завантажена програма, і що вона працює коректно - зазвичай нові Arduinos поставляються з цією попередньо встановленою програмою саме тому, що вона використовується для перевірки належної роботи). Значення LED_BUILTIN (яке є константою) можна замінити на 13 - цифровий штифт, до якого підключений світлодіод. Оскільки, коли ви завантажуєте програму на платформу Arduino, це відбувається через послідовний порт, ви можете побачити блимання двох світлодіодів TX/RX на платі Arduino. Якщо ви не бачите, як ці два світлодіоди блимають, це означає, що ви неправильно вибрали порт, до якого підключений Arduino, або не встановили драйвери.

Надсилання даних до послідовного порту комп’ютера.

Серійний порт, мабуть, найстаріший із існуючих. Він надсилає символи один за одним (як випливає з назви: послідовний). Хоча послідовний порт був оновлений і тепер відомий як USB (універсальний послідовний порт), режим передачі схожий. Щоб два пристрої могли синхронізуватися, обидва повинні знати швидкість, з якою здійснюється зв’язок. Ця швидкість для послідовного порту вимірюється в бодах і вказує кількість кодів, які можуть бути передані за секунду. Чим вище це значення, тим швидше зв’язок і швидша інструкція, що надсилає код. Для цього прикладу ми будемо використовувати бод 9600 (хоча Arduino може досягати 2 000 000 символів в секунду). В IDE ми напишемо, а потім завантажимо наступний код, пояснення запропонує викладач лабораторії:

Якщо ви бачили, як працює програма (використовуючи послідовний монітор на баді 9600 - див. Вище, як отримати до нього доступ), відкрийте програму шпаклівки, яку ви можете завантажити з Інтернету, при типі підключення виберіть «Серійний», а потім виберіть порт на який підключений до Arduino (видно в нижньому правому куті IDE) і виберіть швидкість 9600. Після натискання кнопки Відкрити ви зможете переглянути інформацію, передану Arduino.

Отримання інформації із послідовного інтерфейсу (або із шпаклівки).

Ви можете використовувати або послідовний монітор в інтерфейсі IDE, або програму Putty, щоб побачити, як працює наступна програма.

Вправи

Завдання 1 (10pt)

Створіть програму Arduino, яка отримує один із 1,2 або 3 варіантів від послідовного порту.

  • (3pt) Якщо вибрана опція 1, на послідовному порту буде відображатися слово "увімкнено", а світлодіод з контакту 13 засвітиться.
  • (3pt) Якщо вибрана опція 2, на послідовному порту відображатиметься слово "вимкнено", а світлодіод з контакту 13 згасне.
  • (3pt) Якщо вибрана опція 3, на послідовному порту буде відображатися слово "блимання", а світлодіодний індикатор з контакту 13 блиматиме (подібно до програми блимання).
  • (1pt) Ефект надсилання коду негайний (миттєвий). Це буде перевірено, якщо під час мигання. коли лампочка світиться, вставляється варіант 1, світлодіод залишатиметься світиться, відповідно, якщо під час мигання, якщо при вимкненому світлодіоді варіант 2 вставляється, світлодіод залишається вимкненим.