SP108E SP105E светодиодный контроллер SPI Bluetooth Wifi pixel IC с помощью приложения

SP108E SP105E светодиодный контроллер SPI Bluetooth Wifi pixel IC с помощью приложения Квадрокоптеры

Добавляем основной код

Наше приложение необходимо вдохнуть в жизнь. (src * ru.amperka.arduinobtled) Откройте файл MainActivity.java. Сначала он содержит следующий код:

MainActivityAutogen.java
packageru.amperka.arduinobtled;
 
importandroid.os.Bundle;importandroid.app.Activity;importandroid.view.Menu;
 
publicclass MainActivity extends Activity {
 
        @Override
	protectedvoid onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);}
 
	@Override
	publicboolean onCreateOptionsMenu(Menu menu){// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);returntrue;}
 
}

Давайте доработаем код под наши нужды:

  1. Включите функцию Bluetooth, если она выключена.
  2. Мы обрабатываем нажатия кнопок
  3. Мы отправляем информацию о том, какая кнопка была нажата.

Один байт плюс двузначное число будут отправлены в Arduino. В первой цифре – номер вывода, к которому подключен светодиод. Во второй цифре – состояние светодиода: 1 – включен, 0 – выключен.

Число-команда, рассчитывается очень просто:
Если нажата красная кнопка, то берется число 60 (для красного светодиода мы выбрали 6-й пин Arduino) и к нему прибавляется 1 или 0 в зависимости от того, должен ли сейчас гореть светодиод или нет. Для зеленой кнопки всё аналогично, только вместо 60 берется 70 (поскольку зеленый светодиод подключен к 7 пину).
В итоге, в нашем случае, возможны 4 команды: 60, 61, 70, 71.

Мы реализуем все вышеописанное в коде.

MainActivity.java
packageru.amperka.arduinobtled;
 
importjava.io.IOException;importjava.io.OutputStream;importjava.lang.reflect.InvocationTargetException;importjava.lang.reflect.Method;
 
importandroid.app.Activity;importandroid.bluetooth.BluetoothAdapter;importandroid.bluetooth.BluetoothDevice;importandroid.bluetooth.BluetoothSocket;importandroid.content.Intent;importandroid.os.Bundle;importandroid.util.Log;importandroid.view.Menu;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Toast;importandroid.widget.ToggleButton;
 
publicclass MainActivity extends Activity implementsView.OnClickListener{
 
    //Экземпляры классов наших кнопок
    ToggleButton redButton;
    ToggleButton greenButton;
 
    //Сокет, с помощью которого мы будем отправлять данные на Arduino
    BluetoothSocket clientSocket;
 
    //Эта функция запускается автоматически при запуске приложения
    @Override
    protectedvoid onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        //"Соединям" вид кнопки в окне приложения с реализацией
        redButton =(ToggleButton) findViewById(R.id.toggleRedLed);
        greenButton =(ToggleButton) findViewById(R.id.toggleGreenLed);
 
        //Добавлем "слушатель нажатий" к кнопке
        redButton.setOnClickListener(this);
        greenButton.setOnClickListener(this);
 
        //Включаем bluetooth. Если он уже включен, то ничего не произойдетString enableBT = BluetoothAdapter.ACTION_REQUEST_ENABLE;
        startActivityForResult(new Intent(enableBT), );
 
        //Мы хотим использовать тот bluetooth-адаптер, который задается по умолчанию
        BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter();
 
        //Пытаемся проделать эти действияtry{//Устройство с данным адресом - наш Bluetooth Bee//Адрес опредеяется следующим образом: установите соединение//между ПК и модулем (пин: 1234), а затем посмотрите в настройках//соединения адрес модуля. Скорее всего он будет аналогичным.
            BluetoothDevice device = bluetooth.getRemoteDevice("00:13:02:01:00:09"); 
 
            //Инициируем соединение с устройствомMethod m = device.getClass().getMethod("createRfcommSocket", newClass[]{int.class});
 
            clientSocket =(BluetoothSocket) m.invoke(device, 1);
            clientSocket.connect();
 
            //В случае появления любых ошибок, выводим в лог сообщение}catch(IOException e){
            Log.d("BLUETOOTH", e.getMessage());}catch(SecurityException e){
            Log.d("BLUETOOTH", e.getMessage());}catch(NoSuchMethodException e){
            Log.d("BLUETOOTH", e.getMessage());}catch(IllegalArgumentException e){
            Log.d("BLUETOOTH", e.getMessage());}catch(IllegalAccessException e){
            Log.d("BLUETOOTH", e.getMessage());}catch(InvocationTargetException e){
            Log.d("BLUETOOTH", e.getMessage());}
 
        //Выводим сообщение об успешном подключении
        Toast.makeText(getApplicationContext(), "CONNECTED", Toast.LENGTH_LONG).show();
 
    }
 
    @Override
    publicboolean onCreateOptionsMenu(Menu menu){// Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);returntrue;}
 
 
    //Как раз эта функция и будет вызываться 
 
    @Override
    publicvoid onClick(View v){
 
        //Пытаемся послать данныеtry{//Получаем выходной поток для передачи данныхOutputStream outStream = clientSocket.getOutputStream();
 
            int value =;
 
            //В зависимости от того, какая кнопка была нажата, //изменяем данные для посылкиif(v == redButton){
                value =(redButton.isChecked()?1:)60;}elseif(v == greenButton){
                value =(greenButton.isChecked()?1:)70;}
 
            //Пишем данные в выходной поток
            outStream.write(value);
 
        }catch(IOException e){//Если есть ошибки, выводим их в лог
            Log.d("BLUETOOTH", e.getMessage());}}}

