» Електроника » Ардуино »Апликација са контролном плочом са шест тастера Мицрософт Соундсцапе

Управљачка плоча апликације Мицрософт Соундсцапе са шест тастера




Управљачка плоча апликације Мицрософт Соундсцапе са шест тастера


Кориштење Мицрософтове апликације Соундсцапе (из неког разлога доступне само за иОС оперативни систем) која слепима омогућава кретање у простору и откривање онога што је око њих, коришћењем гласовних упута, биће још погодније ако направите спољни даљински управљач са шест тастера који су предложила три аутора Инструцтаблес - Јазз Анг, Ана Лиу и Венкатесх Потлури.

Строго гледано, Соундсцапе није развој саме корпорације Мицрософт, већ њена подјела названа Мицрософт Ресеарцх, која се бави експериментима и истраживањима у широком распону области. Верује се да је и унутрашња атмосфера потпуно другачија него у остатку корпорације.

Тастери на даљинском управљачу:

1 - покретање / заустављање репродукције аудио или видео датотеке, а када се апликација Соундсдапе покреће и ради у позадини, она такође укључује и искључује гласовна обавештења из овог програма.

2 - звук пуног укључивања / искључивања, аналогни тастер Искључи звук на даљинском управљачу телевизора.

3 - пређите на следећу нумеру у аудио или видео плејеру, а у програму Соундсцапе - пређите на следеће гласовно обавештење.

4 - пређите на претходни запис или гласовно обавештење.

5 - дуплира почетно дугме.

6 - управљање режимом „виртуелног контролера“ иОС оперативног система (омогућава вам коришћење спољних даљинских управљача као што је описано).

Као што се види из дијаграма домаће, састављени у програму Фритзинг, тастери од којих је сваки допуњен 10 кОхм отпорним повезивањем, повезани су на терминале 11, 7, 15, 16, 27 и 25 прилично скупе плоче Адафруит Феатхер нРФ52 Блуефруит ЛЕ, која је компатибилна са Ардуино ИДЕ и садржи Блуетоотх модул. Када користите уређај, ову плочу напаја стандардни Мицро УСБ кабл из банке за напајање, а код програмирања - са рачунара. Имајте на уму да се многе банке напајања аутоматски искључују када је тренутна потрошња прениска, а праг искључивања зависи од модела.



Саставивши дизајн према шеми, чаробњаци конфигуришу Ардуино ИДЕ за рад са овом плочом, као што је приказано на следећа два снимка заслона:




Након што су све конфигурисали, мајстори испуњавају скицу у плочу:

#инцлуде <блуефруит.х>

#дефине ЦОНТРОЛ_ПЛАИ_ПАУСЕ 0к00ЦД
#дефине ЦОНТРОЛ_СЦАН_НЕКСТ 0к00Б5
#дефине ЦОНТРОЛ_СЦАН_ПРЕВИОУС 0к00Б6
#дефине ЦОНТРОЛ_МУТЕ 0к00Е2
#дефине АЦ_ФОРВАРД 0к0225
#дефине АЦ_БАЦК 0к0224
#дефине ЦОНСУМЕР_БРОВСЕР_ХОМЕ 0к0223

БЛЕДис бледис;
БЛЕХидАдафруит блехид;

боол хасКеиПресс = лажно;
// повежите игле на плочи
инт плаипаусеБуттонПин = 11;
инт мутеБуттонПин = 7;
инт нектБуттонПин = 15;
инт бацкБуттонПин = 16;
инт хомеБуттонПин = 27;
инт свитцхЦонтролБуттонПин = 25;

