Предлагаем простой урок для начинающих и чайников о том как с помощью Arduino через Bluetooth управлять смартфоном.
Когда-нибудь задумывались о том, чтобы управлять любыми электронными устройствами с помощью смартфона? Согласитесь, управлять роботом или любыми другими устройствами с вашего смартфона было бы очень круто. Если вам после этого урока захочется познакомиться с Arduino поближе - вы можете найти книги о нём здесь.
Шаг 1. Что нам необходимо
Устройства
- Модуль - Bluetooth Module HC 05/06
- Плата - Arduino
- Светодиод (LED)
- Резистор - 220Ω
- Android-устройство
Программное обеспечение
- Arduino IDE
- Android Studio (на самом деле не нужно, т.к. приложение для Андроида вы найдете ниже).
Шаг 2. Как это работает
Обычно мы делаем этот шаг в конце, но, чтобы вы понимали к чему мы должны прийти - посмотрите на результат на этом промежуточном шаге. Также ниже мы опубликовали видео урока по шагам.
Шаг 3. Начинаем собирать схему
Цепь в нашем уроке настолько проста и мала, что нам нужно сделать всего несколько соединений:
- Arduino Pins <-> Bluetooth Module Pins
- RX (Pin 0) <-> TX
- TX (Pin 1) <-> RX
- 5V <-> VCC
- GND <-> GND
Подключите минус светодиода к GND на Arduino, а плюс к контакту 13 через сопротивление 220 Ом - 1 кОм. В целом, на нашем рисунке ниже всё довольно наглядно.
Шаг 4. Загрузка программы в Arduino
Теперь нам нужно написать программу и загрузить её в наш Arduino. Если вы этого пока еще не умеете делать - скачайте книги здесь. Код ниже именно то, что нам нужно загрузить в Ардуино.
/* Bluetooh Basic: LED ON OFF * Coder - Mayoogh Girish * Website - https://bit.do/Avishkar * Download the App : https://github.com/Mayoogh/Arduino-Bluetooth-Basic * This program lets you to control a LED on pin 13 of arduino using a bluetooth module */ char data = 0; //Variable for storing received data void setup() { Serial.begin(9600); //Sets the baud for serial data transmission pinMode(13, OUTPUT); //Sets digital pin 13 as output pin } void loop() { if(Serial.available() > 0) // Send data only when you receive data: { data = Serial.read(); //Read the incoming data and store it into variable data Serial.print(data); //Print Value inside data in Serial monitor Serial.print("\n"); //New line if(data == '1') // Checks whether value of data is equal to 1 digitalWrite(13, HIGH); //If value is 1 then LED turns ON else if(data == '0') // Checks whether value of data is equal to 0 digitalWrite(13, LOW); //If value is 0 then LED turns OFF } }
Шаг 5. Как происходит процесс
Модуль HC 05/06 работает по последовательному каналу связи. Андроид-приложение последовательно отправляет данные на модуль Bluetooth, когда вы нажимаете определенную клавишу. Bluetooth на другом конце получает данные и отправить на Arduino через TX-соединение модуля Bluetooth (RX-соединение Arduino) .
Код загруженный в Arduino проверяет полученные данные и сравнивает их. Если получена "1" - светодиод включается и выключается при получении "0". Откройте монитор последовательного порта и наблюдайте полученные данные.
Шаг 6. Приложение для Андроид-устройств
В этом уроке мы не будем касаться создания приложений для устройств на основе Андроида. Вы можете скачать приложение на GitHub.
Как использовать приложение?
После того как мы подключились через Bluetooth - нам нужно скачать и установить приложение, которое при помощи смартфона 🙂 будет управлять нашим светодиодом на расстоянии. Скачать приложение вы можете бесплатно на сайте Амазон.ком. Подсоединяем смартфон к модулю Bluetooth HC 05/06:
- Включите модуль HC 05/0
- Ищем устройство
- Соединяемся с HC 05/06 введя дефолтный пароль "1234" или "0000" (четыре нуля).
После этого мы устанавливаем приложение на наш смартфон. Открываем его. Выбираем устройство - выбираем модуль Bluetooth из списка (HC 05/06). После успешного подключения нажмите кнопку ON для включения светодиода и кнопку OFF, чтобы выключить светодиод. Потом уже можно нажать кнопку "Отключить", чтобы отключиться от модуля Bluetooth.
Это было руководство для чайников и начинающих по подключению модуля Bluetooth с Arduino. Этот проект можно улучшить и поднять на более высокий уровень для, например, автоматизация дома через управление смартфоном, управляемый робот и многое другое.