Microsoft Soundscape -sovelluksen (jostakin syystä saatavana vain iOS-käyttöjärjestelmälle) käyttö, joka antaa sokeille navigoida avaruudessa ja selvittää heidän ympärillään ääniohjeiden avulla, on entistä kätevämpää, jos teet ulkoisen kuuden painikkeen kaukosäätimen, jonka kolme kirjailija on ehdottanut. Ohjelmat - Jazz Ang, Ana Liu ja Venkatesh Potluri.
Tarkkaan ottaen Soundscape ei ole itse Microsoft Corporationin kehittämä, vaan sen divisioona nimeltään Microsoft Research, joka harjoittaa kokeiluja ja tutkimuksia monilla aloilla. Uskotaan, että jopa sisäinen ilmapiiri on täysin erilainen kuin muussa yhteisössä.
Kaukosäätimen painikkeet:
1 - aloita / lopeta ääni- tai videotiedoston toisto, ja kun Soundsdape-sovellus on käynnissä ja käynnissä taustalla, se myös ottaa käyttöön / poistaa käytöstä tämän ohjelman äänimerkinnät.
2 - täysi päälle / pois ääni, analoginen television kaukosäätimen mykistyspainikkeelle.
3 - siirry seuraavaan raitaan audio- tai videosoittimessa ja Soundscape-ohjelmassa - siirry seuraavaan ääni-ilmoitukseen.
4 - siirry edelliseen kappaleeseen tai ääni-ilmoitukseen.
5 - kopioi Koti-painikkeen.
6 - iOS-käyttöjärjestelmän "Virtuaalinen ohjain" -tilan hallinta (mahdollistaa ulkoisten kauko-ohjaimien käyttämisen, kuten kuvattu).
Kuten kaaviosta voidaan nähdä kotitekoinen, koottu Fritzing-ohjelmassa, painikkeet, joita kutakin täydennetään 10 kOhm: n vetovastuksella, on kytketty melko kalliiden Adafruit Feather nRF52 Bluefruit LE -levyjen liittimiin 11, 7, 15, 16, 27 ja 25, joka on yhteensopiva Työläs IDE ja sisältää bluetooth-moduulin. Laitetta käytettäessä tämän kortin virta saadaan tavallisesta mikro-USB-kaapelista virtalähteestä, ja ohjelmoitaessa - tietokoneesta. Huomaa, että monet sähköpankit sammuvat automaattisesti, kun virrankulutus on liian pieni, ja sammutuskynnys riippuu mallista.
Asennettuaan mallin järjestelmän mukaan, velhot määrittelevät Arduino IDE: n toimimaan tämän kortin kanssa seuraavien kahden kuvakaappauksen osoittamalla tavalla:
Kun kaikki on määritetty, mestarit täyttävät piirustuksen taululle:
#sisältää
#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 hasKeyPressed = false;
// kytke taulun tapit
int playpauseButtonPin = 11;
int mykkäButtonPin = 7;
int seuraavaButtonPin = 15;
int backButtonPin = 16;
int homeButtonPin = 27;
int switchControlButtonPin = 25;
tyhjä asennus ()
{
pinMode (playpauseButtonPin, INPUT);
pinMode (muteButtonPin, INPUT);
pinMode (nextButtonPin, INPUT);
pinMode (backButtonPin, INPUT);
pinMode (homeButtonPin, INPUT);
pinMode (switchControlButtonPin, INPUT);
Serial.begin (115200);
kun taas (! sarja) viive (10); // tunnukselle nrf52840 natiivilla usb: llä
Bluefruit.begin ();
Bluefruit.setTxPower (4); // Tarkista, ovatko bluefruit.h tuetut arvot
Bluefruit.setName ("TESTArroundMeBluefruit52");
// Määritä ja käynnistä laitteen tietopalvelu
bledis.setManufacturer ("Adafruit Industries");
bledis.setModel ("Bluefruit Feather 52");
bledis.begin ();
/ * Käynnistä BLE HID
* Huomaa: Apple vaatii BLE-laitteen vähintään min. Kytkentävälin> = 20m
* (Mitä pienempi yhteysväli, sitä nopeammin voimme lähettää tietoja).
* HID- ja MIDI-laitteille Apple voi kuitenkin hyväksyä vähimmäisyhteysvälin
* jopa 11,25 ms. Siksi BLEHidAdafruit :: begin () yrittää asettaa min ja max
* kytkentäväli vastaavasti 11,25 ms: iin ja 15 ms: seen parhaan suorituskyvyn saavuttamiseksi.
* /
blehid.begin ();
/ * Aseta kytkentäväli (min, max) haluamaasi arvoon.
* Huomaa: BLEHidAdafruit :: aloittaa () on jo asettanut sen arvoksi 11,25–15 ms
* min = 9 * 1,25 = 11,25 ms, max = 12 * 1,25 = 15 ms
* /
/ * Bluefruit.Periph.setConnInterval (9, 12); * /
// Asenna ja aloita mainonta
startAdv ();
}
tyhjä aloitusAdv (tyhjä)
{
// Mainospaketti
Bluefruit.Advertising.addFlags (BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE);
Bluefruit.Advertising.addTxPower ();
Bluefruit.Advertising.addNäkymä (BLE_APPEARANCE_HID_KEYBOARD);
// Sisällytä BLE HID -palvelu
Bluefruit.Advertising.addService (blehid);
// Mainospaketissa on tarpeeksi tilaa dev-nimelle
Bluefruit.Advertising.addName ();
/ * Aloita mainonta
* - Ota automaattinen mainonta käyttöön, jos se on irrotettu
* - Väli: nopea tila = 20 ms, hidas tila = 152,5 ms
* - Nopean tilan aikakatkaisu on 30 sekuntia
* - Aloita (aikakatkaisu) aikakatkaisulla = 0 mainostaa ikuisesti (kunnes yhteys on muodostettu)
*
* Suositeltava mainontaväli
* https://developer.apple.com/library/content/qa/qa1931/_index.html
* /
Bluefruit.Advertising.restartOnDisconnect (true);
Bluefruit.Mainonta.setInterval (32, 244); // yksikössä 0,625 ms
Bluefruit.Advertising.setFastTimeout (30); // sekuntien lukumäärä nopea-tilassa
Bluefruit.Advertising.start (0); // 0 = Älä lopeta mainostamista n sekunnin kuluttua
}
// tämän toiminnon avulla puhelimen ohjaamiseen
void sendCommand (komento uint16_t) {
// Varmista, että olemme kytkettyinä ja liitettyinä / pariksi
(uint16_t conn_hdl = 0; conn_hdl kytketty () &&yhteys-> pariksi ())
{
// Kytke punainen LED-valo päälle, kun aloitamme tiedon lähettämistä
digitalWrite (LED_RED, 1);
Serial.println ("Lähetetään komento ...");
// Lähetä näppäin paina
blehid.consumerKeyPress (conn_hdl, komento);
// Viivästytä hiukan raporttien välillä
viive (10);
// Lähetä avaintiedote
blehid.consumerKeyRelease (conn_hdl);
// Sammuta punainen LED
digitalWrite (LED_RED, 0);
Serial.println ("Komento lähetetty!");
}
}
viive (250);
}
// tämän toiminnon avulla konfigurointi kytkimen ohjauksella
void sendSwitchControl (merkkijonokomento) {
varten (int i = 0; i
IOS-käyttöjärjestelmän puolelta velhot konfiguroivat ensin pariliitoksen kaukosäätimen kanssa Bluetoothin kautta:
Sitten - kaikkien esteettömyysosan painikkeiden toiminnot:
Varmistuttuaan, että kaikki toimii, velhojen tulostuspainike työntää 3D-tulostimen ja jakaa tarvittavat tiedostot lukijoiden kanssa kaikessa lisensoitu CC-BY 3.0: n nojalla. Nämä osat voidaan tehdä muilla tavoilla tai olla valmistamattomia.
Seuraavat kaksi videota näyttävät kuinka mestarit testaavat kaukosäätimen toiminnassa:
Jää jäljellä kaukosäätimen uudelleenrakentaminen samalla tavalla, mutta juottamalla, ja aseta tulos koteloon, ja asenna iOS-käyttöjärjestelmässä Soundscape-sovellus ja aja se taustalla, ja voit käyttää laitetta.