Sp108e sp105e светодиодный контроллер spi bluetooth wifi pixel ic с помощью приложения

SP105E:
SP105E Магия контроллерBluetooth4,0 DC5-24V 2048 Пиксели для WS2811 2812 2801 6803 IC Светодиодные ленты Поддержка IOS / Android APP

7

SP108E (контроллер беспроводной связи) :

Product Description

Особенности:

Приложение для дистанционного управления, которое можно использовать через интернет;

A P и подключение по локальной сети (STA);

Обеспечивает поддержку практически всех видов однопроводных или двухпроводных светодиодных драйверов;

4 режима яркости, 180 различных узоров и 8 различных цветовых моделей на выбор;

Использование метода от изображения к эффекту для создания пользовательских эффектов творческим способом;

Данная версия программы поддерживает настройку количества пикселей и количества сегментов вплоть до 2048 пикселей;

Источник питания DC5V * 24V, предотвращает обратное подключение;

8) Сохранить пользовательские настройки;

Управление программой:

Доступны версии для IOS и Android. (оборудование должно поддерживать WIFI)

Для этого требуется IOS 10.0 или более поздняя версия;

– Требуется операционная система Android версии 4.4 или более поздней;

Скачайте LedShop из App Store или Google Play, или отсканируйте этот QR-код для установки:

Технические параметры:

Рабочая температура -20 ~ 60 градусов по Цельсию.

Рабочее напряжение: 5 В пост. тока. Ток ~ 24 В;

Операционный ток: 20 мА ~ 130 мА ;

Расстояние от пульта дистанционного управления: 30 метров;

Размеры продукта: 85 мм * 45 мм * 22 мм

Вес изделия: 40 г;

Сертификаты: CE, RoHS;

Режим работы и подключение :

Режим AP (точка доступа): контроллер и телефон соединены напрямую, контроллер действует как точка доступа.

Соедините ступеньки:

1) Если устройство не подключено к сети Wi-Fi, включите контроллер и подождите 20 секунд, затем он перейдет в режим точки доступа;

2. На странице настроек Wi-Fi найдите контроллер (с именем SP108E_xxx, код по умолчанию 12345678), подключитесь к нему и нажмите OK.

Когда вы откроете магазин приложения LED, контроллер будет указан как опция;

Контроллер и телефон находятся в одной сети WIFI, в которой пользователи могут управлять контроллером плавно.

Увязывание этапов:

Если сеть Wi-Fi не подключена к устройству, подайте питание на устройство, контроллер будет находиться в режиме Wait-For-Connet (Ожидание подключения) в течение 20 секунд;

(2) Убедитесь, что ваш смартфон подключен к сети Wi-Fi, затем откройте приложение Store LED, нажмите “Добавить устройство”, введите пароль Wi-Fi, подтвердите свой выбор и дождитесь завершения настройки;

(3) Когда контроллер войдет в сеть WIFI, устройство появится в списке устройств;

4) Можно выбрать контроллер и удалить его из сети, нажав кнопку устройства, после чего контроллер перейдет в режим точки доступа.

В пакет входят:

1x SP108E Bluetooth светодиодный контроллер

1 х 3-контактный JST разъем.

1х маленькая отвертка

1х руководство пользователя

Блок питания, мобильное устройство, контроллер и светодиодная лента в комплект не входят!

HTB12EXngFkoBKNjSZFkq6z4tFXa3

SP108E SP105E светодиодный контроллер SPI Bluetooth Wifi pixel IC с помощью приложения

SP108E SP105E светодиодный контроллер SPI Bluetooth Wifi pixel IC с помощью приложения

SP108E SP105E светодиодный контроллер SPI Bluetooth Wifi pixel IC с помощью приложения

SP108E SP105E светодиодный контроллер SPI Bluetooth Wifi pixel IC с помощью приложения

SP108E SP105E светодиодный контроллер SPI Bluetooth Wifi pixel IC с помощью приложения


Анализ конкурирующих решений

Мой анализ BLE-чипов от самых известных производителей помог мне выбрать один из них. Для ядра ARM меня особенно интересовал состав предлагаемого программного обеспечения, фреймворков и инструментов для компиляции-сборки-отладки.

RTOS MQX

Которые используются при разработке приложения на процессоре основного модуля.

Предоставляет SDK для верстки

nRF51822

Базовая группа

Cortex-M0

. Компилируется в IAR, KEIL, GCC. Стек BLE представлен монолитной библиотекой без исходных кодов под названием

Устройство программного обеспечения

Где реализованы все API: GAP, GATT, L2CA, HCI. Существуют драйверы, построенные вокруг этой библиотеки. Фреймворк включает в себя две RTOS:

от фирмы Keil, и

. Фреймворк использует технологию сериализации

И исправить ошибки

