Použití aplikace Microsoft Soundscape (z nějakého důvodu k dispozici pouze pro operační systém iOS), které umožňuje nevidomým pohybovat se ve vesmíru a zjistit, co je kolem nich, pomocí hlasových výzev, bude ještě pohodlnější, pokud provedete externí dálkové ovládání se šesti tlačítky navržené třemi autory Instructables - Jazz Ang, Ana Liu a Venkatesh Potluri.
Přesně řečeno, Soundscape není vývojem samotné společnosti Microsoft Corporation, ale její rozdělení pod názvem Microsoft Research, které se zabývá experimenty a výzkumem v různých oborech. Předpokládá se, že i vnitřní atmosféra je zcela jiná než ve zbytku společnosti.
Tlačítka na dálkovém ovladači:
1 - spuštění / zastavení přehrávání zvukového nebo obrazového souboru a když je aplikace Soundsdape spuštěna a spuštěna na pozadí, také zapíná / vypíná hlasová oznámení z tohoto programu.
2 - plný zvuk on / off, analog tlačítka Mute na dálkovém ovladači televizoru.
3 - přejděte na další stopu v audio nebo video přehrávači a v programu Soundscape - přejděte na další hlasové oznámení.
4 - přechod na předchozí stopu nebo hlasové oznámení.
5 - duplikuje tlačítko Domů.
6 - ovládání režimu „Virtuální řadič“ operačního systému iOS (umožňuje použít externí ovladače, jak je popsáno).
Jak je vidět z diagramu domácí, sestavené v programu Fritzing, tlačítka, z nichž každé je doplněno 10 kΩ pull-up rezistorem, jsou připojena ke svorkám 11, 7, 15, 16, 27 a 25 poměrně drahé desky Adafruit Feather nRF52 Bluefruit LE, která je kompatibilní s Arduino IDE a obsahuje modul Bluetooth. Při používání zařízení je tato deska napájena standardním kabelem Micro USB z výkonové banky a při programování - z počítače. Vezměte prosím na vědomí, že mnoho energetických bank se automaticky vypne, když je současná spotřeba příliš nízká a prahová hodnota pro vypnutí závisí na modelu.
Po sestavení návrhu podle schématu průvodci nakonfigurují Arduino IDE tak, aby pracovalo s touto deskou, jak ukazuje následující dva screenshoty:
Po nakonfigurování všeho vyplní mistři náčrt do desky:
#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 hasKeyPressed = false;
// připojte kolíky na desce
int playpauseButtonPin = 11;
int muteButtonPin = 7;
int nextButtonPin = 15;
int backButtonPin = 16;
int homeButtonPin = 27;
int switchControlButtonPin = 25;
neplatné nastavení ()
{
pinMode (playpauseButtonPin, INPUT);
pinMode (muteButtonPin, INPUT);
pinMode (nextButtonPin, INPUT);
pinMode (backButtonPin, INPUT);
pinMode (homeButtonPin, INPUT);
pinMode (switchControlButtonPin, INPUT);
Serial.begin (115200);
zatímco (! Sériové) zpoždění (10); // pro nrf52840 s nativním usb
Bluefruit.begin ();
Bluefruit.setTxPower (4); // Zkontrolujte podporované hodnoty bluefruit.h
Bluefruit.setName ("TESTArroundMeBluefruit52");
// Konfigurace a spuštění služby Information Information
bledis.setManufacturer („Adafruit Industries“);
bledis.setModel ("Bluefruit Feather 52");
bledis.begin ();
/ * Spustit BLE HID
* Poznámka: Apple vyžaduje, aby zařízení BLE mělo minimální interval připojení> = 20m
* (Čím menší je interval připojení, tím rychleji bychom mohli odesílat data).
* Pro zařízení HID a MIDI však Apple mohl akceptovat minimální interval připojení
* do 11,25 ms. Proto se BLEHidAdafruit :: begin () pokusí nastavit min a max
* Interval připojení do 11,25 ms respektive 15 ms pro nejlepší výkon.
* /
blehid.begin ();
/ * Nastavte interval připojení (min, max) na požadovanou hodnotu.
* Poznámka: BLEHidAdafruit :: begin () je již nastavena na 11,25 ms - 15 ms
* min = 9 * 1,25 = 11,25 ms, max = 12 * 1,25 = 15 ms
* /
/ * Bluefruit.Periph.setConnInterval (9, 12); * /
// Nastavení a zahájení inzerce
startAdv ();
}
void startAdv (void)
{
// Reklamní balíček
Bluefruit.Advertising.addFlags (BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE);
Bluefruit.Advertising.addTxPower ();
Bluefruit.Advertising.addAppanceance (BLE_APPEARANCE_HID_KEYBOARD);
// Zahrnout službu BLE HID
Bluefruit.Advertising.addService (blehid);
// V reklamním balíčku je dostatek místa pro jméno dev
Bluefruit.Advertising.addName ();
/ * Zahajte reklamu
* - Aktivuje automatickou reklamu, pokud je odpojena
* - Interval: rychlý režim = 20 ms, pomalý režim = 152,5 ms
* - Časový limit pro rychlý režim je 30 sekund
* - Start (timeout) s timeout = 0 bude inzerovat navždy (do připojení)
*
* Pro doporučený reklamní interval
* https://developer.apple.com/library/content/qa/qa1931/_index.html
* /
Bluefruit.Advertising.restartOnDisconnect (true);
Bluefruit.Advertising.setInterval (32, 244); // v jednotce 0,625 ms
Bluefruit.Advertising.setFastTimeout (30); // počet sekund v rychlém režimu
Bluefruit.Advertising.start (0); // 0 = Nezastavujte reklamu po n sekundách
}
// pomocí této funkce k ovládání telefonu
void sendCommand (příkaz uint16_t) {
// Ujistěte se, že jsme spojeni a spojeni / spárováni
pro (uint16_t conn_hdl = 0; conn_hdl připojeno () && připojení-> spárováno ())
{
// Když začneme odesílat data, zapněte červenou LED
digitalWrite (LED_RED, 1);
Serial.println ("Odesílání příkazu ...");
// Stiskněte klávesu Odeslat
blehid.consumerKeyPress (conn_hdl, příkaz);
// Zpoždění mezi hlášeními
zpoždění (10);
// Odeslat uvolnění klíče
blehid.consumerKeyRelease (conn_hdl);
// Vypněte červenou LED
digitalWrite (LED_RED, 0);
Serial.println ("Příkaz byl odeslán!");
}
}
zpoždění (250);
}
// pomocí této funkce pro konfiguraci s ovládáním přepínače
void sendSwitchControl (Příkaz String) {
pro (int i = 0; i
Ze strany operačního systému iOS průvodci nejprve nastavili párování s dálkovým ovládáním přes Bluetooth:
Poté - funkce všech tlačítek v sekci usnadnění přístupu:
Poté, co se ujistíte, že všechno funguje, průvodci tisknou tlačítko na 3D tiskárně a sdílejí potřebné soubory se čtenáři na věc licencován pod CC-BY 3.0. Tyto části mohou být vyrobeny jiným způsobem nebo vůbec.
Následující dvě videa ukazují, jak mistři testují dálkové ovládání v akci:
Zbývá znovu sestavit dálkové ovládání stejným způsobem, ale pájením, a dát výsledek do případu, a v iOS nainstalovat aplikaci Soundscape a spustit ji na pozadí, a můžete použít zařízení.