Кто-нибудь пытался использовать модули датчиков жеста APDS-9960 ?

Rogerclark
Пн декабря 04, 2017 6:37 утра
Я наткнулся на них сегодня

https: // www.eBay.компонент.au/itm/gy-9960llc- ... 2389420885

и подумал, использовал ли кто -нибудь их ?

Sparkfun есть таблица данных

https: // cdn.Sparkfun.com/datahasthets/sen ... DS9960.PDF

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

За 3 доллара они кажутся дешевле, чем время датчиков расстояния на полете, и я подозреваю, что они используют время полета, хотя я не вижу, чтобы это называлось в таблице данных

Zoomx
Пн декабря 04, 2017, 9:23 утра
Никогда не использовался.

Сравнение таблицы с VL53L0X One
http: // www.ул.com/content/ccc/resource/ ... 279086.PDF
Кажется, они работают по -разному.
APDS-9960 использует ИК-светодиод и серию световых датчиков.
Vl53l0x использует очень низкую мощность IR-лазер и своего рода фотоумножитель (однофотонный диод лавины) для обнаружения небольшого отраженного света.
Может быть, аппаратное обеспечение APDS-9960 можно использовать для расчета времени, но схема или небольшая прошивка внутри, если она есть, не способна к этому. Может быть, потому что ИК -светодиод не может включаться и выключаться за очень короткое время или не может быть модулирован. Может я ошибаюсь.
Даташт говорит Операция близости
Функция обнаружения близости обеспечивает измерение расстояния путем обнаружения фотодиода отраженной энергии ИК, полученной в интегрированном светодиоде. Следующие регистры и биты управления регулируют работу близости, а эксплуатационный поток изображен на рисунке 8
Но кажется, что вы можете только обнаружить, что объект находится в поле зрения, и если этот объект ближе или дальше, используя значения света.
На рисунке 13а вы можете видеть, что расстояние зависит от отражательной способности.

Rogerclark
Пн декабря 04, 2017, 9:50 утра
Я согласен, это не говорит, как это работает

В этом видео это, кажется, показывает, что это каким -то образом дает расстояние, но, вероятно, не калиброванное значение,
https: // youtu.be/m8gryx_jhpm?t = 60


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

Но поскольку они вдвое меньше цены на время полетных устройств, они могут быть полезны для некоторого применения.

Zoomx
Вт 05 декабря 2017 г. 11:01
Сегодня... Hackaday я прочитал этот пост
Контроль жеста на обеденные деньги
https: // chackaday.com/2017/12/03/жест ... NCH-Money/
что разговоры об этом проекте
https: // www.Инструменты.com/id/nevma- ... он массы/
где используется APDS-9960, установлен на определенном Arduino Micro (тот, который с Atmega32U4, как доска Леонардо)
Изображение
Он переводит несколько простых жестов в движении мыши.
Код работает на всех досках Atmega32u4, я считаю.

Rogerclark
Вт 05 декабря 2017 г. 11:13 утра
Я видел это на Hackaday

Сегодня я заказал 3 модуля из Китая, но они не прибудут в течение нескольких недель

Zoomx
Вторник 05 декабря 2017 12:10
Получил только один.

Стивестронг
Пн, 12 февраля 2018 г., 18:32
Я получил свой модуль APDS9960 и попробовал примеры близости и жеста.

Использовал Sparkfun Lib.

Мой модуль имеет идентификатор 0xa8.
Он обнаруживает (разумную) близость в 5 см..20 см. Интервал. Чем дальше, тем более шумной измерение более шумно. На 5 см он насыщен (255).

Пример жеста в основном работает (без использования прерываний), за исключением ближайшего жеста. Это будет обнаружено только тогда, когда я перемещаю руку из дальнего положения вблизи датчика а потом Переместите его в горизонтальную плоскость (датчик, лежащий на столе, ориентированном вверх). Не уезжая, он не будет обнаружен рядом.
Оказалось, что поведение по умолчанию, кодируемое в либе.

