» електроника » Arduino »Приложение за управление с шест бутона на Microsoft Soundscape

Шест бутона бутон за управление на приложението Microsoft Soundscape




Шест бутона бутон за управление на приложението Microsoft Soundscape


Използването на приложението Microsoft Soundscape (по някаква причина е достъпно само за операционната система iOS), което позволява на незрящите да се движат в пространството и да разберат какво е около тях, използвайки гласови подсказки, ще бъде още по-удобно, ако направите външно дистанционно управление с шест бутона, предложено от трима автори Инструкции - Джаз Ang, Ana Liu и Venkatesh Potluri.

Строго погледнато, Soundscape не е разработка на самата корпорация Microsoft, а нейното подразделение, наречено Microsoft Research, което се занимава с експерименти и изследвания в най-различни области. Смята се, че дори вътрешната атмосфера там е напълно различна, отколкото в останалата част от корпорацията.

Бутоните на дистанционното управление:

1 - стартиране / спиране на възпроизвеждане на аудио или видео файл и когато приложението Soundsdape работи и работи на заден план, то също включва и изключва гласовите известия от тази програма.

2 - пълен звук за включване / изключване, аналог на бутона Mute на дистанционното за телевизора.

3 - отидете на следващата песен в аудио или видео плейъра, а в програмата Soundscape - отидете на следващото гласово известие.

4 - отидете на предишния запис или гласово известие.

5 - дублира бутона Home.

6 - управление на режима "Виртуален контролер" на операционната система iOS (ви позволява да използвате външни дистанционни, както е описано).

Както се вижда от диаграмата домашно, съставени в програмата Fritzing, бутоните, всеки от които е допълнен с 10 kΩ резистор за повдигане, са свързани към клемите 11, 7, 15, 16, 27 и 25 на доста скъпата платка Adafruit Feather nRF52 Bluefruit LE, която е съвместима с Arduino IDE и съдържа Bluetooth модул. Когато използвате устройството, тази платка се захранва от стандартен Micro USB кабел от захранваща банка, а при програмиране - от компютър. Моля, обърнете внимание, че много енергийни банки се изключват автоматично, когато текущата консумация е твърде ниска и прагът за изключване зависи от модела.



След като сглобиха дизайна в съответствие със схемата, съветниците конфигурират Arduino IDE да работи с тази платка, както е показано на следните две скрийншоти:




Конфигурирайки всичко, майсторите попълват скицата в дъската:

#include 

#define CONTROL_PLAY_PAUSE 0x00CD
#define CONTROL_SCAN_NEXT 0x00B5
#define CONTROL_SCAN_PREVIOUS 0x00B6
#define CONTROL_MUTE 0x00E2
#define AC_FORWARD 0x0225
#define AC_BACK 0x0224
#define CONSUMER_BROWSER_HOME 0x0223

BLEDis bledis;
BLEHidAdafruit blehid;

bool hasKeyPress = невярно;
// свържете щифтове в дъската
int playpauseButtonPin = 11;
int muteButtonPin = 7;
int nextButtonPin = 15;
int backButtonPin = 16;
int homeButtonPin = 27;
int switchControlButtonPin = 25;

настройка за невалидност ()
{
  pinMode (playpauseButtonPin, INPUT);
  pinMode (muteButtonPin, INPUT);
  pinMode (nextButtonPin, INPUT);
  pinMode (backButtonPin, INPUT);
  pinMode (homeButtonPin, INPUT);
  pinMode (switchControlButtonPin, INPUT);
  
  Serial.begin (115200);
  докато (! сериен) забавяне (10); // за nrf52840 с родния usb

  Bluefruit.begin ();
  Bluefruit.setTxPower (4); // Проверете bluefruit.h за поддържани стойности
  Bluefruit.setName ("TESTArroundMeBluefruit52");

  // Конфигуриране и стартиране на информационно обслужване на устройството
  bledis.setManufacturer („Adafruit Industries“);
  bledis.setModel ("Перо на сини плодове 52");
  bledis.begin ();

  / * Започнете BLE HID
   * Забележка: Apple изисква BLE устройство трябва да има мин интервал на връзка> = 20 m
   * (Колкото по-малък е интервалът на връзка, толкова по-бързо можем да изпращаме данни).
   * Въпреки това за HID и MIDI устройства, Apple може да приеме мин интервал на връзка
   * до 11,25 ms. Следователно BLEHidAdafruit :: begin () ще се опита да зададе min и max
   * интервал на свързване до 11,25 ms и 15 ms съответно за най-добра производителност.
   * /
  blehid.begin ();

  / * Задайте интервал на свързване (min, max) на вашата предпочитана стойност.
   * Забележка: Вече е зададен от BLEHidAdafruit :: начало () до 11.25ms - 15ms
   * мин = 9 * 1,25 = 11,25 ms, max = 12 * 1,25 = 15 ms
   * /
  / * Bluefruit.Periph.setConnInterval (9, 12); * /

  // Настройка и стартиране на реклама
  startAdv ();
}

