L’ús de l’aplicació Microsoft Soundscape (per algun motiu només disponible per al sistema operatiu iOS), que permet als invidents navegar per l’espai i esbrinar què hi ha al seu voltant, mitjançant indicacions de veu, serà encara més convenient si es fa un control remot extern de sis botons proposat per tres autors Instructables - Jazz. Ang, Ana Liu i Venkatesh Potluri.
En rigor, Soundscape no és un desenvolupament de Microsoft Corporation en si mateixa, sinó la seva divisió anomenada Microsoft Research, que es dedica a experiments i investigacions en àmplies àrees. Es creu que fins i tot l’ambient intern hi és completament diferent que a la resta de la corporació.
Els botons del comandament a distància:
1: inicia / deixa de reproduir un fitxer d’àudio o de vídeo, i quan l’aplicació Soundsdape s’executa i s’executa en segon pla, també activa / desactiva les notificacions de veu d’aquest programa.
2: so / on complet, un analògic del botó Silenciar del comandament del televisor.
3: aneu a la pista següent del reproductor d'àudio o de vídeo i, al programa Soundscape, aneu a la següent notificació de veu.
4: aneu a la pista o notificació de veu anterior.
5: duplica el botó Inici.
6 - control del mode "Controlador virtual" del sistema operatiu iOS (permet utilitzar comandaments a distància externs com es descriu).
Com es pot veure al diagrama casolans, compilat al programa Fritzing, els botons, cadascun dels quals es complementa amb una resistència de tracció de 10 kΩ, estan connectats als terminals 11, 7, 15, 16, 27 i 25 del bastant car Adafruit Feather nRF52 Bluefruit LE, compatible amb Arduino IDE i conté un mòdul bluetooth. Quan utilitzeu el dispositiu, aquesta placa està alimentada per un cable Micro USB estàndard del banc d’energia i quan es programa - des d’un PC. Tingueu en compte que molts bancs d’energia s’apaguen automàticament quan el consum actual és massa baix i que el llindar d’aturada depèn del model.
Després d'haver muntat el disseny segons l'esquema, els assistents configuren l'Arduino IDE perquè funcioni amb aquest tauler, com es mostra a les dues captures de pantalla següents:
Havent configurat tot, els amos emplenen l'esbós al tauler:
#incloure
#defineu CONTROL_PLAY_PAUSE 0x00CD
#defineu CONTROL_SCAN_NEXT 0x00B5
#defineu CONTROL_SCAN_PREVIOUS 0x00B6
#defineu CONTROL_MUTE 0x00E2
#definir AC_FORWARD 0x0225
# definir AC_BACK 0x0224
#defineu CONSUMER_BROWSER_HOME 0x0223
BLEDis bledis;
BLEHidAdafruit blehid;
bool hasKeyPressed = fals;
// connectar pins a la pissarra
int playpauseButtonPin = 11;
int muteButtonPin = 7;
int nextButtonPin = 15;
int backButtonPin = 16;
int homeButtonPin = 27;
int switchControlButtonPin = 25;
nul configuració ()
{
pinMode (playpauseButtonPin, INPUT);
pinMode (muteButtonPin, INPUT);
pinMode (nextButtonPin, INPUT);
pinMode (backButtonPin, INPUT);
pinMode (homeButtonPin, INPUT);
pinMode (switchControlButtonPin, INPUT);
Serial.begin (115200);
mentre que (! serial) retarda (10); // per nrf52840 amb usb natiu
Bluefruit.begin ();
Bluefruit.setTxPower (4); // Comproveu els valors compatibles amb bluefruit.h
Bluefruit.setName ("TESTArroundMeBluefruit52");
// Configura i inicia el servei d'informació del dispositiu
bledis.setManufacturer ("Adafruit Industries");
bledis.setModel ("Bluefruit Feather 52");
bledis.begin ();
/ * Inicia BLE HID
* Nota: Apple requereix que el dispositiu BLE tingui un interval de connexió mínim> = 20 m
* (Com més petit sigui l’interval de connexió, més ràpid podríem enviar dades).
* No obstant això, per a dispositius HID i MIDI, Apple podria acceptar un mínim interval de connexió
* fins a 11,25 ms. Per tant, BLEHidAdafruit :: begin () intentarà establir el mínim i el màxim
* interval de connexió a 11,25 ms i 15 ms respectivament per obtenir un millor rendiment.
* /
blehid.begin ();
/ * Definiu l'interval de connexió (min, màxim) al vostre valor perferit.
* Nota: Ja està establert per BLEHidAdafruit :: begin () a 11.25ms - 15ms
* min = 9 * 1,25 = 11,25 ms, màxim = 12 * 1,25 = 15 ms
* /
/ * Bluefruit.Periph.setConnInterval (9, 12); * /
// Configura i inicia la publicitat
startAdv ();
}
void startAdv (void)
{
// Paquet publicitari
Bluefruit.Advertising.addFlags (BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE);
Bluefruit.Advertising.addTxPower ();
Bluefruit.Advertising.addAppearance (BLE_APPEARANCE_HID_KEYBOARD);
// Inclou el servei BLE HID
Bluefruit.Advertising.addService (blehid);
// Hi ha prou espai per al nom de dev al paquet publicitari
Bluefruit.Advertising.addName ();
/ * Iniciar publicitat
* - Habiliteu la publicitat automàtica si esteu desconnectat
* - Interval: mode ràpid = 20 ms, mode lent = 152,5 ms
* - El temps d'espera per al mode ràpid és de 30 segons
* - El començament (el temps d'espera) amb timeout = 0 es publicitarà per sempre (fins que no estigui connectat)
*
* Per a un interval de publicitat recomanat
* https://developer.apple.com/library/content/qa/qa1931/_index.html
* /
Bluefruit.Advertising.restartOnDisconnect (veritable);
Bluefruit.Advertising.setInterval (32, 244); // en unitat de 0,625 ms
Bluefruit.Advertising.setFastTimeout (30); // nombre de segons en mode ràpid
Bluefruit.Advertising.start (0); // 0 = No deixeu de fer publicitat després de n segons
}
// mitjançant aquesta funció per controlar el telèfon
void sendCommand (comanda uint16_t) {
// Assegureu-vos que estem connectats i vinculats / emparellats
for (uint16_t conn_hdl = 0; conn_hdl connectat () && connexió-> emparellat ())
{
// Encén el LED vermell quan comencem a enviar dades
digitalWrite (LED_RED, 1);
Serial.println ("Enviament de comandaments ...");
// Envia premeu la tecla
blehid.consumerKeyPress (conn_hdl, comandament);
// Retardar una mica entre els informes
retard (10);
// Envia la versió de la clau
blehid.consumerKeyRelease (conn_hdl);
// Apagueu el LED vermell
digitalWrite (LED_RED, 0);
Serial.println ("Comandament enviat!");
}
}
retard (250);
}
// utilitzant aquesta funció per configurar-se amb control de commutador
void sendSwitchControl (ordre String) {
for (int i = 0; i
Des del costat del sistema operatiu iOS, els assistents configuren primer el maridatge amb el control remot mitjançant Bluetooth:
A continuació, les funcions de tots els botons de la secció d’accessibilitat:
Després d’assegurar-se que tot funciona, el botó d’impressió dels assistents s’encén en una impressora 3D i comparteix els fitxers necessaris amb els lectors a les primeres coses amb llicència CC-BY 3.0. Aquestes parts es poden fer d’altres maneres, o no es poden fabricar en absolut.
Els dos vídeos següents mostren com els amos realitzen la prova del comandament a distància:
Resta reconstruir el control remot de la mateixa manera, però soldant, i posar el resultat al cas, i a iOS instal·leu l’aplicació Soundscape i executeu-lo en segon pla, i podeu utilitzar el dispositiu.