Он включает исходный код для MQTT, COAP, TLS (из проекта MBED), cJSON, lwip (свободный стек протоколов TCP/IPv4/IPv6), интерфейс сокетов, адаптер IPv6. Существует также 6LoWPAN, но исходный код отсутствует.

на ARM делает только 2-х ядерные BLE чипы

CC2640Cortex-M3 и Cortex-M0

), однако соответствующие спецификации

Bluetooth 4.2

SDK можно загрузить

Компилируется в собственной платформе разработки Code Composer Studio, а также в среде IAR. Поставляется с собственной RTOS

И продвинутая структура, основанная на библиотеках стека BLE. SDK включает в себя в качестве одного из сценариев использование внешнего процессора приложений – Simple Application Processor (SAP). Сам чип

CC2640

Называется Simple Network Processor (SNP). Связь между ними осуществляется с помощью протокола, называемого

Смотрите про коптеры:  Создаем Android-приложение для управления домашним роботом через Bluetooth | CUSTOMELECTRONICS.RU

Объединенный интерфейс сетевого процессора

( NPI). CC2640 подразумевает TI-RTOS, процессор SAP подразумевает RTOS. Вместе с SDK предоставляются исходные файлы протокола NPI для стороны SAP и стороны SNP. Это технология

SimpleLink

Помимо собственно стека BLE, доступны три отдельные библиотеки, не требующие исходного кода: хост, контроллер и HCI. Эти три библиотеки совместимы только с процессором Cortex-M3, установленным на чипе CC2640. Помимо изучения TI-RTOS, пользователи должны изучить специальный протокол для связи со стеком Bluetooth, известный как iCall.

производит Bluetooth LE чипы

ATBTLC1000

В сердце.

Cortex-M0

. Все стеки записаны в ПЗУ. С сайта компании Atmel невозможно загрузить бесплатные средства разработки для этих микросхем. В качестве альтернативы компания Atmel рекомендует использовать внешний микроконтроллер для взаимодействия с ATBTLC1000. Atmel Software Framework включает в себя программное обеспечение для внешнего микроконтроллера и примеры. Скомпилировано в

Atmel Studio

(Оболочка для GCC) или в IAR.

производит семейства программируемых BLE чипов на ядре

Cortex-M0

Поддержка спецификаций

Bluetooth 4.2

. Проекты чипов создаются в специальной IDE

. В отличие от большинства других производителей, Cypress не предлагает готовых конфигураций периферии (UART, SPI, I2S, PWM и т.д.). Если для ее создания требуются программные библиотеки (в отличие от библиотечных элементов), она должна быть создана в схемном редакторе также с использованием программных библиотек. Таким образом, можно обеспечить некоторую гибкость. Несмотря на то, что это добавляет разработчику довольно много работы.

Сконфигурированный проект может компилироваться одним из тулчейнов: GCC, IAR, Keil. BLE там одна из библиотек. BLE стек поставляется в виде прекомпилированной монолитной библиотеки без исходных текстов совмещающей BLE хост, BLE контроллер и HCI. Однако фирма выложила исходники приложений для Android и iOS работающих с BLE.

производит

на ядре ARM

Cortex-M4

Работа с техническими условиями

Bluetooth 4.2

Флис Сом.

Может обеспечить выходную мощность до

19.5 dBm

И объединяют отдельный радиоканал на частоте 868 МГц с мощностью до 20 дБм и чувствительностью -121,4 дБм. Чипы Silicon Labs имеют огромный выбор альтернативных функций выводов и систему под названием

Peripheral Reflex System

(PRS). Хотя периферийные устройства нельзя создавать, как в чипах Cypress, их можно подключать к выводам практически любым способом, а PRS позволяет периферийным устройствам общаться друг с другом без участия процессора. Стек BLE от Silicon Labs может принимать результаты генерации профиля

Которые будут рассмотрены ниже. Компания предлагает два стека Bluetooth. Один из них предназначен для модулей Bluegiga и поддерживает обычный Bluetooth в дополнение к BLE. Второй стек соответствует только спецификации 4.2 и LE. Стек BLE поставляется в виде монолитной прекомпилированной библиотеки без исходного кода.

Исследование упрощения V4

. Сопутствующий фреймворк не может быть использован с RTOS. Исходный код Simplicity Studio содержит такие жемчужины, как Speex со скоростью 8 кбит/с, подходящий для передачи голоса по BLE, и сложный оконный GUI от Segger.

Производит чипы сетевых контроллеров

BlueNRG

На базовом уровне.

Cortex-M0

Которая содержит стек BLE, соответствующий спецификации.

Bluetooth 4.1

Эти чипы нельзя программировать, вместо этого они общаются через последовательный командный интерфейс (ACI), через который ими управляет внешний микроконтроллер. Компания ST разработала собственную среду разработки под названием STM32Cube для ACI.

не делает BLE чипы на ARM Cortex, но заинтересовала своей реализацией

MESH сети на Bluetooth

модулях. Видео

. Выкладываются исходники различных BLE приложений для Android и iOS. Есть SDK.

делает BLE чипы на своём 16-и битном ядре

RL78

. Стек BLE выдается только премиум-пользователям. Там все свое – компилятор, RTOS, хост-микроконтроллер. Но есть плагин для

