2015-05-21 6 views
0

Я хочу знать, как распознать код вспышки мигающего светодиода. Если я установил в приложении правильный код: 0,5 + 1; 0,5 + 3 (0,5 сек. СВЕТ, 1 сек. ТЕМНЫЙ, 0,5 сек. СВЕТ, 3 сек. ТЕМНЫЙ), а затем при обнаружении светодиодного индикатора , как распознать первую вспышку (0,5), если мигает постоянно? Как сравнить обнаруженные значения с указанными?Датчик света для Android: обнаружение указанного кода вспышки

ответ

0

Учитывая, что вы получаете сигнал без помех, то вы будете получать последовательность: 0,5 LIGHT, 1 DARK, 0,5 LIGHT, 3 DARK, 0,5 СВЕТА, 1 DARK, 0,5 СВЕТА, 3 DARK ...

Таким образом, я думаю, что вы не соответствуете конкретному событию, а сопоставляете его с временным окном (0,5 + 1 + 0,5 + 3 = 5 секунд). При перемещении временного окна по обнаруженным сигналам вы найдете свои события, а затем вы можете определить конкретные.

Важно проверить частоту, которую вы можете получить из датчика освещенности. Скажем, если вы получаете в 10fps, тогда вы получите массив значений:

[0, 10, 200, 230, 209, 198, 201, 10, 7, 20, 17, 18, 10, 11, 10, 12, 13, ...]

Затем, установив порог, вы можете увидеть, где находится начало и конец света и темноты.

Когда вы используете окно времени 5 секунд, массив, который вы храните, будет иметь длину 50. Возможно, вы захотите проверить массив, сначала соединяя его голову и хвост, чтобы соответствовать последовательности, которую вы хотеть.

Надеюсь, это поможет!