Многофункциональный датчик для Ардуино APDS-9960

Многофункциональный датчик APDS-9960 позволяет определять цвет поверхности (как этот детектор), оценивать расстояние до препятствия и распознавать простые жесты. Датчик был приобретен на Али за 3 доллара (200 рублей). Датчик традиционно для Китая поставляется в антистатическом пакете.

Габаритные размеры устройства 25 х 17 мм, на плате имеются два крепежных отверстия диаметром по 3 мм, расстояние между центрами отверстий 11 мм. Масса датчика 1,4 г. На плате модуля имеется инфракрасный светодиод, тусклое свечение которого вполне можно заметить невооруженным глазом, даже в условиях не слишком яркого дневного освещения, для лучшей заметности следует использовать сильную лупу. Излучение светодиода отражается от исследуемой поверхности и попадает на группу фотодиодов. С другими устройствами взаимодействие происходит по интерфейсу I2C.

Подключение многофункционального датчика

Плата устройства имеет 5 контактов:

  • VCC – питание 3,3 В,
  • GND — общий провод,
  • INT — вывод для сигнала прерывания,
  • SDA и SCL — контакты интерфейса I2C [1-4].

В простейшем случае использовать датчик можно с неподключенным контактом INT.

Модуль потребляет ток 160-140 мкА при напряжении 3,3 В.

Для работы с данным устройством написана специальная библиотека SparkFun_APDS-9960_Sensor_Arduino_Library-master [5-6]. К ней прилагается ряд примеров, иллюстрирующих работу устройства в разных режимах. Программа ColorSensor позволяет отличать цвет поверхности. В качестве подопытных поверхностей были использованы папки трех цветов.

Экспериментально установлено, что для надежного распознавания цветов расстояние между поверхностью и датчиком должно составлять 1,5-2 см.

Красная папка

Зеленая папка

Синяя папка

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

Полезное:  Датчик влаги, воды или дождя - электронный модуль

Аналогичный результат дает и черная шероховатая поверхность бокса CD-диска, разумеется в этом случае общая яркость отраженного сигнала гораздо меньше.

Особенно приятно удивило то, что надежно опознается цвет не только поверхностей большой площади, но и цвет сравнительно небольших предметов.

Красная рукоятка отвертки

Синяя рукоятка отвертки

Зеленый кистевой эспандер

Хотя для случая локальных предметов разница в сигнале по разным цветовым каналам меньше, тем не менее, во всех случая цвет с расстояния в 1,5 – 2 см распознается уверенно. Программа AmbientLightInterrupt также замеряет общую освещенность и освещенность по трем цветовым каналам, но с использованием прерывания.

Программа ProximitySensor позволяет измерять расстояние до препятствия в диапазоне от 5 до 40 см, результат измерения представляется числом от 0 до 255.

Программа ProximityInterrupt реагирует на приближение препятствия, на расстояние 20 см и меньше, программа использует прерывание.

Программа GestureTest позволяет распознавать простые жесты. При этом данная программа наиболее надежно распознает жесты «LEFT» и «RIGHT». При использовании датчика для распознавания жестов следует двигать рукой плавно, без резких движений.

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

Полезные ссылки

  1. www.theorycircuit.com/arduino-gesture-sensor-apds-9960/
  2. www.youtube.com/watch?v=0iagZdvaxV8
  3. de-news.net/online/датчик-жестов-apds-9960-подключение-к-arduino-0iagZdvaxV8.html
  4. elekt.tech/arduino/sensors/datchik-zhestov-osveshhennosti-tsveta-i-priblizheniya-apds-9960-dlya-arduino.html
  5. github.com/sparkfun/SparkFun_APDS-9960_Sensor_Arduino_Library
  6. iarduino.ru/file/308.html

Файлы управления модуля тут. Автор обзора датчика — Denev.


(Пока оценок нет)
Загрузка...

НАЖМИТЕ ТУТ И ОТКРОЙТЕ КОММЕНТАРИИ