Предлагают, утверждают они,

самые маленькие BLE чипы

. Но чипы с флэш-памятью

(остальные только с ПЗУ) нельзя назвать самыми маленькими – 5х5 мм. Панель управления

Cortex-M0

. Максимальная мощность

0 dBm

. Технические характеристики поддержки

Возможность подключения Bluetooth 4.1

Чтобы получить SDK, необходимо зарегистрироваться и пройти тестирование в компании. В результате таких параметров чипа я так и не попытался получить SDK.

Как видите, MQTT, COAP, TLS, SPEEX, LwIP и т.д. – все исходники. включенные в различные SDK, нас мало интересуют, их можно свободно найти на Github без привязки к конкретным фреймворкам. Поддержка Bluetooth 4.2 мало что дает, поскольку на данный момент ее нельзя использовать на ПК.

Наша цель – избежать проприетарных RTOS, таких как TI-RTOS, и специальных планировщиков, которые трудно изучать.

Я был рад выбрать решение Kinetis.

Комплект умного дома – протокол связи bluetooth

Все, кто пытался сделать свой дом умным, сталкивались с определенными трудностями. Кого-то смущала цена на умное оборудование, а кто-то не был готов к особенностям создания системы. Сегодня все стало проще и доступнее, чем когда-либо прежде. Все домовладельцы смогут добавить в свои дома “умные” функции благодаря новым технологиям.

logo bluetooth 2 200

Bluetooth используется все большим числом производителей “умных домов”. Этот стандарт не менее надежен, чем Z-Wave или ZigBee. Bluetooth – это та же технология, которую мы используем для сопряжения наших мобильных телефонов и гарнитур.

Благодаря обновленному протоколу подключение интеллектуальных приборов стало проще и доступнее. Поскольку каждый смартфон или ноутбук содержит модуль Bluetooth, устройства Bluetooth стали проще в использовании.

Bluetooth Smart – так называется новая технология. Его преимущество – низкое энергопотребление, что очень полезно для умных дверных замков и выключателей, которые не имеют постоянного доступа к розетке.

История

Данные передаются по беспроводной связи через Bluetooth. Эта технология позволяет нескольким устройствам обмениваться информацией, например, ноутбуку и телефону. Помимо этих гаджетов, данный протокол связи поддерживается многими принтерами, гарнитурами, мышами и клавиатурами. Bluetooth передает данные по надежной радиочастоте.

Благодаря этой технологии устройства могут быть связаны в радиусе до 100 метров. Дальность связи варьируется в широких пределах в зависимости от препятствий.

Сеть Bluetooth была задумана в Швеции в 1994 году. Памятный камень Харальду Блютусу был установлен известной компанией Ericsson. На памятнике даже было указано, что великий человек дал свое имя новой технологии.

В 1998 году эта же компания объединилась с Nokia, Intel, IBM и Toshiba для разработки нового протокола передачи данных, который мы теперь называем Bluetooth. В мае того же года была создана специальная группа SIG, которой было поручено разрабатывать новые продукты для новой технологии. Компания могла присоединиться к группе по своему желанию. Сегодня членами SIG являются более 3 000 человек, в том числе многие из тех, кто вступил в группу в момент ее основания.

Новая версия протокола Bluetooth – Bluetooth 1.0 – была выпущена в июле 1999 года. Она сразу же была внедрена в различные гаджеты. Дальнейшие усилия были направлены на повышение надежности и скорости передачи информации, а также на снижение энергопотребления. В настоящее время уже используется спецификация Bluetooth 5.0, но пока более широкое распространение получила спецификация Bluetooth 4.0.

Как это работает

Комплект “умного дома” использует технологию Bluetooth аналогично ZigBee и Z-Wave. Поскольку этот протокол связи сам по себе является маломощным, его радиус действия также ограничен. Практически любой датчик, например, датчик разбития стекла, может быть подключен к другому датчику через Bluetooth, если устройство уже имеет два интерфейса передачи данных: Wi-Fi и Bluetooth или Bluetooth и ZigBee. Затем сигнал передается по Wi-Fi дальше – либо непосредственно на смартфон, либо в облако.

Сообщения передаются между такими гаджетами до тех пор, пока их не получит получатель (шлюз или активное устройство). Вы можете захотеть изменить температуру в комнате, потому что она стала слишком низкой. Сигнал со смартфона может не дойти до кондиционера в другой комнате, если он находится в этой комнате. Таким образом, команда может обойти несколько устройств, пока не достигнет кондиционера. Эта функция позволяет всем умным гаджетам быть постоянно подключенными к одной сети и быстрее обмениваться данными.

Каждое устройство Bluetooth имеет уникальный чип. Радиус действия современных гаджетов достигает 100 метров. Радиотехнология Bluetooth также отличается устойчивым соединением “через стену”. Поэтому, даже если разные устройства находятся в разных комнатах, они могут общаться друг с другом. Гаджеты не нужно настраивать или подключать к системе. Устройства Bluetooth автоматически подключаются к другим устройствам в радиусе действия, как только они оказываются в зоне действия. Один гаджет может использоваться со многими другими (по принципу “одна точка – много точек”).

Смотрите про коптеры:  Квадрокоптер своими руками: как собрать дрон для человека, мини из бумаги, подручных материалов, схема для начинающих, чертежи, что нужно для сборки

