» Electrònica » Arduino »Aplicació del tauler de control de sis botons Microsoft Soundscape

Tauler de control de l'aplicació Microsoft Soundscape de sis botons




Tauler de control de l'aplicació Microsoft Soundscape de sis botons


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.
0
0
0

Afegeix un comentari

    • somriuresomriuxaxad'acordno ho séyahoonea
      capratllarximplesísí-síagressiusecret
      ho sentoballarballar2ballar3perdóajudarbegudes
      pararamicsbébondatxiuletswoonllengua
      fumaraplaudintcranideclararderisiudon-t_mentiondescarregar
      calorirritariure1mdareuniómosquitnegatiu
      no_icrispetescastigarllegirporespantosbuscar
      burlargràcies_youaixòto_clueumnikagutd'acord
      dolentbeeeblack_eyeblum3ruborpresumirl'avorriment
      censuradaplaersecret2amenaçarvictòriatusun_bespectacled
      xocrespectlolpreveurebenvingudaKrutoyja_za
      ja_dobryiajudantne_huliganne_othodifludprohibicióa prop
2 comentari
No posseiré alguna cosa assemblada en un panell com a dispositiu acabat, no sé ...
Podeu substituir aquest "tauler bastant car", per exemple, amb un ESP32 Mini que val uns 320 rubles. I des del tauler d’obra per transferir tota aquesta economia a la taula de pagaments, com a mínim.

Us aconsellem que llegiu:

Doneu-lo al telèfon intel·ligent ...