Мобильная версия Форум Arduino Документация Гарантийные условия 0 0
UA RU
График работы магазина:
Пн-Пт: 8.00 - 19.00
Сб: 10.00 - 17.00
Вс: выходной
Каталог
Напиши статью и получи скидку!

Arduino и Bluetooth

2022-04-15

Все статьи →

В даний час у закордонних та вітчизняних магазинах можна знайти велику кількість різних Bluetooth Serial модулів для DIY-пристроїв. Ціна на них не дуже висока: ±5$ за модуль. Їх легко можна знайти, наприклад: Bluetooth Serial HC-05, HC-06.

У більшості модулів використовується чіп BC417 плюс Flash-пам'ять. Чіп підтримує специфікацію Bluetooth v2.0 + EDR, AT-команди, може працювати в режимі Master або Slave (модулі HC-03/HC-5, може встановлюватися AT-командою), підтримує швидкість обміну від 2400 до 1382400. Напруга живлення модуля становить 3.3В, струм споживання ~50мА. Модулі HC-03/HC-05 більш функціональні, ніж HC-04/HC-06.

Основні контакти модулів HC-04/HC-06:

  • UART_TX (pin 1), UART_RX (pin 2), UART_CTS (pin 3), UART_RTS (pin 4) - піни UART.
  • 3,3V (pin 12) - живлення 3.3В.
  • GND (pin 13) - загальний.
  • PIO1 (pin 24) - індикатор робочого режиму. Якщо з'єднання не встановлено - світлодіод блимає, якщо встановлено, то постійно горить.

Для модулів HC-03/HC-05 є деякі відмінності. Лінії UART та живлення ті самі, але:

  • PIO8 (pin 31) - індикатор робочого режиму.
  • PIO9 (pin 32) - статус з'єднання, якщо з'єднання встановлено, на виході буде високий рівень.
  • PIO11 (pin 34) - вхід увімкнення режиму AT-команд (необхідно подати лог. 1).

За більш детальною документацією звертайтесь до PDF.

Отже, зберемо просту схему для підключення Bluetooth модуля HC-06 до плати Arduino Nano V3.

Зверніть увагу, що контакти TX та RX у платі Arduino Nano поміняні місцями на відміну від Ardunio UNO та ін. Тому уважно дивіться розпинування своєї Arduino плати. Крок між контактами в модулі складає всього 1.5мм, тому доведеться взятися за паяльник і припаяти дроти до модуля. Усього необхідно припаяти 5 проводів, проте світлодіод не обов'язково підключати, він служить для індикації стану.

Отже припаюємо дроти та підключаємо Bluetooth модуль наступним чином:

  • контакт Arduino 3.3В - до 12 піну модуля
  • контакт Arduino GND - до 13 піну модуля
  • контакт Arduino TX - до 2 піну модуля RX
  • контакт Arduino RX - до 1 піну модуля TX

Передача даних з Arduino через Bluetooth

Далі напишемо простенький скетч для надсилання повідомлень із Bluetooth модуля в комп'ютер.


Як бачите скетч, досить простий і добре прокоментований. У циклі раз на секунду відбувається збільшення змінної cnt, яка потім з текстовим написом виводиться в послідовний порт на Bluetooth модуль. Зверніть увагу, що швидкість порту встановлена на значення 9600. При покупці модуля, запитуйте на яке значення встановлена швидкість обміну за послідовним інтерфейсом. Але в більшості випадків це 9600. При необхідності швидкість обміну можна змінити АТ-командами. Відкрийте цей скетч в Arduino IDE, скомпілюйте та прошийте ваш Arduino. Якщо ви підключали світлодіод в модулі Bluetooth, то він повинен блимати, показуючи тим самим, що модуль очікує з'єднання.

Увага! Якщо при прошивці плати Arduino лається прошивальник, відключіть живлення 3.3В з Bluetooth модуля.

На комп'ютері, як Bluetooth модуль використовувався найдешевший китайський Bluetooth USB адаптер, вартістю близько 3$. Після того, як адаптер підключається до комп'ютера, встановіть потрібні драйвера (у Windows 7 x64 у мене всі драйвера встановилися автоматично). Потім клацаємо в треї по іконці Bluetooth модуля і вибираємо "Додати пристрій":

Ім'я мого модуля BOLUTEK, у вас воно, швидше за все, буде іншим. Натискаємо "Далі" та переходимо до вікна, де необхідно ввести пароль для пристрою:

Вибираємо другий пункт: "Введіть код утворення пари пристрою". З заводу код встановлено 1234. Його і вводимо. Програма налаштує та пропише в системі віртуальні COM-порти (у мене прописало 2 шт, але може бути й один):

Надалі можна подивитися на який COM-порт призначилося і його параметри. Для цього клацаємо правою кнопкою миші по пристрої та вибираємо "Властивості" та вкладку "Обладнання". Там можна переглянути та змінити параметри віртуального COM-порту:

Тепер, для прийому та передачі даних на віртуальний COM порт можна використовувати будь-яку програму термінал. Я використав безкоштовну Tera Term. При кожному запуску програми пропонується вибір з'єднання, перемикаємо прапорець на Serial та вибираємо COM порт вашого Bluetooth модуля. У мене це COM4.

У терміналі ми бачимо дані лічильника з плати Arduino:

Як бачите, дані успішно передаються через з'єднання Bluetooth.

Двонаправлений обмін даними через Bluetooth

Наступним кроком буде написання простенької програми двонаправленого обміну даними між Arduino та комп'ютером. У схему я додав світлодіод, підключивши його до 12 піну Arduino, через струмообмежувальний резистор. Але можна використовувати і вбудований LED (зазвичай 13 пін).


Програма працює дуже просто. Після запуску або скидання пристрою, у послідовний порт виводиться повідомлення з пропозицією натиснути 1 або 0. Залежно від натиснутої цифри світлодіод буде вмикатися або вимикатися. А також, від Arduino буде виводитись повідомлення загорівся світлодіод, або погас.

Підключаємо до Android

Для платформи Android також є програми-термінали. Але потрібна спеціальна програма для роботи в термінальному режимі через Bluetooth. Я встановив ось це: Bluetooth Terminal. Досить проста програма, нічого зайвого. У моєму Android пристрої немає Bluetooth модуля, але він чудово працює і із зовнішнім USB-адаптером, який ми використовували для підключення до ПК. Підключаємо адаптер по USB, включаємо на андроїді bluetooth, знаходимо та вводимо пароль для нашого Bluetooth пристрою на Arduino і нарешті запускаємо програму термінал. Натискаємо "Connect a device - Secure" та вибираємо наш пристрій BOLUTEK. Тепер ви можете надсилати та приймати дані з Bluetooth пристрою за допомогою терміналу.

Посилання:

Ваша оценка статьи:

Отлично
Хорошо
Удовлетворительно
Плохо
Очень плохо

Общая оценка:

Оценка "Arduino и Bluetooth"
4 из 5
сделана на основе 3 оценок 3 клиентских отзывов.

Благодарим Вас за обращение! Ваш отзыв появится после модерации администратором.
Віктор
20.12.2023 08:35:03
На перший погляд стаття зрозуміла. Зараз буду пробувати. Але заберіть, будь ласка, з сайту мову окупантів. Переклад солов''їною надіслав через розділ Зворотній зв''язок.
Віталій
15.09.2023 12:36:08
Гарно зроблено
Ярослав
03.12.2022 20:57:52
Неплохой урок, даже не думал про последовательный порт на ПК
оплата картами Visa и MasterCard