Sử dụng ứng dụng Microsoft Soundscape (vì một số lý do chỉ có sẵn cho hệ điều hành iOS), cho phép người khiếm thị điều hướng trong không gian và tìm hiểu những gì xung quanh họ, sử dụng lời nhắc bằng giọng nói, sẽ thuận tiện hơn nữa nếu bạn tạo một điều khiển từ xa sáu nút bên ngoài do ba tác giả Inecttables đề xuất - Jazz Ang, Ana Liu và Venkatesh Potluri.
Nói một cách chính xác, Soundscape không phải là sự phát triển của chính Microsoft Corporation, mà là bộ phận của nó có tên Microsoft Research, tham gia vào các thí nghiệm và nghiên cứu trong nhiều lĩnh vực. Người ta tin rằng ngay cả bầu không khí bên trong cũng hoàn toàn khác so với phần còn lại của tập đoàn.
Các nút trên điều khiển từ xa:
1 - bắt đầu / dừng phát lại tệp âm thanh hoặc video và khi ứng dụng Soundsdape đang chạy và chạy ẩn, nó cũng bật / tắt thông báo bằng giọng nói từ chương trình này.
2 - âm thanh bật / tắt đầy đủ, tương tự nút Tắt tiếng trên điều khiển TV.
3 - chuyển đến bản nhạc tiếp theo trong trình phát âm thanh hoặc video và trong chương trình Soundscape - chuyển đến thông báo bằng giọng nói tiếp theo.
4 - đi đến bài hát hoặc thông báo bằng giọng nói trước đó.
5 - nhân đôi nút Home.
6 - điều khiển chế độ "Bộ điều khiển ảo" của hệ điều hành iOS (cho phép bạn sử dụng các điều khiển từ xa bên ngoài như được mô tả).
Như có thể thấy từ sơ đồ tự làm, được biên dịch trong chương trình Fritzing, các nút, mỗi nút được bổ sung bởi điện trở kéo lên 10 kOhm, được kết nối với các đầu nối 11, 7, 15, 16, 27 và 25 của bảng Adefbean Feather nRF52 khá đắt tiền, tương thích với Arduino IDE và chứa một mô-đun bluetooth. Khi sử dụng thiết bị, bo mạch này được cung cấp bởi cáp Micro USB tiêu chuẩn từ ngân hàng điện và khi lập trình - từ PC. Xin lưu ý rằng nhiều ngân hàng điện tự động tắt khi mức tiêu thụ hiện tại quá thấp và ngưỡng tắt phụ thuộc vào kiểu máy.
Sau khi lắp ráp thiết kế theo sơ đồ, các trình hướng dẫn cấu hình Arduino IDE để hoạt động với bảng này, như thể hiện trong hai ảnh chụp màn hình sau:
Sau khi cấu hình mọi thứ, các bậc thầy điền vào bản phác thảo vào bảng:
#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 TIÊU DÙNG_BROWSER_HOME 0x0223
BLEDis bledis;
BLEHidAdafbean blehid;
bool hasKeyPression = false;
// kết nối các chân trong bảng
int playpauseButtonPin = 11;
int câmButtonPin = 7;
int nextButtonPin = 15;
int backButtonPin = 16;
int homeButtonPin = 27;
int switchControlButtonPin = 25;
thiết lập void ()
{
pinMode (playpauseButtonPin, INPUT);
pinMode (câmButtonPin, INPUT);
pinMode (nextButtonPin, INPUT);
pinMode (backButtonPin, INPUT);
pinMode (homeButtonPin, INPUT);
pinMode (switchControlButtonPin, INPUT);
Nối tiếp.begin (115200);
trong khi (! nối tiếp) chậm trễ (10); // cho nrf52840 với usb gốc
Quả việt quất.begin ();
Bluefnut.setTxPower (4); // Kiểm tra bluef nhung.h để biết các giá trị được hỗ trợ
Bluefbean.setName ("TESTArroundMeBluefbean52");
// Cấu hình và bắt đầu dịch vụ thông tin thiết bị
bledis.setSản xuất ("Adafbean Industries");
bledis.setModel ("Bluefnut Feather 52");
bledis.begin ();
/ * Bắt đầu BLE HID
* Lưu ý: Apple yêu cầu thiết bị BLE phải có khoảng thời gian kết nối tối thiểu> = 20m
* (Khoảng thời gian kết nối càng nhỏ, chúng tôi có thể gửi dữ liệu càng nhanh).
* Tuy nhiên, đối với thiết bị HID và MIDI, Apple có thể chấp nhận khoảng thời gian kết nối tối thiểu
* lên tới 11,25 ms. Do đó, BLEHidAdaf nhung :: started () sẽ cố gắng đặt min và max
* khoảng thời gian kết nối đến 11,25 ms và 15 ms tương ứng để có hiệu suất tốt nhất.
* /
blehid.begin ();
/ * Đặt khoảng thời gian kết nối (tối thiểu, tối đa) thành giá trị được đánh giá của bạn.
* Lưu ý: Nó đã được đặt bởi BLEHidAdaf nhung :: started () thành 11,25ms - 15ms
* phút = 9 * 1,25 = 11,25 ms, tối đa = 12 * 1,25 = 15 ms
* /
/ * Bluefnut.Periph.setConnInterval (9, 12); * /
// Thiết lập và bắt đầu quảng cáo
startAv ();
}
void startAdv (void)
{
// Gói quảng cáo
Bluefnut.Ad Quảng cáo.addFlags (BLE_GAP_ADV_FLAGS_LE_ONLY_GENITH_DISC_MODE);
Quả việt quất.Ad Quảng cáo.addTxPower ();
Quả việt quất. Quảng cáo.addAppparent (BLE_APPEARANCE_HID_KEYBOARD);
// Bao gồm dịch vụ BLE HID
Bluefnut.Ad Quảng cáo.addService (blehid);
// Có đủ chỗ cho tên dev trong gói quảng cáo
Bluefnut.Ad Quảng cáo.addName ();
/ * Bắt đầu quảng cáo
* - Kích hoạt quảng cáo tự động nếu bị ngắt kết nối
* - Khoảng thời gian: chế độ nhanh = 20 ms, chế độ chậm = 152,5 ms
* - Thời gian chờ cho chế độ nhanh là 30 giây
* - Bắt đầu (hết thời gian) với thời gian chờ = 0 sẽ quảng cáo mãi mãi (cho đến khi được kết nối)
*
* Đối với khoảng thời gian quảng cáo được đề xuất
* https://developer.apple.com/l Library / content / qa / qa1931 / _index.html
* /
Bluefnut.Ad Quảng cáo.restartOnDisconnect (đúng);
Quả việt quất.Ad Quảng cáo.setInterval (32, 244); // tính theo đơn vị 0,625 ms
Bluefnut.Ad Quảng cáo.setFastTimeout (30); // số giây ở chế độ nhanh
Quả việt quất. Quảng cáo.start (0); // 0 = Không dừng quảng cáo sau n giây
}
// sử dụng chức năng này để điều khiển điện thoại
void sendCommand (lệnh uint16_t) {
// Hãy chắc chắn rằng chúng tôi được kết nối và liên kết / ghép nối
cho (uint16_t Conn_hdl = 0; Conn_hdl được kết nối () && kết nối-> ghép nối ())
{
// Bật đèn LED màu đỏ khi chúng tôi bắt đầu gửi dữ liệu
kỹ thuật sốWrite (LED_RED, 1);
Serial.println ("Gửi lệnh ...");
// Gửi phím bấm
blehid.consumerKeyPress (Conn_hdl, lệnh);
// Trì hoãn một chút giữa các báo cáo
trì hoãn (10);
// Gửi khóa phát hành
blehid.consumerKeyRelease (Conn_hdl);
// Tắt đèn LED màu đỏ
kỹ thuật sốWrite (LED_RED, 0);
Serial.println ("Lệnh đã gửi!");
}
}
trì hoãn (250);
}
// sử dụng chức năng này để cấu hình với điều khiển chuyển đổi
void sendSwitchControl (Lệnh String) {
for (int i = 0; i
Từ phía hệ điều hành iOS, các thuật sĩ đầu tiên thiết lập ghép nối với điều khiển từ xa qua Bluetooth:
Sau đó - chức năng của tất cả các nút trong phần trợ năng:
Sau khi đảm bảo rằng mọi thứ đều hoạt động, trình hướng dẫn ấn nút in trên máy in 3D và chia sẻ các tệp cần thiết với độc giả trên điều đa dạng được cấp phép theo CC-BY 3.0. Những phần này có thể được thực hiện theo những cách khác, hoặc không được thực hiện ở tất cả.
Hai video sau đây cho thấy các bậc thầy kiểm tra điều khiển từ xa trong thực tế:
Nó vẫn còn để xây dựng lại điều khiển từ xa theo cách tương tự, nhưng bằng cách hàn và đặt kết quả trong trường hợp, và trong iOS cài đặt ứng dụng Soundscape và chạy nó trong nền, và bạn có thể sử dụng thiết bị.