Korištenje Microsoftove aplikacije Soundscape (iz nekog razloga dostupne samo za iOS operativni sustav) koja slijepima omogućuje navigaciju u prostoru i otkrivanje onoga što je oko njih, glasovnim uputama, bit će još prikladnije ako napravite vanjski daljinski upravljač sa šest tipki koji su predložila tri autora Instructables - Jazz Ang, Ana Liu i Venkatesh Potluri.
Strogo gledano, Soundscape nije razvoj same Microsoft Corporation, već njen odjel nazvan Microsoft Research, koji se bavi eksperimentima i istraživanjima u širokom rasponu područja. Smatra se da je čak i unutrašnja atmosfera potpuno drugačija nego u ostatku korporacije.
Gumbi na daljinskom upravljaču:
1 - pokrenite / zaustavite reprodukciju audio ili video datoteke, a kada se aplikacija Soundsdape pokreće i radi u pozadini, ona također omogućuje / onemogućuje glasovne obavijesti iz ovog programa.
2 - puni zvuk za uključivanje / isključivanje, analogan gumbu Isključi zvuk na daljinskom upravljaču televizora.
3 - prijeđite na sljedeću pjesmu u audio ili video uređaju, a u programu Soundscape - prijeđite na sljedeću glasovnu obavijest.
4 - prijeđite na prethodni zapis ili glasovnu obavijest.
5 - duplicira gumb Home.
6 - upravljanje načinom "Virtualni kontroler" iOS operativnog sustava (omogućuje upotrebu vanjskih daljinskih upravljača kao što je opisano).
Kao što se vidi iz dijagrama domaći, sastavljeni u programu Fritzing, čije su tipke dopunjavane otpornim 10-ohm otpornikom spojene na terminale 11, 7, 15, 16, 27 i 25 prilično skupe ploče Adafruit Feather nRF52 Bluefruit LE, kompatibilne s Težak IDE i sadrži bluetooth modul. Kad koristite uređaj, ovu ploču napaja standardni Micro USB kabel iz banke napajanja, a kod programiranja - s računala. Napominjemo da se mnoge banke napajanja automatski isključuju kada je trenutna potrošnja preniska, a prag isključivanja ovisi o modelu.
Sastavivši dizajn prema shemi, čarobnjaci konfiguriraju Arduino IDE za rad s ovom pločom, kao što je prikazano na sljedeća dva snimka zaslona:
Nakon što su sve konfigurirali, majstori ispunjavaju skicu u ploču:
#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 = lažno;
// spojite igle u ploči
int playpauseButtonPin = 11;
int muteButtonPin = 7;
int nextButtonPin = 15;
int backButtonPin = 16;
int homeButtonPin = 27;
int switchControlButtonPin = 25;
postavljanje praznine ()
{
pinMode (playpauseButtonPin, INPUT);
pinMode (muteButtonPin, INPUT);
pinMode (nextButtonPin, INPUT);
pinMode (backButtonPin, INPUT);
pinMode (homeButtonPin, INPUT);
pinMode (switchControlButtonPin, INPUT);
Serijski početak (115200);
dok (! serijski) kašnjenje (10); // za nrf52840 s izvornim usb
Bluefruit.begin ();
Bluefruit.setTxPower (4); // Provjerite bluefruit.h na podržane vrijednosti
Bluefruit.setName ("TESTArroundMeBluefruit52");
// Konfiguriranje i pokretanje usluge informiranja o uređajima
bledis.setManufacturer ("Adafruit Industries");
bledis.setModel ("Perje plavog voća 52");
bledis.begin ();
/ * Pokrenite BLE HID
* Napomena: Apple zahtijeva da BLE uređaj mora imati min. Interval povezivanja> = 20m
* (Što je interval internih veza manji, to ćemo brže moći slati podatke).
* Međutim, za uređaje HID i MIDI, Apple bi mogao prihvatiti minimalan interval veze
* do 11,25 ms Stoga će BLEHidAdafruit :: begin () pokušati postaviti min i max
* interval spajanja na 11,25 ms odnosno 15 ms za najbolje performanse.
* /
blehid.begin ();
/ * Interval povezivanja (min, max) postavite na željenu vrijednost.
* Napomena: BLEHidAdafruit: već je postavljen: (započinje () na 11,25ms - 15ms
* min = 9 * 1,25 = 11,25 ms, max = 12 * 1,25 = 15 ms
* /
/ * Bluefruit.Periph.setConnInterval (9, 12); * /
// Postavljanje i započinjanje oglašavanja
startAdv ();
}
void startAdv (void)
{
// Reklamni paket
Bluefruit.Advertising.addFlags (BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE);
Bluefruit.Advertising.addTxPower ();
Bluefruit.Advertising.addAppearance (BLE_APPEARANCE_HID_KEYBOARD);
// Uključi BLE HID uslugu
Bluefruit.Advertising.addService (blehid);
// U reklamnom paketu ima dovoljno mjesta za dev ime
Bluefruit.Advertising.addName ();
/ * Započnite oglašavanje
* - Omogući automatsko oglašavanje ako nema veze
* - Interval: brzi način rada = 20 ms, spor način rada = 152,5 ms
* - Istek vremena za brzi način rada je 30 sekundi
* - Start (timeout) s timeout = 0 oglasit će se zauvijek (dok ne bude spojen)
*
* Za preporučeni interval oglašavanja
* https://developer.apple.com/library/content/qa/qa1931/_index.html
* /
Bluefruit.Advertising.restartOnDisconnect (true);
Bluefruit.Advertising.setInterval (32, 244); // u jedinici 0,625 ms
Bluefruit.Advertising.setFastTimeout (30); // broj sekundi u brzom načinu rada
Bluefruit.Advertising.start (0); // 0 = Ne zaustavljajte oglašavanje nakon n sekundi
}
// pomoću ove funkcije za upravljanje telefonom
void sendCommand (naredba uint16_t) {
// Provjerite jesmo li povezani i povezani / upareni
za (uint16_t conn_hdl = 0; conn_hdl spojena () && veza-> uparena ())
{
// Uključite crveni LED kada počnemo slati podatke
digitalWrite (LED_RED, 1);
Serial.println ("Slanje naredbe ...");
// Pošalji tipku
blehid.consumerKeyPress (conn_hdl, naredba);
// Odgodite malo između izvješća
kašnjenje (10);
// Pošaljite izdanje ključa
blehid.consumerKeyRelease (conn_hdl);
// Isključite crveni LED
digitalWrite (LED_RED, 0);
Serial.println ("Naredba poslana!");
}
}
kašnjenje (250);
}
// pomoću ove funkcije za konfiguriranje s upravljačkim sklopkama
void sendSwitchControl (String naredba) {
for (int i = 0; i
S bočne strane operativnog sustava iOS, čarobnjaci najprije konfiguriraju uparivanje s daljinskim upravljačem putem Bluetooth-a:
Zatim - funkcije svih gumba u odjeljku o pristupačnosti:
Nakon što osiguraju da sve radi, čarobnjaci pritiskaju gumb na 3D pisaču i dijele potrebne datoteke s čitačima na stvarima licencirano pod CC-BY 3.0. Ovi dijelovi mogu se izrađivati na druge načine ili uopće ne izrađivati.
Sljedeća dva videozapisa pokazuju kako majstori testiraju daljinac na djelu:
Ostaje obnoviti daljinski upravljač na isti način, ali lemljenjem, i rezultat staviti u slučaj, a u iOS instalirati aplikaciju Soundscape i pokrenuti je u pozadini, a možete koristiti uređaj.