» Elektronika » Arduino »Sešu pogu vadības paneļa lietojumprogramma Microsoft Soundscape

Sešu pogu Microsoft Soundscape lietotnes vadības panelis




Sešu pogu Microsoft Soundscape lietotnes vadības panelis


Izmantojot Microsoft Soundscape lietojumprogrammu (kaut kādu iemeslu dēļ ir pieejama tikai iOS operētājsistēmai), kas ļauj neredzīgajiem pārvietoties telpā un uzzināt, kas ir viņiem apkārt, izmantojot balss norādījumus, būs vēl ērtāk, ja jūs izveidosit ārēju sešu pogu tālvadības pulti, ko ierosinājuši trīs autori Instructables - Jazz. Ang, Ana Liu un Venkatesh Potluri.

Stingri sakot, Soundscape nav pašas Microsoft Corporation attīstība, bet tās nodaļa ar nosaukumu Microsoft Research, kas nodarbojas ar eksperimentiem un pētījumiem visdažādākajās jomās. Tiek uzskatīts, ka pat iekšējā atmosfēra tur ir pilnīgi atšķirīga nekā pārējā korporācijā.

Tālvadības pults pogas:

1 - audio / video faila atskaņošanas sākšana / apturēšana, un, kad programma Soundsdape darbojas un darbojas fonā, tā arī ieslēdz / izslēdz balss paziņojumus no šīs programmas.

2 - pilna ieslēgšanas / izslēgšanas skaņa, televizora tālvadības pults izslēgšanas pogas analogs.

3 - pārejiet uz nākamo ierakstu audio vai video atskaņotājā, un programmā Soundscape - pārejiet uz nākamo balss paziņojumu.

4 - pāriet uz iepriekšējo ierakstu vai balss paziņojumu.

5 - dublē sākuma pogu.

6 - iOS operētājsistēmas režīma "Virtuālais kontrolieris" vadība (ļauj izmantot ārējos tālvadības pultis, kā aprakstīts).

Kā redzams no diagrammas mājās gatavots, kas apkopots programmā Fritzing, pogas, katra no tām papildināta ar 10 kOhm izvelkamo rezistoru, ir savienotas ar diezgan dārgās Adafruit Feather nRF52 Bluefruit LE plāksnes 11., 7., 15., 16., 27. un 25. spaili, kas ir savietojama ar Arduino IDE, un tajā ir bluetooth modulis. Lietojot ierīci, šī plate tiek darbināta ar standarta mikro USB kabeli no strāvas bankas, bet programmēšanas laikā - no datora. Lūdzu, ņemiet vērā, ka daudzas enerģijas bankas automātiski izslēdzas, ja pašreizējais patēriņš ir pārāk mazs, un izslēgšanas slieksnis ir atkarīgs no modeļa.



Pēc montāžas pēc shēmas, vedņi konfigurē Arduino IDE darbam ar šo dēli, kā parādīts šādos divos ekrānuzņēmumos:




Pēc visu konfigurēšanas meistari aizpilda skici valdē:

# iekļaut 

#definēt CONTROL_PLAY_PAUSE 0x00CD
#definējiet CONTROL_SCAN_NEXT 0x00B5
#definējiet CONTROL_SCAN_PREVIOUS 0x00B6
#definējiet CONTROL_MUTE 0x00E2
#definēt AC_FORWARD 0x0225
#definēt AC_BACK 0x0224
#definēt CONSUMER_BROWSER_HOME 0x0223

BLEDis bledis;
BLEHidAdafruit blehid;

bool hasKeyPressed = nepatiess;
// savienojiet tapas dēlī
int playpauseButtonPin = 11;
int muteButtonPin = 7;
int nākamaisButtonPin = 15;
int backButtonPin = 16;
int homeButtonPin = 27;
int switchControlButtonPin = 25;

iestatīšana nav spēkā ()
{
  pinMode (playpauseButtonPin, INPUT);
  pinMode (muteButtonPin, INPUT);
  pinMode (nextButtonPin, INPUT);
  pinMode (backButtonPin, INPUT);
  pinMode (homeButtonPin, INPUT);
  pinMode (switchControlButtonPin, INPUT);
  
  Sērijas.begin (115200);
  kamēr (! Sērijas) aizkave (10); // par nrf52840 ar vietējo usb

  Bluefruit.begin ();
  Bluefruit.setTxPower (4); // Pārbaudiet bluefruit.h, vai ir atbalstītas vērtības
  Bluefruit.setName ("TESTArroundMeBluefruit52");

  // Ierīces informācijas pakalpojuma konfigurēšana un palaišana
  bledis.setRažotājs ("Adafruit Industries");
  bledis.setModel ("Bluefruit Feather 52");
  bledis.begin ();

  / * Sākt BLE HID
   * Piezīme: Apple pieprasa, lai BLE ierīcei būtu jābūt vismaz savienojuma intervālam> = 20m
   * (Jo mazāks savienojuma intervāls, jo ātrāk mēs varētu nosūtīt datus).
   * Tomēr HID un MIDI ierīcēm Apple varētu pieņemt minimālo savienojuma intervālu
   * līdz 11,25 ms. Tāpēc BLEHidAdafruit :: begin () mēģinās iestatīt min un maks
   * savienojuma intervāls attiecīgi līdz 11,25 ms un 15 ms, lai nodrošinātu labāko sniegumu.
   * /
  blehid.begin ();

  / * Iestatiet savienojuma intervālu (min, max) atbilstoši jūsu pieļaujamajai vērtībai.
   * Piezīme: BLEHidAdafruit :: sākums () to jau ir iestatījis uz 11,25–15 ms
   * min = 9 * 1,25 = 11,25 ms, max = 12 * 1,25 = 15 ms
   * /
  / * Bluefruit.Periph.setConnInterval (9, 12); * /

  // Iestatiet un sāciet reklamēt
  startAdv ();
}

