Цифровий вимірювальний комплекс на Arduino Nano 33 BLE Sense (варіант 1)

Атамась АртемНауковий співробітник НЦ "Мала академія наук України", кандидат технічних наук. Сфера наукових інтересів: розвиток технологій наукової освіти.

Завдання роботи

cтворити цифровий вимірювальний комплекс на Arduino Nano 33 BLE Sense.

Обладнання

- платформа Arduino Nano 33 BLE Sense; - Кабель USB – micro-USB; - USB блок живлення (5 В); - смартфон з ОС Android; - ПК.

Теоретична частина

Рис. 1. Платформа Arduino Nano 33 BLE Sense

Arduino – це сімейство платформ для швидкої розробки електронних пристроїв, що вирізняється зручністю та відносно простою мовою програмування. Програмування здійснюється через USB-порт ПК без застосування програматорів. Для програмування Arduino використовується програмне забезпечення Arduino IDE. На базі Arduino можна збирати сумісні між собою електронні й механічні компоненти в єдиний пристрій, а потім через звичайний комп'ютер запрограмувати поведінку цих складових, як потрібно. Платформа Arduino Nano 33 BLE Sense (рис. 1) є новітньою компактною платформою з вбудованою групою сенсорів, призначеною для побудови пристроїв з Bluetooth-інтерфейсом, що працюють на невеликій відстані. Платформа побудована на базі модуля U-blox NINA B306. Бездротовий модуль U-blox NINA-B306 містить 32-бітний мікроконтролер Nordic nRF52840 на архітектурі ARM Cortex-M4 з тактовою частотою 64 МГц, 1 МБ флеш-пам'яті і 256 КБ оперативної пам'яті. Модуль NINA-B306 також забезпечує зв'язок Bluetooth v5.0 у діапазоні 2,4 ГГц і підтримує енергозбережний протокол. На борту плати Arduino Nano 33 BLE є такі вбудовані сенсори: - IMU-сенсор на 9 ступенів свободи, який містить акселерометр, компас і магнітометр. Збирання виконано на чіпі LSM9DS1 за технологією System-in-Package (система в корпусі); - метеосенсор HTS221, що визначає температуру і відносну вологість повітря в навколишньому просторі і видає їхні значення в 16-бітному форматі; - барометр LPS22HB, призначений для вимірювання тиску повітря; - сенсор APDS-9960, який використовує чотири фотодіода з ІЧ-випромінювачами для вимірювання відстані і розпізнавання базових жестів: помаху руки вліво або вправо, вгору-вниз і вперед-назад. Також він уміє розпізнавати кольори за інтенсивністю каналів RGB і загальний рівень освітленості; - цифровий мікрофон MP34DT05, призначений для визначення рівня шуму, вимірювання частоти звуку, розпізнавання голосових команд або запису звуку. Плата Arduino Nano 33 BLE Sense має 30 контактів (рис. 2), частина з яких можуть виконувати різні функції.

Рис. 2. Контакти (піни) плати Arduino Nano 33 BLE Sense

Призначення контактів такі: VIN – контакт для підключення зовнішнього джерела напруги від 5 до 18 вольт; +5V – контакт для зворотної сумісності з проектами Arduino Nano, до якого за необхідності підводиться напруга 5 В від зовнішнього джерела живлення через перемичку; 3V3 – вихід стабілізатора напруги на 3,3 вольта з максимальним струмом 1,2 А, який забезпечує живлення модуля U-blox NINA-B306 та інших допоміжних елементів плати; GND – загальна шина; D0…D21 – цифрові входи/виходи. Логічний рівень одиниці – 3,3 В, нуля – 0 В. Максимальний струм виходу – 15 мА; А0…А7 – аналогові входи; I²C – контакти для спілкування з периферією за інтерфейсом I²C; SPI – контакти для спілкування з периферією за інтерфейсом SPI; UART/Serial – контакти для комунікації плати з іншими платами розширення та сенсорами за послідовним інтерфейсом. Для початку роботи з платою Arduino Nano 33 BLE Sense досить просто подати живлення від AC/DC-адаптера чи батарейки або підключити його до комп'ютера за допомогою USB-кабелю. Програма Arduino IDE, доступна для завантаження на офіційному сайті Arduino, є безкоштовною. На рис. 3 зображено робоче вікно програми, в якому здійснюється написання програми для плати Arduino.

Рис. 3 Вікно програми Arduino IDE

Програму в Arduino IDE, яка вже готова до роботи з платою, називають скетчем. Після того як програма складена, вона завантажується (прошивається) на плату. Для програмування Arduino використовується USB-кабель. Відразу після завантаження програма готова виконувати різні команди. Для завантаження програми на плату у вікні програми треба натиснути кнопку «Завантаження» Після завантаження програми і від’єднання USB-кабелю від ПК програма лишається збереженою на платі Arduino і починає працювати при подачі живлення на плату без ПК. У цій лабораторній роботі пропонується на базі платформи Arduino Nano 33 BLE Sense створити цифровий вимірювальний комплекс із застосуванням вбудованих до плати сенсорів. Дані, отримані з сенсорів, пропонується передавати на смартфон за допомогою Bluetooth і працювати з ними через мобільний додаток Arduino Science Journal, який дає змогу збирати і запам’ятовувати ці дані.

