Използването на приложението 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 и го стартирайте на заден план и можете да използвате устройството.