Arduino Micro Pro + PAJ7620U2
- Войдите на сайт для отправки комментариев
Пт, 08/11/2019 - 21:09
Датчик перестает работать при хардварном сбросе Ардуино(отключение от питания). Использовал вот эту библиотеку https://github.com/Seeed-Studio/Gesture_PAJ7620
Датчик работает без проблем после заливки кода, после переподключения ардуино датчик перестает работать. Если ардуино сбросить перемычкой на плате, датчик начинает работать без проблем. Видимо какие-то проблемы, с инициализацией датчика при включении ардуино. Есть идеи как это победить? В целом даже не совсем понятно, программная проблема это или хардварная...
На код можно посмотреть?
На код можно посмотреть?
Код для тестов использую тот что в примере https://github.com/Seeed-Studio/Gesture_PAJ7620/blob/master/examples/paj7620_9gestures/paj7620_9gestures.ino
Есть ли смысл обновлять bootloader у ардуины?
Нет, мне не надо в примере, мне надо точным копипастом из Вашего IDE (может Вы там пины меняли или ещё чего).
Кстати, попробуйте пока САМОЙ ПЕРВОЙ командой в setup вставить delay(100); Поможет?
Нет, мне не надо в примере, мне надо точным копипастом из Вашего IDE (может Вы там пины меняли или ещё чего).
Кстати, попробуйте пока САМОЙ ПЕРВОЙ командой в setup вставить delay(100); Поможет?
Это точная копипаста, смысл что-то менять если пример корректно не работает? Пробовал выставлять delay(1000); Попробую поменьше.
UPD
Задержка не помогает...
Датчик перестает работать при хардварном сбросе Ардуино(отключение от питания).
Давайте угадаю, вы выбираете в меню IDE плату Arduino/Genuino Micro, да? Если да, то в этом и причина. Нужен аддон для платы ProMicro.
Датчик перестает работать при хардварном сбросе Ардуино(отключение от питания).
Давайте угадаю, вы выбираете в меню IDE плату Arduino/Genuino Micro, да? Если да, то в этом и причина. Нужен аддон для платы ProMicro.
Не угадали, выбираю Arduino Leonardo, ибо она и определяется как Arduino Leonrado... Только как это связано, можно пояснить?) Остальные железки работали без проблем, только с этим датчиком какой-то странный глюк.
khseal, микро и леонардо не важно. Они как раз почти полностью совместимы (кроме светодиодов). А промикро с ними не совместима. Нужно ставить аддон от производителя оригинала (www.sparkfun.com)
khseal, микро и леонардо не важно. Они как раз почти полностью совместимы (кроме светодиодов). А промикро с ними не совместима. Нужно ставить аддон от производителя оригинала (www.sparkfun.com)
У меня такая про микро https://compacttool.ru/viewtovar.php?id=683 Это китайский клон.
Сомневаюсь что аддон тот поможет...
Update
Поставил библиотеки для оригинальной про микро, кардинально в работе ничего не изменилось. Проблема как была там же и осталась...
khseal, вы же ещё в 2016 году (!) сталкивались с проблемой с этими промикро. Должны знать, что бывает, когда бутлоадер не соответствует выбираемой плате.
Может в конкретном случае дело и не в этом, но начинать надо было с этого по любому.
khseal, вы же ещё в 2016 году (!) сталкивались с проблемой с этими промикро. Должны знать, что бывает, когда бутлоадер не соответствует выбираемой плате.
Может в конкретном случае дело и не в этом, но начинать надо было с этого по любому.
Там был изначально, у всей партии бутлоадер бракованный и там любой код работал с проблемами, тот же Hello World. А эта ардуина уже как бы проверенная, работала с другими датчиками и проблем таких не было.
Попробую к другой ардуине подключить этот датчик, чтобы хоть какую-то ясность внести.
UPD
На другой Arduino Mega заработало без проблем, там даже работа логики немного другая.
UPD2
Прошил бутлоадер два раза разными бутлоадерами особо не помогло(
Есть подозрение что затыкается эта библиотека при работе с Serial. Т.к. на другой ардуине информации отображается много и как-то по другому инициализируется Serial, а на ардуино микро про информации инициализации не отображается в любых ситуациях.
может так
может так
Это частично помогло, мое утверждение про Serial порт было верно. Теперь появилась другая проблема. Если Serial порт не открываешь, то и библиотека не работает. Обратился к порту и библиотека заработала. Можно ли как-то принудительно порт открывать или придеться изобретать говно и палки? Библиотеку ковырять, тоже большого желания нет.
Update
Выкинул почти все из void setup()
В void loop() добавил paj7620Init(); и шарманка завелась. Только не уверен что это правильно. Скорее, совсем не правильно, почему не происходит инициализация при старте без Serial, загадка. Я уже и библиотеку поковырял.
закоментить в библиотеке все выводы в сериал
закоментить в библиотеке все выводы в сериал
Пробовал, не помогает =) Да у других библиотек есть обращения к сериалу, но это не мешает им работать. Короче странная фигня. Как вариант буду serial портом дергать на девайсе который с ардуиной работает, но нюанс интересный...
Скорее, совсем не правильно, почему не происходит инициализация при старте без Serial, загадка. Я уже и библиотеку поковырял.
Потому, что это не аппаратный сериал, такой недостаток на всех платах с USBCDC. Программа проскакивает весь сетап гораздо быстрее, чем происходит соединение с компьютером. Выход -либо вайлом ожидать пока сериал откликнется, либо просто вставить паузу побольше.
Скорее, совсем не правильно, почему не происходит инициализация при старте без Serial, загадка. Я уже и библиотеку поковырял.
Потому, что это не аппаратный сериал, такой недостаток на всех платах с USBCDC. Программа проскакивает весь сетап гораздо быстрее, чем происходит соединение с компьютером. Выход -либо вайлом ожидать пока сериал откликнется, либо просто вставить паузу побольше.
дракула как-то публиковал решение этой проблемы
дракула как-то публиковал решение этой проблемы
Где если не секрет?
Потому, что это не аппаратный сериал, такой недостаток на всех платах с USBCDC. Программа проскакивает весь сетап гораздо быстрее, чем происходит соединение с компьютером. Выход -либо вайлом ожидать пока сериал откликнется, либо просто вставить паузу побольше.
Это понятно, но не понятно, почему библиотека не работает без инициализации сериала. Я полностью выпиливал обращение к порту из библиотеки и все равно без инициализации порта, библиотека не инициализировалась. При этом другие библиотеки, которые что-то пишут в порт работают без подобных проблем.
Нашел другую библиотеку с ней все волшебно, поэтому проблему практически решил.
Нашел другую библиотеку с ней все волшебно, поэтому проблему практически решил.
Обычно и ссылки дают, а то какой толк от этой ветки, только сносить, она же не в отвлечённых
Обычно и ссылки дают, а то какой толк от этой ветки, только сносить, она же не в отвлечённых
Ссылку постеснялся оставлять. Толк от это ветки есть. Если кто-то будет пробовать подключать этот датчик к конкретно, этой ардуине и возникнут проблемы, найдет решения тут. А гуглом пользоваться в 21 веке должен уметь каждый.
Код брал отсюда https://www.waveshare.com/wiki/PAJ7620U2_Gesture_Sensor
Народ, а подскажите, никто данный сенсор по spi не пытался подключать, в даташите заявлено что есть режим image mode, но только по spi?