Цифровий вимірювальний комплекс на Arduino Nano 33 BLE Sense (варіант 1)
Завдання роботи
Обладнання
Теоретична частина
Рис. 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. Генеруйте цікаві для вас ідеї досліджень і здійснюйте ці дослідження.