Кроме того, иногда он не обнаруживает жестов : шок:

Я включил отладку, но я не могу (пока) интерпретировать огромное количество отображаемых данных.
Любой знаком с теорией, стоящей за обнаружением жестов с этим модулем?

У кого -нибудь был подобный опыт?

РЕДАКТИРОВАТЬ
Я понял, что чтение FIFO каким -то образом ограничено Максом. 8 записей (8*4 байтов) в рамках подпрограммы чтения блока данных, даже если в FIFO доступно более 8 записей. Хм.

Стивестронг
Сб 17 февраля 2018 г. 14:40
Я переработал LIB Sparkfun, чтобы разрешить обнаружение большего количества направлений, а также обнаружить подход/динамику отъезда, не только статическое положение вблизи/далеко.
Кроме того, пользователь может выбрать подключенный интерфейс I2C в примере эскиза, не изменяя что -то в LIB.

Типичный последовательный выход из примера датчика жеста: HardwareTimer pwmtimer(2); void setup() { // pinMode(11, INPUT_ANALOG); // Serial.begin(115200); pinMode(PA1, PWM); pwmtimer.setPrescaleFactor(1); pwmtimer.setPeriod(50); }

Арпрос
Сб 17 февраля 2018 г. 16:46
Спасибо! Хорошая работа! Я жду моего APD9960 по почте.

Арпрос
Сб 17 марта 2018 г. 13:24
Интересно, не является ли модуль, который я получил от Aliexpress, не дефектный.

Id = 0x30. Пример близости, всегда дает ноль. Гестерет только сдается, что бы я ни делал. Я получаю чтения Colorsensor, как: HardwareTimer pwmtimer(2); void setup() { // pinMode(11, INPUT_ANALOG); // Serial.begin(115200); pinMode(PA1, PWM); pwmtimer.setPrescaleFactor(1); pwmtimer.setPeriod(50); }

Стивестронг
Сб 17 марта 2018 г. 13:44
Кажется, что у вас есть ADPS9930 (не 9960).
Для этого вам нужна другая библиотека, см. Здесь: http: // www.Инструменты.com/id/wind- ... APDS-9960/

Арпрос
Сб 17 марта 2018 г. 14:08
[Стивестронг - Сб 17 марта 2018 г. 13:44] - Кажется, что у вас есть ADPS9930 (не 9960).
Для этого вам нужна другая библиотека, см. Здесь: http: // www.Инструменты.com/id/wind- ... APDS-9960/
Да, это смущает. Я купил не тот датчик. Ну, я всего лишь доллар.

Прямая ссылка для библиотеки 9930: https: // github.com/depau/apds9930
И библиотека 9930 работает с ней.

Rogerclark
Пн 19 марта 2018 г., 2:05
КСТАТИ. Я вытащил исправление Стива I2C в свою репо, но мне нужно дважды проверить, было ли исправление для этого или другого устройства

Редактировать.

Я вижу, что исправление не было для этого устройства, и по мере того, как исправление пришло от Стива, с этим устройством не должно быть никаких проблем и изменения в библиотеке I2C

ZMEMW16
Ср 21 марта 2018 г., 11:05
Так что, если размахивать двумя руками, кто -нибудь думает или строит тур ?
SRP

Арпрос
SAT 07 апреля 2018 г., 19:57
[Стивестронг - Сб 17 февраля 2018 г. 14:40] - Я переработал LIB Sparkfun, чтобы разрешить обнаружение большего количества направлений, а также обнаружить подход/динамику отъезда, не только статическое положение вблизи/далеко.
Кроме того, пользователь может выбрать подключенный интерфейс I2C в примере эскиза, не изменяя что -то в LIB.
Я попробовал библиотеку и почти все время приближаюсь. Иногда, когда я запускаю палец очень близко к датчику (около 5-10 мм), я могу встать налево или вправо, но я не могу уйти, приближаться и т. Д. Любые предложения?

Примеры датчика цвета и датчика близости работают нормально.

Улучшение вики