В настоящее время чипы Bluetooth миниатюрны, их размер составляет менее 1 сантиметра. Потребляемая мощность может быть снижена до 1 мВт благодаря частоте, на которой работает технология.

Умные устройства BlueTooth

Устройства Bluetooth делятся на две категории: подключенные гаджеты и шлюзы Bluetooth. В системе Xiaomi у вас всегда есть возможность просмотреть список устройств, которые могут быть шлюзами, через приложение Mi Home.

Он появится в списке, если у вас уже есть необходимые устройства. Шлюз будет рекомендован, если у вас его еще нет. Вы увидите список всех устройств, которые можно подключить к шлюзу Bluetooth, когда вы его введете.

С появлением на рынке Bluetooth-устройств сегодня рынок “умных” устройств постепенно пополняется. Xiaomi также предлагает подходящие гаджеты. Среди них:

Беспроводный выключатель Yeelight Bluetooth Wireless Switch

Интеллектуальный выключатель позволяет избежать хлопот, связанных с прокладкой проводов. Устанавливать устройство на двустороннюю клейкую ленту удобно в любом удобном месте. Такие выключатели работают с любым “умным” светильником.

Обычные выключатели полагаются на прерывание электрической цепи, в то время как Yeelight работает через Bluetooth. Это позволяет подключенному светильнику всегда находиться в режиме онлайн. Вы также можете управлять им с помощью голосовых команд.

Внутри интеллектуального выключателя находится небольшой аккумулятор. Благодаря низкому энергопотреблению устройство может проработать до двух лет при стабильном ежедневном использовании. Размеры устройства составляют 86x86x25 мм.

Беспроводной переключатель Yeelight Bluetooth поддерживает Bluetooth версии 4.2.

Mijia прикроватная лампа

Mijia подарит вам мягкий и приятный свет. Благодаря 16 миллионам вариантов цветов или автоматической смене цвета вы сможете создать уникальную и индивидуальную атмосферу в своей спальне. Он дает вам возможность самостоятельно регулировать яркость и температуру света.

Умная лампа Mijia оснащена чипом, поддерживающим Bluetooth и Wi-Fi. Это позволяет устройству быстро и удобно подключаться к системе. Пользователь также имеет доступ к дистанционному управлению через смартфон.

Добавьте светильник к вашей системе, и вы сможете произносить команды. Кроме того, устройство может регулировать свет в зависимости от температуры в помещении. Размеры устройства составляют 100x100x221 мм.

Технология Bluetooth 4.2 обеспечивает работу прикроватного светильника Mijia.

Контроллер Xiaomi Cube

Один маленький кубик управляет всеми приборами в доме! Сверхчувствительный сенсор позволяет устройству точно распознавать ваши действия и запускать определенные сценарии. Он имеет шесть позиций, с помощью которых вы можете управлять светом, включать телевизор, переключать радиостанции и управлять другими приборами.

Встряхните Xiaomi Cube, и вы сможете переключать радиостанции на шлюзе. Чтобы изменить яркость лампы, слегка подвигайте контроллер. Чтобы включить или выключить телевизор, дважды коснитесь устройством любой поверхности. Поверните куб на 90°, и в вашем доме заработает очиститель воздуха.

Каждое действие также можно настроить. Контроллер имеет небольшие размеры 45x45x45 мм. Встроенной перезаряжаемой батареи хватает на 2 года стабильной работы.

Контроллер Xiaomi Cube поддерживает версию Bluetooth 4.1.

Детские светильники Xiaomi Philips EyeCare Smart LED динозавры для потолка

Это милая детская игрушка, которая также представляет собой интеллектуальный дизайн, защищающий глаза ваших детей. Устройство отлично подходит для использования во время работы, учебы и сна. Размер лампы составляет 320x320x73 мм.

С лампой Xiaomi вы получите яркий свет, а благодаря рассеивающей пластине – никакого переутомления или ухудшения зрения. С устройством комната будет наполнена мягким, ровным светом без мерцания.

Умный светильник оснащен 240 светодиодами с высоким индексом цветопередачи, которые обеспечивают естественное освещение. Светильник также имеет режим лунного света, который поможет вам заснуть. Свет становится более мягким, а яркость снижается до 0,1 люмена.

Умный светодиодный потолочный светильник Xiaomi Philips EyeCare поддерживает Bluetooth 4.2.

Что в итоге?

Соответственно, Bluetooth более выгоден, чем такие беспроводные технологии, как Z-Wave и ZigBee. В ближайшем будущем этот протокол может даже полностью заменить их. Почти каждый смартфон и ноутбук оснащен Bluetooth, в то время как Z-Wave и ZigBee используются только в устройствах для умного дома.

Скорее всего, пользователи смогут управлять всей системой “умного дома” с помощью своих смартфонов без необходимости в мостах. В отличие от ZigBee и Zwave, Bluetooth кажется довольно близким к потенциалу такого подхода. По сравнению с другими беспроводными технологиями, этот протокол вполне способен вытеснить другие и завоевать сердца пользователей своими относительно низкими ценами и простотой использования.

Как я могу получить интеллектуальное устройство BlueTooth?

