» elektronika » Arduino »Aplikácia ovládacieho panela so šiestimi tlačidlami Microsoft Soundscape

Ovládací panel aplikácie so šiestimi tlačidlami Microsoft Soundscape




Ovládací panel aplikácie so šiestimi tlačidlami Microsoft Soundscape


Používanie aplikácie Microsoft Soundscape (z nejakého dôvodu je k dispozícii iba pre operačný systém iOS), ktoré umožňuje nevidiacim navigovať vo vesmíre a zistiť, čo je okolo nich, pomocou hlasových pokynov, bude ešte pohodlnejšie, ak urobíte externé šesťtlačidlové diaľkové ovládanie navrhnuté tromi autormi Instructables - Jazz Ang, Ana Liu a Venkatesh Potluri.

Presne povedané, Soundscape nie je vývojom samotnej spoločnosti Microsoft Corporation, ale jej divíziou s názvom Microsoft Research, ktorá sa zaoberá experimentmi a výskumom v mnohých oblastiach. Predpokladá sa, že aj vnútorná atmosféra je úplne iná ako vo zvyšku spoločnosti.

Tlačidlá na diaľkovom ovládači:

1 - spustenie / zastavenie prehrávania zvukového alebo obrazového súboru, a keď je aplikácia Soundsdape spustená a spustená na pozadí, zapína / vypína hlasové upozornenia tohto programu.

2 - plný zapnutý / vypnutý zvuk, analógové tlačidlo Mute na diaľkovom ovládaní televízora.

3 - prejdite na nasledujúcu skladbu v audio alebo video prehrávači av programe Soundscape - prejdite na ďalšiu hlasovú notifikáciu.

4 - prechod na predchádzajúcu skladbu alebo hlasové oznámenie.

5 - duplikuje tlačidlo Domov.

6 - ovládanie režimu „virtuálneho radiča“ operačného systému iOS (umožňuje vám používať externé diaľkové ovládače, ako je opísané).

Ako je zrejmé z diagramu domáci, zostavené v programe Fritzing, sú tlačidlá, z ktorých každé je doplnené o 10 kΩ pull-up odpor, pripojené k terminálom 11, 7, 15, 16, 27 a 25 pomerne drahej dosky Adafruit Feather nRF52 Bluefruit LE, ktorá je kompatibilná s Arduino IDE a obsahuje modul Bluetooth. Pri používaní zariadenia je táto doska napájaná štandardným káblom Micro USB zo zdrojovej banky a pri programovaní - z počítača. Upozorňujeme, že veľa energetických bánk sa automaticky vypne, keď je súčasná spotreba príliš nízka a prahová hodnota pre vypnutie závisí od modelu.



Po zostavení návrhu podľa schémy sprievodcovia nakonfigurujú Arduino IDE tak, aby pracovalo s touto doskou, ako je to znázornené na nasledujúcich dvoch snímkach obrazovky:




Po nakonfigurovaní všetkého vypĺňajú majstrovi náčrt do hracej plochy:

#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;
// pripájajte kolíky na doske
int playpauseButtonPin = 11;
int muteButtonPin = 7;
int nextButtonPin = 15;
int backButtonPin = 16;
int homeButtonPin = 27;
int switchControlButtonPin = 25;

neplatné nastavenie ()
{
  pinMode (playpauseButtonPin, INPUT);
  pinMode (muteButtonPin, INPUT);
  pinMode (nextButtonPin, INPUT);
  pinMode (backButtonPin, INPUT);
  pinMode (homeButtonPin, INPUT);
  pinMode (switchControlButtonPin, INPUT);
  
  Serial.egin (115200);
  zatiaľ čo (! Sériové) oneskorenie (10); // pre nrf52840 s natívnym usb

  Bluefruit.begin ();
  Bluefruit.setTxPower (4); // Skontrolujte podporované hodnoty pre bluefruit.h
  Bluefruit.setName („TESTArroundMeBluefruit52“);

  // Konfigurácia a spustenie informačnej služby o zariadení
  bledis.setManufacturer („Adafruit Industries“);
  bledis.setModel ("Bluefruit Feather 52");
  bledis.egegin ();

  / * Spustiť BLE HID
   * Poznámka: Apple vyžaduje, aby zariadenie BLE malo mať minimálny interval pripojenia> = 20m
   * (Čím menší je interval pripojenia, tým rýchlejšie sme mohli odosielať údaje).
   * Pre zariadenia HID a MIDI však Apple mohol akceptovať minimálny interval pripojenia
   * do 11,25 ms. Preto sa BLEHidAdafruit :: begin () pokúsi nastaviť min. A max
   * Interval pripojenia do 11,25 ms a 15 ms pre najlepší výkon.
   * /
  blehid.begin ();

  / * Nastavte interval pripojenia (min, max) na požadovanú hodnotu.
   * Poznámka: Už je nastavený programom BLEHidAdafruit :: begin () na 11,25 ms - 15 ms
   * min = 9 * 1,25 = 11,25 ms, maximum = 12 * 1,25 = 15 ms
   * /
  / * Bluefruit.Periph.setConnInterval (9, 12); * /

  // Nastavenie a spustenie reklamy
  startAdv ();
}

