» Elektronika » Arduino »Šestidílná aplikace ovládacího panelu Microsoft Soundscape

Ovládací panel aplikace Microsoft Soundscape se šesti tlačítky




Ovládací panel aplikace Microsoft Soundscape se šesti tlačítky


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

Přidejte komentář

    • úsměvúsměvyxaxaokdontknowyahoone
      šéfeškrábnutíhlupákanoano-anoagresivnítajemství
      promiňtanecdance2dance3prominoutpomocnápoje
      zastavitpřátelédobředobrá náladapískatlžícejazyk
      kouřtleskánícrayprohlásitvýsměšnýdon-t_mentionstáhnout
      teploirefulsmích1mdasetkánímoskingnegativní
      not_ipopcorntrestatčístvyděsitděsíhledat
      posměchděkujitototo_clueumnikakutnísouhlasím
      špatnévčelablack_eyeblum3červenat sechlubit senuda
      cenzurovánopleasantrysecret2hrozitvítězstvíyusun_bespectacled
      třástrespektlolprovedenívítejtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodibludzákazblízko
2 komentář
Abych umístil něco sestavené na prkénku jako hotové zařízení, nevím ...
Tuto „poměrně drahou desku“ můžete nahradit například ESP32 Mini v hodnotě asi 320 rublů. A z prkénku na prkénko převést celou tuto ekonomiku na výplatní desku.

Doporučujeme si přečíst:

Podejte to pro smartphone ...