подешавање празнине ()
{
  пинМоде (плаипаусеБуттонПин, ИНПУТ);
  пинМоде (мутеБуттонПин, ИНПУТ);
  пинМоде (нектБуттонПин, ИНПУТ);
  пинМоде (бацкБуттонПин, ИНПУТ);
  пинМоде (хомеБуттонПин, ИНПУТ);
  пинМоде (свитцхЦонтролБуттонПин, ИНПУТ);
  
  Сериал.бегин (115200);
  док (! серијска) кашњења (10); // за нрф52840 са нативе усб

  Блуефруит.бегин ();
  Блуефруит.сетТкПовер (4); // Провјерите блуефруит.х на подржане вриједности
  Блуефруит.сетНаме ("ТЕСТАрроундМеБлуефруит52");

  // Конфигуришите и покрените сервис за информације о уређају
  бледис.сетМануфацтурер ("Адафруит Индустриес");
  бледис.сетМодел ("Блуефруит Пеатхер 52");
  бледис.бегин ();

  / * Покрените БЛЕ ХИД
   * Напомена: Аппле захтева да БЛЕ уређај мора имати минималан интервал повезивања> = 20м
   * (Што је интервал интерних веза мањи, то ћемо брже моћи да пошаљемо податке).
   * Међутим, за ХИД и МИДИ уређаје, Аппле би могао прихватити минималан интервал конекције
   * до 11,25 мс. Због тога ће БЛЕХидАдафруит :: бегин () покушати да постави мин и мак
   * интервал повезивања до 11,25 мс односно 15 мс за најбоље перформансе.
   * /
  блехид.бегин ();

  / * Подесите интервал повезивања (мин, мак) на жељену вредност.
   * Напомена: БЛЕХидАдафруит :: већ је постављен на: 11,25мс - 15мс
   * мин = 9 * 1,25 = 11,25 мс, мак = 12 * 1,25 = 15 мс
   * /
  / * Блуефруит.Перипх.сетЦоннИнтервал (9, 12); * /

  // Подесите и започните оглашавање
  стартАдв ();
}

воид стартАдв (воид)
{
  // Рекламни пакет
  Блуефруит.Адвертисинг.аддФлагс (БЛЕ_ГАП_АДВ_ФЛАГС_ЛЕ_ОНЛИ_ГЕНЕРАЛ_ДИСЦ_МОДЕ);
  Блуефруит.Адвертисинг.аддТкПовер ();
  Блуефруит.Адвертисинг.аддАппеаранце (БЛЕ_АППЕАРАНЦЕ_ХИД_КЕИБОАРД);
  
  // Укључите БЛЕ ХИД услугу
  Блуефруит.Адвертисинг.аддСервице (блехид);

  // У рекламном пакету има довољно места за дев име
  Блуефруит.Адвертисинг.аддНаме ();
  
  / * Покрените оглашавање
   * - Омогућите аутоматско оглашавање ако нисте повезани
   * - Интервал: брзи режим = 20 мс, спор режим = 152.5 мс
   * - Истек времена за брзи режим је 30 секунди
   * - Старт (тимеоут) са тимеоут = 0 ће се заувек оглашавати (док не буде повезан)
   *
   * За препоручени интервал оглашавања
   * хттпс://девелопер.аппле.цом/либрари/цонтент/ка/ка1931/_индек.хтмл
   * /
  Блуефруит.Адвертисинг.рестартОнДисцоннецт (труе);
  Блуефруит.Адвертисинг.сетИнтервал (32, 244); // у јединици од 0.625 мс
  Блуефруит.Адвертисинг.сетФастТимеоут (30); // број секунди у брзом режиму
  Блуефруит.Адвертисинг.старт (0); // 0 = Не заустављајте оглашавање након н секунди
}

// помоћу ове функције за контролу телефона
воид сендЦомманд (наредба уинт16_т) {
  // Проверите да ли смо повезани и повезани / упарени
  фор (уинт16_т цонн_хдл = 0; цонн_хдл <БЛЕ_МАКС_ЦОННЕЦТИОН; цонн_хдл ++)
  {
    БЛЕЦоннецтион * веза = Блуефруит.Цоннецтион (цонн_хдл);

    иф (веза & веза -> повезана () && веза-> упарена ())
    {
      // Укључите црвени ЛЕД када почнемо са слањем података
      дигиталВрите (ЛЕД_РЕД, 1);
      Сериал.принтлн ("Слање наредбе ...");

      // Пошаљи тастер
      блехид.цонсумерКеиПресс (цонн_хдл, команда);

      // Одгодите мало између извештаја
      кашњење (10);

      // Пошаљите издање кључа
      блехид.цонсумерКеиРелеасе (цонн_хдл);

      // Искључите црвени ЛЕД
      дигиталВрите (ЛЕД_РЕД, 0);
      Сериал.принтлн ("Команда је послата!");
    }
  }

  кашњење (250);
}