Магазин на сайте www.radiocopter.ru продает такие устройства со скидкой, консультацией, гарантией и бесплатной доставкой.

Метод loop() и дополнительные функции

По мере многократного повторения метода loop() происходит считывание данных. Сначала рассматривается основной алгоритм, а затем соответствующие функции.


void loop() {
  //если хоть несчитанные байты
  if(BTSerial.available() > 0) {
     //считываем последний несчитанный байт
     char a = BTSerial.read();
     
    if (a == '@') {
      //если он равен @ (случайно выбранный мною символ)
      //обнуляем переменную val
      val = "";
      //указываем, что сейчас считаем скорость
      readSpeed = true;

    } else if (readSpeed) {
      //если пора считывать скорость и байт не равен решетке
      //добавляем байт к val
      if(a == '#') {
        //если байт равен решетке, данные о скорости кончились
        //выводим в монитор порта для отладки
        Serial.println(val);
        //указываем, что скорость больше не считываем
        readSpeed = false;
        //передаем полученную скорость в функцию езды 
        go(val.toInt());
        //обнуляем val
        val = "";
        //выходим из цикла, чтобы считать следующий байт
        return;
      }
      val =a;
    } else if (a == '*') {
      //начинаем считывать угол поворота
      readAngle = true; 
    } else if (readAngle) {
      //если решетка, то заканчиваем считывать угол
      //пока не решетка, добавляем значение к val
      if(a == '#') {
       Serial.println(val);
       Serial.println("-----");
        readAngle = false;
        //передаем значение в функцию поворота
        turn(val.toInt());
        val= "";
        return;
      }
      val =a;
    }
    //получаем время последнего приема данных
    lastTakeInformation = millis();
  } else {
     //если несчитанных байтов нет, и их не было больше 150 миллисекунд 
     //глушим двигатели
     if(millis() - lastTakeInformation > 150) {
     lastTakeInformation = 0;
     analogWrite(angleSpeed, 0);
     analogWrite(speedRight, 0);
     analogWrite(speedLeft, 0);
     }
     
  }
}

В результате мы получаем байты в формате “@скорость#угол#” (например, #200#60#). Каждые 100 миллисекунд этот цикл повторяется, потому что именно такой интервал мы установили для Android для отправки команд. Если сократить этот интервал, колеса начнут двигаться рывками, а если сделать его длиннее, начнет формироваться очередь.

Вы увидите, что все задержки с помощью команды delay() были рассчитаны не физически, а опытным путем. Все задержки позволяют машине работать плавно (токи успевают протекать), потому что все команды успевают сработать.

В контуре задействованы две боковые функции, они принимают полученные данные и поворачивают машину.

void go(int mySpeed) {
  //если скорость больше 0
  if(mySpeed > 0) {
  //едем вперед
  digitalWrite(dirRight, HIGH);
  analogWrite(speedRight, mySpeed);
  digitalWrite(dirLeft, HIGH);
  analogWrite(speedLeft, mySpeed);
  } else {
    //а если меньше 0, то назад
    digitalWrite(dirRight, LOW);
    analogWrite(speedRight, abs(mySpeed)   30);
    digitalWrite(dirLeft, LOW);
     analogWrite(speedLeft, abs(mySpeed)   30);
  }
  delay(10);
 
}

void turn(int angle) {
  //подаем ток на плюс определителя угла
  digitalWrite(pinAngleStop, HIGH);
  //даем задержку, чтобы ток успел установиться
  delay(5);
  
  //если угол 150 и больше, поворачиваем вправо 
  //если 30 и меньше, то влево 
  //промежуток от 31 до 149 оставляем для движения прямо
  if(angle > 149) {
        //если замкнут белый, но разомкнуты  черный и красный
        //значит достигнуто крайнее положение, дальше крутить нельзя
        //выходим из функции через return 
        if( digitalRead(pinWhite) == HIGH && digitalRead(pinBlack) == LOW && digitalRead(pinRed) == LOW) {
          return;
        }
        //если проверка на максимальный угол пройдена
        //крутим колеса
        digitalWrite(angleDirection, HIGH);
        analogWrite(angleSpeed, speedTurn);
  } else if (angle < 31) { 
        if(digitalRead(pinRed) == HIGH && digitalRead(pinBlack) == HIGH && digitalRead(pinWhite) == HIGH) {
          return;
        }
        digitalWrite(angleDirection, LOW);
        analogWrite(angleSpeed, speedTurn);
  }
  //убираем питание 
  digitalWrite(pinAngleStop, LOW);
  delay(5);
}

Когда андроид отправляет данные о том, что пользователь нажал либо 60, либо 90, либо 120 углов, вы не должны поворачивать, иначе вы не сможете ехать прямо. Возможно, не стоило бы сразу посылать команду поворота с андроида, если угол слишком мал, но мне кажется, что это несколько муторно.

Разработка android-контроллера для управления rgb светодиодной лентой. часть 1

Журнал “R ADIOLOTSMAN”, 20 января 2022 года

Вадим Колесник, г. Тирасполь

Android Bluetooth RGB контроллер – простое аппаратное и программное решение для управления светодиодной лентой RGB или светодиодами RGB через устройство Android с поддержкой Bluetooth

