» elektronika » Težak »Primjena sa šest gumba na upravljačkoj ploči Microsoft Soundscape

Upravljačka ploča aplikacije Microsoft Soundscape sa šest gumba




Upravljačka ploča aplikacije Microsoft Soundscape sa šest gumba


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

Dodajte komentar

    • osmijehosmjesixaxau redudontknowprostakNea
      gazdaogrebotinabudaladaDa-Daagresivantajna
      oprostiteplesdance2dance3pomilovanjepomoćpića
      zaustavljanjeprijateljidobrogoodgoodzviždaljkapasti u nesvijestjezik
      dimpljeskanjeCrayObjavitepodrugljivdon-t_mentionpreuzimanje
      vrućinaljutitlaugh1MDAsastanakmoskingnegativan
      not_ikokicekaznitičitatiuplašitiplašitraži
      podsmijehthank_youovoto_clueumnikakutansložiti
      lošebeeeblack_eyeblum3rumenilohvalisati sedosada
      cenzuriranizadirkivanjesecret2prijetitipobjedayusun_bespectacled
      shokrespektlolpreveddobrodošlikrutoyya_za
      ya_dobryipomoćnikne_huliganne_othodifludzabranablizu
2 komentari
Da biste nešto stavili na ploču kao gotov uređaj, ne znam, ne znam ...
Možete zamijeniti ovu "prilično skupu ploču", na primjer, ESP32 Mini vrijednom oko 320 rubalja. A s ploče da svu ekonomiju barem prebacimo na ploču s isplatom.

Savjetujemo vam da pročitate:

Predaj to pametnom telefonu ...