Датчик жестов APDS 9960

Ответить
Timofei
Рядовой
Сообщения: 7
Зарегистрирован: 07.11.2018{, 12:16}
Репутация: 0
Имя: Тимофей

Датчик жестов APDS 9960

#1

Сообщение Timofei » 07.11.2018{, 13:28}

Всем привет дорогие профессионалы. Такой вопрос. Делаю светильник, который меняет цвета от жестов с помощью датчика APDS9960. Проект создаю в FLPROG. Датчик жестов работает корректно.

Когда происходит жест, например слева на права ( жест RIGHT) то включается первый светодиод. Когда делаю еще один жест такойже (RIGHT). то нет смены на новый цвет. Смена цвета происходит когда делаю любой другой жест и затем сноваделаю жест RIGHT.

Принцып работы датчика мне ясен - при обработке жеста (напр. RIGHT) - сигнал лог. единицы ны выходе держится всегда. Сигнал на ноль переводится любым другим жестом. Тоесть чтобы переключить на смену цвета надо махать туда сюда.

Мне бы хотелось чтобы делать жест в одну сторону и поочередно была смена цветов.

Помогите с проблемой.

Думаю если при обработке жеста единица менялась бы на ноль допустим через задержку то был бы желаемый результат. Но как сделать это незнаю. В программировании языка С не силен.
Заранее большое спасибо всем за помощь))).
Счетчик CTU работает на увеличение.
СпойлерПоказать
ЖЕсты для форума.jpg
Это фрагмент кода. Здесь обрабатываются жесты и выдается единица. Может тут можно сделать задержку по истечении которой жест обнулится.
if (Gesture_70103259_1 == ("UP" )) { UP__70103259_1 = 1;} else {UP__70103259_1 = 0;}
if (Gesture_70103259_1 == ("DOWN")) { DOWN__70103259_1 = 1;} else {DOWN__70103259_1 = 0;}
if (Gesture_70103259_1 == ("LEFT")) { LEFT__70103259_1 = 1;} else {LEFT__70103259_1 = 0;}
if (Gesture_70103259_1 == ("RIGHT")) {RIGHT__70103259_1 = 1;} else {RIGHT__70103259_1 = 0;}
if (Gesture_70103259_1 == ("NEAR")) {NEAR__70103259_1 = 1;} else {NEAR__70103259_1 = 0;}
if (Gesture_70103259_1 == ("FAR")) {FAR__70103259_1 = 1;} else {FAR__70103259_1 = 0;}
if (Gesture_70103259_1 == ("NONE")) {NONE__70103259_1 = 1;} else {NONE__70103259_1 = 0;}

viga5
Рядовой
Сообщения: 54
Зарегистрирован: 06.09.2015{, 09:59}
Репутация: 0
Имя: Виталий
Контактная информация:

Датчик жестов APDS 9960

#2

Сообщение viga5 » 07.11.2018{, 14:26}

Поставь между блоком и счетчиком Rtrig он даст 1 и сбросить в ноль.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Датчик жестов APDS 9960

#3

Сообщение Sancho » 07.11.2018{, 14:49}

Timofei, Попробуй:
Заготовка Atmel Nano_9960.flp
(389.88 КБ) 109 скачиваний
Посмотри/найди отличия, подумай и скажи -"Ёлы-палы, как элементарно!"

Отправлено спустя 1 час 43 минуты 5 секунд:
Описание библиотеки, смотреть предпоследнюю функцию, оценить код проекта.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Timofei
Рядовой
Сообщения: 7
Зарегистрирован: 07.11.2018{, 12:16}
Репутация: 0
Имя: Тимофей

Датчик жестов APDS 9960

#4

Сообщение Timofei » 07.11.2018{, 18:54}

Sancho. Спасибо Вам большое за помощь. Разобрался в чем дело в вашем проекте. Все работает как надо!!!!!!)))))

whitevip
Лейтенант
Сообщения: 492
Зарегистрирован: 01.04.2017{, 20:25}
Репутация: 5
Имя: Имя

Датчик жестов APDS 9960

#5

Сообщение whitevip » 13.01.2019{, 14:30}

сам ПБ можно ссылку?Sancho,
:smile37:

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Датчик жестов APDS 9960

#6

Сообщение Sancho » 13.01.2019{, 16:13}

whitevip, Внутри :)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

whitevip
Лейтенант
Сообщения: 492
Зарегистрирован: 01.04.2017{, 20:25}
Репутация: 5
Имя: Имя

Датчик жестов APDS 9960

#7

Сообщение whitevip » 13.01.2019{, 16:21}

Sancho, выложите пожалуйста сам блок , у меня 2.5.1 версия и не открывает этот проект. Спасибо.
:smile37:

Аватара пользователя
ElectroMechaniC
Сержант
Сообщения: 230
Зарегистрирован: 21.09.2016{, 06:50}
Репутация: 1
Откуда: Донецк
Имя: Юрий

Датчик жестов APDS 9960

#8

Сообщение ElectroMechaniC » 23.10.2019{, 15:43}

Sancho, Приветствую! Протестировал Ваш блок - работает исправно. Спасибо!
Есть искушение сделать на одном датчике и светочувствительность и жесты и определение цвета...
Вопрос следующий: можно это сделать в одном и том же проекте? Может APDS 9960 выполнять все свои три функции "одновременно"(т.е. последовательно конечно) но без какого либо разрешения на то?
К примеру меряет он, допустим, штатно степень освещённости помещения, тут бац пришел пользователь, махнул рукой, датчик отреагировал, потом пользователь показал ему на смартфоне красный цвет, а он ещё что нибудь по этому флагу забабахал)))) но что бы мерял освещённость.
Проще говоря инициализация функций общая или только что то одно может выполняться?
:newrus: Все в руках человека. Поэтому всегда мойте руки перед и зад! :victory:
:smile225: :smile469: :smile427:

igor77
Рядовой
Сообщения: 10
Зарегистрирован: 06.07.2020{, 19:54}
Репутация: 0
Имя: игорь

Датчик жестов APDS 9960

#9

Сообщение igor77 » 06.07.2020{, 20:12}

добрый день пользователи flprog. разыскиваю пользователя FlintFD. он создал чудесный блок для apds9960 (ДАТЧИК ЖЕСТОВ) но есть несколько вопросов о работе блока, а именно там три блока, для жестов, для приближения, для освещенности и цвета. так вот, блоки все эти работают ТОЛЬКО по отдельности а вместе никак. Вопрос как соединить в одном проекте и жесты и приближение, не хочется ставить две ардуины и обьединять, может у кого завалялся блок для функционала APDS9960? спасибо

Ответить

Вернуться в «Помогите, а то я "нимагу"»