Статья носит ознакомительный характер, и в ней я постараюсь максимально подробно описать процесс создания простой системы, с помощью которой можно удаленно управлять RGB светодиодной лентой (или RGB светодиодами) посредством любого Android-устройства с интегрированным Bluetooth-модулем (Рисунок 1). Материал будет полезен не только начинающим радиолюбителям, осваивающим микроконтроллеры, но и профессионалам, интересующимся простым способом реализации беспроводного обмена данными Android-устройств с микроконтроллерными системами.

Смотрите про коптеры:  КИТАЙСКАЯ РАДИОУПРАВЛЯЕМАЯ МАШИНКА

Общее описание, принципиальная схема и состав аппаратуры.

Отличительной особенностью данного проекта является простота аппаратной и программной части системы, которая состоит из Bluetooth-контроллера, портативного устройства на базе Android с установленным приложением (смартфон, планшет), выполняющего роль пульта дистанционного управления, и источника питания 12В/3А (рис. 2). В этой статье мы рассмотрим своего рода демонстрационную версию системы, которая раскрывает основные ключевые моменты аппаратной и программной реализации.

Контроллер Bluetooth представляет собой компактное устройство, состоящее из микроконтроллера (МК) AtmelATmega8, модуля Bluetooth HC-05 [4], силовых N-канальных MOSFET-переключателей, интегральных регуляторов напряжения, светодиодных индикаторов состояния и нескольких пассивных элементов.

Она использует интегрированную среду разработки AVR Studio 4 на языке C для разработки программы микроконтроллера.

M IT App Inventor Beta – удобный, простой в освоении графический редактор, который можно использовать для разработки программных приложений для Android.

Основные характеристики системы:

  • Аппаратная часть (Bluetooth-контроллер): доступный, недорогой и простой в использовании Bluetooth-модуль HC-05; реализация в МК 3 каналов 8-битной ШИМ для управления светодиодами; в качестве силовых ключей используются N-канальные MOSFET в корпусе для поверхностного монтажа; автономная работа – не требуется постоянной связи по Bluetooth с Android-устройством; дальность связи 10-15 м; напряжение питания 12 В; ток потребления Bluetooth-контроллера (без светодиодной ленты): Bluetooth-модуль в режиме поиска: 55… 60 мА; при установленном соединении с устройством Android и без команд: 22 … 27 мА; прием и обработка команд: 38 … 42 мА; два светодиода для индикации режима работы контроллера Bluetooth; возможность 10-битного ШИМ-управления; возможность управления различными световыми эффектами;
  • Доступный, недорогой, простой в использовании модуль HC-05 Bluetooth;
  • Три канала 8-битного ШИМ-управления светодиодами, выполненные на ИС; В качестве силовых ключей используются N-канальные МОП-транзисторы
  • В корпусе для поверхностного монтажа;
  • Автономная работа – не требуется постоянного подключения Bluetooth к устройству Android;
  • Дальность связи 10-15 м;
  • Напряжение питания 12 В;
  • Потребляемый ток контроллера Bluetooth (без светодиодной ленты): Модуль Bluetooth в режиме поиска: 55 . .. 60 мА; при установленном соединении с устройством Android и без команд: 22 … 27 мА; прием и обработка команд: 38 … 42 мА;
  • Модуль Bluetooth в режиме поиска: 55 … 60 мА;
  • При установленном соединении с устройством Android и без команд: 22 …. 27 мА;
  • Прием и обработка команд: 38 …. 42 мА;
  • Два светодиода для индикации режима работы контроллера Bluetooth;
  • Возможность реализации 10-битного ШИМ-управления;
  • Возможность управления различными световыми эффектами;
  • Простое приложение для устройства Android: понятный и высокоинформативный графический интерфейс пользователя; отображение MAC-адреса подключенного Bluetooth-контроллера; возможность ручной установки MAC-адреса; сервисные сообщения в случае ошибки соединения с Bluetooth-контроллером; кнопки для быстрого выбора цвета освещения; возможность ручной установки цветового диапазона; информация о состоянии соединения; возможность увеличения функциональности (требуется обновление программы микроконтроллера).
  • Понятный и достаточно информативный графический интерфейс;
  • Отображается MAC-адрес подключенного Bluetooth-контроллера;
  • MAC-адрес можно задать вручную;
  • Сервисные сообщения об ошибках соединения с Bluetooth-контроллером;
  • Кнопки для быстрого выбора цвета освещения;
  • Настройка цветовой гаммы;
  • Информация о состоянии соединения;
  • Возможность расширения функциональности (потребуется обновление программы микроконтроллера).

И С ATmega128 изначально использовалась автором для разработки и отладки системы на собственной отладочной плате. В дневнике автора на форуме radiocopter.ru [3] можно скачать принципиальную схему. Причина, по которой мы использовали этот подход, заключается в том, что на MCU было много свободных портов, он имел достаточный объем памяти и, самое главное, имел интерфейс отладки микроконтроллера JTAG. При необходимости автор предоставит схему и прошивку.

Принципиальная схема контроллера Bluetooth на микроконтроллере ATmega8 показана на рисунке 3; список электронных компонентов приведен в таблице 1. Для разработки схемы и печатной платы использовалась программа Proteus 7.7 SP2. Благодаря минимальному количеству компонентов схему можно собрать на макетной плате или навесным монтажом.