void startAdv (void)
{
  // Рекламен пакет
  Bluefruit.Advertising.addFlags (BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE);
  Bluefruit.Advertising.addTxPower ();
  Bluefruit.Advertising.addAppearance (BLE_APPEARANCE_HID_KEYBOARD);
  
  // Включете BLE HID услугата
  Bluefruit.Advertising.addService (blehid);

  // В рекламния пакет има достатъчно място за името dev
  Bluefruit.Advertising.addName ();
  
  / * Започнете реклама
   * - Активирайте автоматичната реклама, ако сте изключени
   * - Интервал: бърз режим = 20 ms, бавен режим = 152,5 ms
   * - Времето за изчакване за бърз режим е 30 секунди
   * - Start (timeout) с timeout = 0 ще рекламира завинаги (докато не бъде свързан)
   *
   * За препоръчителен интервал за реклама
   * https://developer.apple.com/library/content/qa/qa1931/_index.html
   * /
  Bluefruit.Advertising.restartOnDisconnect (вярно);
  Bluefruit.Advertising.setInterval (32, 244); // в единица от 0,625 ms
  Bluefruit.Advertising.setFastTimeout (30); // брой секунди в бърз режим
  Bluefruit.Advertising.start (0); // 0 = Не спирайте рекламата след n секунди
}

// използвайки тази функция за управление на телефона
void sendCommand (команда uint16_t) {
  // Уверете се, че сме свързани и свързани / сдвоени
  за (uint16_t conn_hdl = 0; conn_hdl  свързана () && връзка-> сдвоена ())
    {
      // Включете червен светодиод, когато започнем да изпращаме данни
      digitalWrite (LED_RED, 1);
      Serial.println ("Изпращане на команда ...");

      // Изпращане на натискане на клавиш
      blehid.consumerKeyPress (conn_hdl, команда);

      // Забавяне малко между отчетите
      забавяне (10);

      // Изпращане на освобождаване на ключ
      blehid.consumerKeyRelease (conn_hdl);

      // Изключете червения светодиод
      digitalWrite (LED_RED, 0);
      Serial.println ("Командата е изпратена!");
    }
  }

  забавяне (250);
}

// използвайки тази функция за конфигуриране с управление на превключвателя
void sendSwitchControl (String команда) {
  за (int i = 0; i 


От страната на операционната система iOS, съветниците първо конфигурират сдвояването с дистанционното управление чрез Bluetooth:



След това - функциите на всички бутони в секцията за достъпност:





След като се уверят, че всичко работи, магьосниците натискат бутоните на 3D принтер и споделят необходимите файлове с четците на нещата лицензиран по CC-BY 3.0. Тези части могат да бъдат направени по други начини или изобщо да не бъдат направени.

Следните два видеоклипа показват как майсторите тестват дистанционното в действие:





Остава да възстановите дистанционното управление по същия начин, но чрез запояване и поставете резултата в случая, а в iOS инсталирайте приложението Soundscape и го стартирайте на заден план и можете да използвате устройството.
0
0
0

Добавете коментар

    • усмихвамусмивкиxaxaдобреdontknowYahooНеа
      шефдраскотинаглупакдаДа-даагресивентайна
      съжалявамтанцувамdance2dance3извинениепомощнапитки
      спиркаприятелидобърgoodgoodсвиркаприпадамезик
      димплясканеCrayдеклариратподигравателендон-t_mentionизтегляне
      топлинасърдитlaugh1MDAсрещаmoskingотрицателен
      not_iпуканкинаказвамчетаплашаплашитърсене
      присмехthank_youтоваto_clueumnikостърСъгласен
      лошоbeeeblack_eyeblum3изчервяванесамохвалствоскука
      цензурираншегаsecret2заплашвампобедаюsun_bespectacled
      ShokРеспектхахаprevedдобре дошълkrutoyya_za
      ya_dobryiпомощникne_huliganne_othodifludзабранаблизо
2 коментари
За да позиционирате нещо сглобено на дъска като завършено устройство, добре, не знам ...
Можете да замените тази „доста скъпа дъска“ например с ESP32 Mini на стойност около 320 рубли. И от дънната платка да прехвърлите цялата тази икономика поне на разплащателната дъска.

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

Предайте го за смартфона ...