Хід роботи

1. Установіть на ПК програму Arduino IDE. Завантажити її можна за посиланням: https://www.arduino.cc/en/software. Після встановлення відкрийте програму. 2. Для роботи з додатком Arduino Science Journal необхідно встановити відповідну бібліотеку. Для встановлення бібліотек скористайтеся меню Інструменти – Керувати бібліотеками. У вікні що з’явиться, за допомогою інструменту пошуку знайдіть і встановіть бібліотеку Arduino Science Journal. ПК при цьому має бути підключеним до мережі Інтернет. 3. За допомогою того самого інструменту встановіть такі бібліотеки для роботи з сенсорами Arduino Nano 33 BLE (або перевірте їх наявність): - Arduino_HTS221; - Arduino_LSM9DS1; - Arduino_LSM6DS3; - Adafruit_Zero_PDM_Library; - Arduino_LPS22HB; - Arduino_APDS9960 - ArduinoBLE. 4. Установіть пакет для роботи з платою. Зайдіть у меню Інструменти – Плата – Менеджер плат. У вікні що з’явилося, у стрічці пошуку введіть: Arduino Mbed OS. Після появи результатів прокрутіть стрічку донизу, знайдіть пакет «[DEPRECATED - Please install standalone packages] Arduino Mbed OS Boards», оберіть версію 1.3.2 та встановіть. 5. Установіть на смартфон додаток Arduino Science Journal. 6. За допомогою USB кабелю під’єднайте плату Arduino до ПК. 7. Зайдіть у меню Інструменти – Порт та оберіть СОМ3 (Arduino Nano 33 BLE). 8. Зайдіть у меню Файл – Приклади – Arduino Science Journal – Nano33BLESenseFirmware. У вікні програми має з’явитися скетч для роботи з сенсорами Arduino Nano 33 BLE Sense, зокрема для передачі даних по Bluetooth. 9. Натисніть кнопку «Завантаження» і дочекайтеся завершення завантаження скетча на плату. 10. Увімкніть на смартфоні Bluetooth та відкрийте додаток Arduino Science Journal. Дозвольте додатку доступ до геоданих. 11. Натисніть у вікні додатку кнопку «Додати експеримент». 12. У вікні, що з’явилося, натисніть кнопку «Датчики». 13. У вікні, що з’явилося, натисніть «Налаштування» (рис. 4). 14. У вікні, що з’явилося, згорніть «Внутрішні датчики» і в розділі «Доступні пристрої» натисніть «BLE Sense - …». Має з’явитися перелік датчиків вашої плати Arduino Nano 33 BLE Sense (рис. 5). 15. Установіть маркери біля датчиків температури і вологості. 16. Розгорніть «Внутрішні датчики» і приберіть усі маркери. 17. Натисніть «Налаштування датчиків» у верхній частині вікна додатку. 18. Має з’явитися вікно з графіком вологості та його поточним значенням. Натисніть у цьому вікні іконку датчика температури - має з’явитися аналогічне вікно з показами температури (рис. 6). 19. Натисніть «Додати датчик» - і в одному вікні будуть відображатися покази і температури, і відносної вологості. 20. Натисніть «Почати запис». 21. Зачекайте пару хвилин і натисніть «Стоп». 22. Дані експерименту можна зберегти в додатку і проаналізувати. Аналіз дає можливість зчитувати покази з датчиків у потрібний момент часу.

Рис. 4. Кроки 11,12, 13 у додатку Arduino Science Journal

Рис. 5. Кроки 14, 15 у додатку Arduino Science Journal

23. Тепер ви можете від’єднати плату від ПК і подати на неї живлення від іншого джерела з USB-виходом, наприклад від зарядного пристрою для смартфона або від павербанку.

У підсумку ви створили досить потужній цифровий вимірювальний комплекс із великим набором датчиків, до якого входять датчики, вбудовані у ваш смартфон, і датчики, наявні на вашій платі Arduino Nano 33 BLE Sense. Цей цифровий вимірювальний комплекс за рахунок можливостей мобільного додатку Arduino Science Journal дає змогу зберігати, обробляти й передавати дані експериментів. Тепер ви можете генерувати цікаві для вас ідеї досліджень і здійснювати ці дослідження.

Рис. 6. Крок 18 у додатку Arduino Science Journal

Аналіз даних

1. Здійсніть моніторинг температури та відносної вологості повітря за вікном протягом декількох днів та дійдіть висновків, як ці параметри корелюються з хмарністю та прямою видимістю. 2. Розберіть усі можливості мобільного додатку Arduino Science Journal та навчіться користуватися ними. 3. Генеруйте цікаві для вас ідеї досліджень і здійснюйте ці дослідження.