// помоћу ове функције за конфигурирање с управљачким склопкама
воид сендСвитцхЦонтрол (Стринг наредба) {
  фор (инт и = 0; и <цомманд.ленгтх (); и ++) {
    блехид.кеиПресс (цомманд.цхарАт (и));
    Сериал.врите (цомманд.цхарАт (и));
    кашњење (5);
  }
  кашњење (250); // избегавајте слање исте наредбе поново и поново
}

воид петља ()
{
  // дугме за репродукцију или паузирање играча
  иф (дигитално читање (плаипаусеБуттонПин) == ХИГХ) {
    сендЦомманд (ЦОНТРОЛ_ПЛАИ_ПАУСЕ);
  }

  // дугме за искључивање телефона
  иф (дигитално читање (мутеБуттонПин) == ХИГХ) {
    сендЦомманд (ЦОНТРОЛ_МУТЕ);
  }

  // дугме за репродукцију следећег медија
  иф (дигитално читање (нектБуттонПин) == ХИГХ) {
    сендЦомманд (ЦОНТРОЛ_СЦАН_НЕКСТ);
    сендЦомманд (АЦ_ФОРВАРД);
  }

  // дугме за репродукцију последњег медија
  иф (дигитално читање (бацкБуттонПин) == ХИГХ) {
    сендЦомманд (ЦОНТРОЛ_СЦАН_ПРЕВИОУС);
    сендЦомманд (АЦ_БАЦК);
  }

// дугме за повратак кући
  иф (дигитално читање (хомеБуттонПин) == ХИГХ) {
    сендЦомманд (ЦОНСУМЕР_БРОВСЕР_ХОМЕ);
  }

// контрола прекидача 'селецт'
  иф (дигитално читање (свитцхЦонтролБуттонПин) == ХИГХ) {
    сендСвитцхЦонтрол ("СЕЛЕЦТ");
    ако (притиснуто) {
      блехид.кеиРелеасе (свитцхЦонтролБуттонПин);
      притиснуто = лажно;
      }
  }
 
  кашњење (5);
}


Са стране иОС оперативног система, чаробњаци су прво успоставили упаривање са даљинским управљачем путем Блуетоотх-а:



Затим - функције свих тастера у одељку о приступачности:





Након што се увере да све функционише, чаробњаци притискају дугме на 3Д штампачу и деле потребне датотеке са читачима на стварима лиценцирано под ЦЦ-БИ 3.0. Ови делови се могу израдити на друге начине или их уопште не могу направити.

Следећа два видеа показују како мајстори тестирају даљинац на делу:





Остаје обновити даљински управљач на исти начин, али лемљењем, и резултат ставити у случај, а у иОС-у инсталирати апликацију Соундсцапе и покренути је у позадини, а можете користити уређај.
0
0
0

Додајте коментар

    • осмехнасмеши секакаокдонткновиахоонеа
      шефеогреботинабудаладада-даагресивантајна
      извиниплесданце2данце3пардонпомоћпића
      станипријатељидоброгоодгоодзвиждукзалутатијезик
      димпљескатицраиизјавитиисмијавајућидон-т_ментионпреузимање
      топлотаирефуллаугх1мдасастанакмоскингнегативан
      нот_икокицеказнитичитатиуплашитиплашипретрага
      подругљивтханк_иоуовото_цлуеумникакутнаслажем се
      лошепчелаблацк_еиеблум3поцрвењетихвалити седосаде
      цензурисанпријатносецрет2претипобедаиусун_беспецтацлед
      шокреспектлолпреведендобродошликрутоииа_за
      иа_добриипомагачне_хулиганне_отходифлудзабраназатвори
2 коментар
Да поставим нешто састављено на плочи као готов уређај, па, не знам ...
Можете да замените ову „прилично скупу плочу“, на пример, ЕСП32 Мини у вредности од око 320 рубаља. А са плоче да сву економију пребацимо на платну плочу.

Саветујемо вам да прочитате:

Предајте га смартфону ...