Таблица 1.
Список использованных компонентов
Обозначение
в схеме
НоминалПримечание
R1, R268 ОмКорпус SMD 1206
R3, R4, R510 кОмКорпус SMD 1206
R6, R7, R8,
R9, R10
220 ОмКорпус SMD 1206
С11000 мкФ 16 В 
С20.47 мкФ 
С3, C4, C5100 мкФ 10 ВКорпус SMD
U1LM7805Возможно применение
LM78L05
U2UTC1117Y33Или аналог
в корпусе SOT223-3
DD1ATmega8Корпус PDIP28
Q1-Q3APM3055LИли аналог
в корпусе TO-252 
D1, D2светодиод (3 мм) 
X1кварцевый резонатор
11.0592 МГц
Опционально

Bluetooth-модуль HC-05 взаимодействует с микроконтроллером ATmega8 (порты PD0/RXD и PD1/RXD) через интерфейс UART. Два светодиодных индикатора D1 и D2 показывают текущий режим работы модуля Bluetooth (поиск, соединение и AT-команды).

Стоит отметить, что существует несколько вариантов Bluetooth-модулей, отличающихся дизайном (рис. 4) и встроенным ПО. Чаще всего встречаются модули, установленные на плате адаптера с собственным стабилизатором напряжения, светодиодами состояния и выводами для подключения к MCU. В авторском варианте схемы и печатной платы используется Bluetooth-модуль без платы адаптера, который подключается к основной плате Bluetooth-контроллера гибким шнуром (рис. 5). Другими словами, это решение потребует установки микросхемы регулятора напряжения 3,3 В, светодиодов состояния и разъема для подключения к MCU.

На схеме участок с регулятором напряжения 3,3 В на микросхеме серии UTC1117Y33 (или аналогичной, например CYT8117T33) помечен как “опциональный” именно из-за этих конструктивных особенностей модулей Bluetooth. При использовании модуля с переходной платой указанный участок исключается из схемы, изменяется расположение соединительного разъема и, соответственно, немного модифицируется печатная плата [2]. Как показано на рисунке 6, гибкий кабель, используемый для подключения модуля Bluetooth к разъему на печатной плате, был проложен.

Несмотря на питание 3,3 В, входы/выходы модуля Bluetooth совместимы с 5 В и могут подключаться к МК с напряжением питания 5 В без преобразования логических уровней.

Микросхема регулятора 5 В серии LM7805 питает МК, наряду с предварительным понижающим регулятором напряжения для микросхемы регулятора 3,3 В (максимальное входное напряжение не должно превышать 9 В). Хотя можно использовать микросхемы серии LM78L05, они имеют низкое потребление тока, поскольку МК и модуль Bluetooth не используют более 65 мА в совокупности. Ее максимальный выходной ток составляет 100 мА. Во время тестирования микросхема регулятора немного нагревалась, когда модуль Bluetooth находился в режиме поиска.

После программной инициализации периферии МК выходы 8-разрядных аппаратных блоков ШИМ назначаются на порты PB1 (OC1A), PB2 (OC1B), PB3 (OC2), к которым подключаются силовые N-канальные МОП-транзисторы APM3055L с соответствующими резисторами в затворе и между истоком и затвором. При использовании 5-метровой светодиодной ленты RGB (5050 светодиодов) силовые переключатели не нагреваются. В корпусах для поверхностного монтажа также можно разместить любой MOSFET с высокой мощностью, включая транзисторы серии K3918. Согласно рисунку 9, автор использовал указанные силовые переключатели (два K3918 и один APM3055L), и никаких различий в настройках цвета или яркости нет.

МК синхронизируется с помощью внутреннего генератора на 8 МГц, но на схеме показан дополнительный кристаллический резонатор на 11,0592 МГц. Кристаллический резонатор повысит надежность связи UART. Тестирование системы с тактовой частотой МК 8 МГц и скоростью UART 9600 бит/с показало, что связь вполне надежна и никаких неисправностей обнаружено не было.

Также на схеме изображена перемычка (джампер) J1, предназначеная для перевода Bluetooth-модуля в режим AT команд с целью его конфигурирования и определения текущих параметров.

Печатные платы все односторонние (рис. 7, 8). Поскольку в авторских вариантах схем не предусмотрен разъем для внутрисхемного программирования, микроконтроллер установлен в гнездо DIP, поэтому для программирования его можно извлечь.

На рис. 9 показана готовая плата со стороны монтажа smd-компонентов. Как видно, печатная плата была изготовлена в домашних условиях по технологии LUT без лужения печатных проводников.

Ссылки

  1. Блок-схемы и чертежи печатной платы для варианта модуля Bluetooth без переходной платы (Proteus 7.7 SP2) – скачать
  2. Блок-схема и печатная плата для варианта модуля Bluetooth с переходной платой (Proteus 7.7 SP2) – скачать
  3. Документация и утилита настройки модуля HC-05 – скачать
  4. Отладочная плата для микроконтроллера ATmega128
  5. Калькулятор бит предохранителей для микроконтроллера AVR

Последующие действия:

Оцените статью
Радиокоптер.ру
Добавить комментарий

Adblock
detector