void startAdv (spēkā neesošs)
{
  // Reklāmas paciņa
  Bluefruit.Advertising.addFlags (BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE);
  Bluefruit.Advertising.addTxPower ();
  Bluefruit.Advertising.addApraksts (BLE_APPEARANCE_HID_KEYBOARD);
  
  // Iekļaujiet BLE HID pakalpojumu
  Bluefruit.Advertising.addService (blehid);

  // Reklāmas paketē ir pietiekami daudz vietas dev nosaukumam
  Bluefruit.Advertising.addName ();
  
  / * Sākt reklamēšanu
   * - iespējot automātisko reklamēšanu, ja tā ir atvienota
   * - Intervāls: ātrs režīms = 20 ms, lēns režīms = 152,5 ms
   * - ātrā režīma noildze ir 30 sekundes
   * - sākums (noildze) ar noildzi = 0 reklamēsies mūžīgi (līdz tiks izveidots savienojums)
   *
   * Ieteicamais reklāmas intervāls
   * https://developer.apple.com/library/content/qa/qa1931/_index.html
   * /
  Bluefruit.Advertising.restartOnDisconnect (true);
  Bluefruit.Advertising.setInterval (32, 244); // vienībā 0,625 ms
  Bluefruit.Advertising.setFastTimeout (30); // sekunžu skaits ātrajā režīmā
  Bluefruit.Reklāma.starts (0); // 0 = Nepārtrauciet reklamēšanu pēc n sekundēm
}

// izmantojot šo funkciju, lai vadītu tālruni
void sendCommand (komanda uint16_t) {
  // Pārliecinieties, vai esam savienoti un savienoti / savienoti pārī
  priekš (uint16_t conn_hdl = 0; conn_hdl  savienots () && savienojums-> pārī savienots ())
    {
      // Ieslēdziet sarkanu gaismas diodi, kad sākam sūtīt datus
      digitalWrite (LED_RED, 1);
      Serial.println ("Sūtīšanas komanda ...");

      // Nosūtīt taustiņu
      blehid.consumerKeyPress (conn_hdl, komanda);

      // Nedaudz kavējas starp pārskatiem
      kavēšanās (10);

      // Nosūtīt atslēgas atbrīvošanu
      blehid.consumerKeyRelease (conn_hdl);

      // Izslēdziet sarkano gaismas diodi
      digitalWrite (LED_RED, 0);
      Serial.println ("Komanda nosūtīta!");
    }
  }

  kavēšanās (250);
}

// izmantojot šo funkciju, lai konfigurētu ar slēdža vadību
void sendSwitchControl (virknes komanda) {
  priekš (int i = 0; i 


No operētājsistēmas iOS puses burvji vispirms izveido savienojumu pārī ar tālvadības pulti, izmantojot Bluetooth:



Tad - visu piekļuves sadaļā esošo pogu funkcijas:





Pārliecinoties, ka viss darbojas, vedņi drukāšanas pogu nospiež uz 3D printera un koplieto nepieciešamos failus ar lasītājiem uz visuma licencēta saskaņā ar CC-BY 3.0. Šīs detaļas var izgatavot citos veidos, vai arī tās nav izgatavotas vispār.

Šie divi video parāda, kā meistari pārbauda tālvadības pulti darbībā:





Atliek atjaunot tālvadības pulti tādā pašā veidā, bet lodējot, un rezultātu ievietot gadījumā, un iOS instalēt programmu Soundscape un palaist to fonā, un jūs varat izmantot ierīci.
0
0
0

Pievienojiet komentāru

    • smaidismaidaxaxalabinezinuYahoonea
      priekšniekssaskrāpētmuļķisjājā-jāagresīvsslepeni
      žēldejotdeja2deja3apžēlošanapalīdzētdzērieni
      apstātiesdraugilabilabsirdīgssvilpegulbismēle
      smēķētaplaudēkrauklispaziņodrausmīgsdon-t_mentionlejupielādēt
      karstumsdrausmīgssmieties1mdasapulceņirgāšanāsnegatīvs
      not_ipopkornssodītlasītnobiedētbiedēmeklēt
      ņurdētpaldiesšoto_clueumņikakūtapiekrītu
      sliktibēmelnā acsblum3sarktlielītiesgarlaicība
      cenzētspleasantryslepens2draudētuzvarajusun_bespectacled
      šoksrespektlolprevedlaipni gaidītikrutojsya_za
      ya_dobryipalīgsne_huliganne_othodifludsaizliegumstuvu
2 komentārs
Lai kaut ko novietotu uz maizes tāfeles kā gatavu ierīci, labi, es nezinu ...
Jūs varat aizstāt šo "diezgan dārgo dēli", piemēram, ar ESP32 Mini aptuveni 320 rubļu vērtībā. Un, sākot no maizes paneļa, visu šo ekonomiku nodot vismaz uz atdeves kuģa.

Mēs iesakām izlasīt:

Nododiet to viedtālrunim ...