void startAdv (void)
{
  // Reklamný paket
  Bluefruit.Advertising.addFlags (BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE);
  Bluefruit.Advertising.addTxPower ();
  Bluefruit.Advertising.addAppanceance (BLE_APPEARANCE_HID_KEYBOARD);
  
  // Zahrnúť službu BLE HID
  Bluefruit.Advertising.addService (blehid);

  // V reklamnom pakete je dosť miesta pre meno dev
  Bluefruit.Advertising.addName ();
  
  / * Spustite reklamu
   * - Povoľte automatickú reklamu, ak je odpojená
   * - Interval: rýchly režim = 20 ms, pomalý režim = 152,5 ms
   * - Časový limit pre rýchly režim je 30 sekúnd
   * - Štart (timeout) s timeout = 0 bude inzerovať navždy (až do pripojenia)
   *
   * Pre odporúčaný interval reklamy
   * https://developer.apple.com/library/content/qa/qa1931/_index.html
   * /
  Bluefruit.Advertising.restartOnDisconnect (true);
  Bluefruit.Advertising.setInterval (32, 244); // v jednotke 0,625 ms
  Bluefruit.Advertising.setFastTimeout (30); // počet sekúnd v rýchlom režime
  Bluefruit.Advertising.start (0); // 0 = Nezastavujte reklamu po n sekundách
}

// pomocou tejto funkcie na ovládanie telefónu
void sendCommand (príkaz uint16_t) {
  // Uistite sa, že sme prepojení a prepojení / spárované
  pre (uint16_t conn_hdl = 0; conn_hdl  pripojené () && spojenie-> spárované ())
    {
      // Keď začneme odosielať údaje, zapnite červenú LED
      digitalWrite (LED_RED, 1);
      Serial.println („Príkaz na odoslanie ...“);

      // Stlačte tlačidlo Odoslať
      blehid.consumerKeyPress (conn_hdl, príkaz);

      // Medzi jednotlivými prehľadmi trochu oneskorte
      oneskorenie (10);

      // Poslať vydanie kľúča
      blehid.consumerKeyRelease (conn_hdl);

      // Vypnite červenú LED
      digitalWrite (LED_RED, 0);
      Serial.println ("Príkaz bol odoslaný!");
    }
  }

  oneskorenie (250);
}

// pomocou tejto funkcie na konfiguráciu s ovládaním prepínača
void sendSwitchControl (príkaz String) {
  pre (int i = 0; i 


Z pohľadu operačného systému iOS sprievodcovia najprv nakonfigurujú spárovanie s diaľkovým ovládaním cez Bluetooth:



Potom - funkcie všetkých tlačidiel v sekcii prístupnosti:





Keď sa ubezpečíte, že všetko funguje, sprievodcovia tlačia tlačidlá na 3D tlačiarni a zdieľajú potrebné súbory so čitateľmi na vecicom licencované podľa CC-BY 3.0. Tieto časti môžu byť vyrobené iným spôsobom alebo vôbec.

Nasledujúce dve videá ukazujú, ako majstri testujú diaľkové ovládanie v akcii:





Zostáva znovu vybudovať diaľkové ovládanie rovnakým spôsobom, ale spájkovaním, a dať výsledok v prípade, a v iOS nainštalovať aplikáciu Soundscape a spustiť ju na pozadí, a môžete použiť zariadenie.
0
0
0

Pridajte komentár

    • usmievaťúsmevyxaxaokdontknowyahoonea
      bossškrabanecoklamaťánoáno, ánoútočnýtajomstvo
      ľutovaťtanecdance2dance3odpusteniehelpnápoje
      zastávkapriateliadobrýgoodgoodpíšťalaomdlieťjazyk
      dymtlieskanieCraydeklarovaťvýsměšnýdon-t_mentiondownload
      teplohnevlivýlaugh1MDAstretnutiemoskingnegatívny
      not_ipražená kukuricatrestaťprečítaťvydesiťzdesenievyhľadávať
      posmechthank_youtototo_clueumnikakútnasúhlasiť
      zlýbeeeblack_eyeblum3očervenieťchvastanienuda
      cenzurovanéžartysecret2hroziťvíťazstvoyusun_bespectacled
      shokrešpektlolprevedievitajtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodiFLUDzákazzavrieť
2 komentáre
Ak chcete umiestniť niečo zmontované na dosku ako hotové zariadenie, neviem ...
Túto „dosť drahú dosku“ môžete nahradiť napríklad ESP32 Mini v hodnote asi 320 rubľov. A z doštičky presunúť celú túto ekonomiku aspoň na výplatnú dosku.

Odporúčame vám prečítať si:

Ruku pre smartphone ...