Цифровий вимірювальний комплекс на Arduino Nano 33 BLE Sense (варіант 1)
Завдання роботи:
cтворити цифровий вимірювальний комплекс на Arduino Nano 33 BLE Sense.
Обладнання:
– платформа Arduino Nano 33 BLE Sense;
– Кабель USB – micro-USB;
– USB блок живлення (5 В);
– смартфон з ОС Android;
– ПК.
Основні терміни та поняття
Фізичні величини та їх вимірювання Система СІ – Одиниці фізичних величин – Фізичні величини та їх вимірювання Arduino Nano 33 BLE Sense ARDUINO SCIENCE JOURNAL
Теоретична частина
Рис. 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. Генеруйте цікаві для вас ідеї досліджень і здійснюйте ці дослідження.