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

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

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

створити цифровий вимірювальний комплекс на 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-кабель. Відразу після завантаження програма готова виконувати різні команди. Програму в Arduino IDE, яка вже готова до роботи з платою, називають скетчем. Після того як програма складена, вона завантажується (прошивається) на плату. Для програмування Arduino використовується USB-кабель. Відразу після завантаження програма готова виконувати різні команди. Для завантаження програми на плату у вікні програми треба натиснути кнопку «Завантаження» Після завантаження програми і від’єднання USB-кабелю від ПК програма лишається збереженою на платі Arduino і починає працювати при подачі живлення на плату без ПК.

У цій лабораторній роботі пропонується на базі платформи Arduino Nano 33 BLE Sense створити цифровий вимірювальний комплекс із застосуванням вбудованих до плати сенсорів. Дані, отримані з сенсорів, пропонується передавати на смартфон за допомогою Bluetooth і працювати з ними через мобільний додаток Phyphox (Physical Phone Experiments), який дає змогу збирати і запам’ятовувати ці дані.

Хід роботи

1. Установіть на ПК програму Arduino IDE. Завантажити її можна за посиланням: https://www.arduino.cc/en/software. Після встановлення відкрийте програму.
2. Для роботи з додатком Phyphox необхідно встановити відповідну бібліотеку. Для встановлення бібліотек скористайтеся меню Інструменти – Керувати бібліотеками. У вікні, що з’явиться, за допомогою інструменту пошуку знайдіть і встановіть бібліотеку phyphoxBle.h. ПК при цьому має бути підключеним до мережі Інтернет.
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 та встановіть. Закрийте програму Arduino IDE.
5. Завантажте до ПК архів з файлом програмного коду (скетчу) за посиланням: https://hebergement.universite-paris-saclay.fr/phyphox/nano_phyphox_v1.zip та розпакуйте його.
6. Відкрийте файл програмного коду (скетчу). При цьому дайте згоду на створення окремої папки для цього файлу.
7. За допомогою USB-кабелю під’єднайте плату Arduino до ПК.
8. Зайдіть у меню Інструменти – Порт та оберіть СОМ3 (Arduino Nano 33 BLE).
9. Натисніть кнопку «Завантаження» і дочекайтеся завершення завантаження скетчу на плату.
10. Установіть на смартфон додаток Phyphox.
11. Зі смартфона перейдіть за посиланням: http://hebergement.universite-paris-saclay.fr/supraconductivite/projet/arduino_nano/?lang=en. Прокрутіть до нижньої частини сторінки та завантажте пакет експериментів, натиснувши на посилання: Phyphox Experiments (if you are on a smartphone).
12. Включіть на смартфоні Bluetooth та передачу геоданих.
13. Відкрийте додаток Phyphox і в розділі Arduino Nano 33 BLE Sense оберіть який-небудь датчик (рис. 4).
14. В останньому вікні оберіть пристрій – nano_6. На рис. 5 представлені приклади зчитування даних із зовнішніх датчиків у додатку Phyphox. Цей програмний код дає змогу зчитувати в додатку також дані вимірювань напруги на аналогових входах плати А0, А1 та А2. Але варто не забувати, що за цих вимірювань напруга на аналогових входах не має перевищувати 3,3 В!
15. Дані експерименту можна зберегти в додатку, здійснити їх експорт і проаналізувати. Аналіз дає можливість зчитувати показання з датчиків у потрібний момент часу.
16. Тепер ви можете від’єднати плату від ПК і подати на неї живлення від іншого джерела з USB-виходом, наприклад від зарядного пристрою для смартфона або від павербанка.

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


Рис. 4. Налаштування додатку Phyphox


Рис. 5. Приклади зчитування даних із зовнішніх датчиків у додатку Phyphox

Аналіз даних

1. Розберіть усі можливості мобільного додатку Phyphox та навчіться користуватися ними.
2. Генеруйте цікаві для вас ідеї досліджень і здійснюйте ці дослідження.