Спасибо за видео! А разве структура не тратит место во flash памяти? Имхо это не лучший способ задавать табличные значения, все таки лучше через define.
@@cxemkacom3623 попробуйте про него. Что позволяет, какая max скорость обмена и тп. Кратенько, чтоб не гробить на ролик три дня. В качестве эксперимента - зайдет не зайдет.
@@cxemkacom3623 у Мединцева есть ролик по нему, +ещё у забугорного блогера. Но они по 20 минут длятся. У тебя же стиль сжатый, всё по делу. Если ролик выйдет в 2-3 раза короче уже повысится шанс что выберут его при просмотре в качестве туториала. Потом можно и сабы прикрутить на английском. Не дело это, когда контент годный, а подписчиков болт.
Попробывал повторить шаг с получением ID устройства на mpu9250 (на палте gy91) (так же с stm32f411), по адресу регистра 0x75 (WHO_AM_I) должен прилететь 0x71 , но приходит какая-то хрень ;C Попробывал вкатится в эти ваши камушки, а тут такая подстава, ну жду видос/статью по mpu9250 :)
нашел почему не работало у тебя в статье указанно: HAL_I2C_Master_Transуmit(&hi2c1, ADXL_ADRESS, 0x00, 1, 1000); но 3-ий аргумент (который "0x00") должен быть указателем, например так: uint8_t reg = 0x75; HAL_I2C_Master_Transmit(&hi2c1, GY91_ADR, ®, 1, 50);
3200 выборок в секунду полУчите при подключении к SPI. Если подключение как в видео, по I2C, максимальная частота выборки вчетверо меньше: 800 выборок/с при максимальной скорости передачи I2C в 400кГц.
Для получения потока данных по SPI надо свою программу в микроконтроллер писать: в видео подключение по I2C, а не по SPI - существенное отличие. Перед началом измерения (передачи потока) надо инициализировать регистры ADXL, выбрав режим измерения и запустив непрерывное измерение. Затем в программе микроконтроллера мониторить состояние бита регистра Rg 0x30/bit7 (data_ready). При установке бита считывать состояния регистров 0x32...0x37 и передавать их потоком. Если нужна передача данных только от одного канала, при скорости передачи данных в 115200бит/с (микроконтроллером по USB или UART) максимальная частота преобразования снизится с 3200выборок/с до 1600выб/с.
В видео сделано верно: адрес в виде, представленном в документации, надо сдвигать влево на 1 разряд. Цитата из даташита: "Альтернативный адрес I2C 0x53 (ПОСЛЕ КОТОРОГО СЛЕДУЕТ БИТ Чтение/ЗАПИСЬ) можно выбрать подачей лог.0 на контакт ALT ADDRESS (конт.12).Это соответствует значению адреса 0xA6 для записи и 0xA7 для чтения." Для записи в программу существенно в нём только "адрес 0xA6 для записи 0xA7 для чтения". ST, например, для своих датчиков пишет адреса в двоичном виде, и в изложении ST это выглядело бы так: базовый адрес I2C: 1010 011xb, т.е., адрес для записи 1010 0110b (0xA6), для считывания 1010 0111b (0xA7). Вероятно, ардуино требуется 7-битный адрес (0x53), а его сдвиг влево и добавление младшего бита (справа) для формирования I2C адреса записи или считывания выполняется средой разработки. Не исключено, что среда разработки ардуино правильно обработает и 8-битный адрес (0xA6), если в старшем бите 8-разрядного адреса окажется единица.
Коротко і по суті. Дякую за підказку з таблицею ініціації значень.
голос за кадром напоминает первые гундосые переводы американских "видиков")
Интересно, как высчитать частоту вибрации, типа инпутшейпинга в клиппере ?
Комментарий для активности канала
Как подключить 4шт adxl345 к ардуино нано? Потянет? Цель- вывести на экран смартфона 4 графика от этих датчиков, для анализа вибрации в разных местах
Спасибо за видео! А разве структура не тратит место во flash памяти? Имхо это не лучший способ задавать табличные значения, все таки лучше через define.
Может лайтовый курс сделать по Кубам? IDE, Monitor, Prog? Как раз СТ-шники их обновили.
можно, но там вроде все как и было
@@cxemkacom3623 подписату надо как то расширять. Мб такие ролики подтянут новичков и просмотры.
@@akvilion7365 сложно угадать, мб monitor и зайдет
@@cxemkacom3623 попробуйте про него. Что позволяет, какая max скорость обмена и тп. Кратенько, чтоб не гробить на ролик три дня. В качестве эксперимента - зайдет не зайдет.
@@cxemkacom3623 у Мединцева есть ролик по нему, +ещё у забугорного блогера. Но они по 20 минут длятся. У тебя же стиль сжатый, всё по делу. Если ролик выйдет в 2-3 раза короче уже повысится шанс что выберут его при просмотре в качестве туториала. Потом можно и сабы прикрутить на английском. Не дело это, когда контент годный, а подписчиков болт.
Попробывал повторить шаг с получением ID устройства на mpu9250 (на палте gy91) (так же с stm32f411), по адресу регистра 0x75 (WHO_AM_I) должен прилететь 0x71 , но приходит какая-то хрень ;C
Попробывал вкатится в эти ваши камушки, а тут такая подстава, ну жду видос/статью по mpu9250 :)
нашел почему не работало
у тебя в статье указанно:
HAL_I2C_Master_Transуmit(&hi2c1, ADXL_ADRESS, 0x00, 1, 1000);
но 3-ий аргумент (который "0x00") должен быть указателем, например так:
uint8_t reg = 0x75;
HAL_I2C_Master_Transmit(&hi2c1, GY91_ADR, ®, 1, 50);
@@oqqa5295 спасибо, исправил
20:25 где продолжение ?
Так... Бандикам, папка Лб, а это что? Почему контроллер MIDI?
на какой секунде?
@@cxemkacom3623 18:02 я думал пасхалка XD
Подскажите мне нужны ускорения только с одной оси. сколько можно получить отсчетов за секунду
3200
Страница 14:
www.analog.com/media/en/technical-documentation/data-sheets/ADXL345.pdf
@@cxemkacom3623
как в режиме SPI 3wire получать только 32 и 33 (Х) регистры в потоке ?
3200 выборок в секунду полУчите при подключении к SPI. Если подключение как в видео, по I2C, максимальная частота выборки вчетверо меньше: 800 выборок/с при максимальной скорости передачи I2C в 400кГц.
@@bvn6136 Спасибо.
Для получения потока данных по SPI надо свою программу в микроконтроллер писать: в видео подключение по I2C, а не по SPI - существенное отличие.
Перед началом измерения (передачи потока) надо инициализировать регистры ADXL, выбрав режим измерения и запустив непрерывное измерение.
Затем в программе микроконтроллера мониторить состояние бита регистра Rg 0x30/bit7 (data_ready). При установке бита считывать состояния регистров 0x32...0x37 и передавать их потоком.
Если нужна передача данных только от одного канала, при скорости передачи данных в 115200бит/с (микроконтроллером по USB или UART) максимальная частота преобразования снизится с 3200выборок/с до 1600выб/с.
Хороший акселерометр. В своё время я активно его использовал, но потом от него отказался в пользу более энергоэффективного.
Так у этого в режиме измерения 23 мкА. У альтернативы в разы меньше?
@@akvilion7365 меньше, например у LIS2DW12 при частоте 25 Гц потребление 1,5 мкА, при частоте 1,6 Гц, потребление 380 нА.
куда же еще энергоэффективнее ?Это сравнимо с саморазрядом аккума
@@ukr-pig согласен, но если вы разрабатываете носимую электронику то каждый мкА имеет значение.
Кто нибудь может помочь такое смастерить? Я заплачу.
до чего же противная озвучка, информация конечно полезная, но озвучка зсе портит
Объясните кто-нибудь, зачем мы сдвигаем адрес датчика на шине 0x53?
#define ADXL_addr (0x53
В видео сделано верно: адрес в виде, представленном в документации, надо сдвигать влево на 1 разряд. Цитата из даташита:
"Альтернативный адрес I2C 0x53 (ПОСЛЕ КОТОРОГО СЛЕДУЕТ БИТ Чтение/ЗАПИСЬ) можно выбрать подачей лог.0 на контакт ALT ADDRESS (конт.12).Это соответствует
значению адреса 0xA6 для записи и 0xA7 для чтения."
Для записи в программу существенно в нём только "адрес 0xA6 для записи 0xA7 для чтения".
ST, например, для своих датчиков пишет адреса в двоичном виде, и в изложении ST это выглядело бы так:
базовый адрес I2C: 1010 011xb, т.е., адрес для записи 1010 0110b (0xA6), для считывания 1010 0111b (0xA7).
Вероятно, ардуино требуется 7-битный адрес (0x53), а его сдвиг влево и добавление младшего бита (справа) для формирования I2C адреса записи или считывания выполняется средой разработки. Не исключено, что среда разработки ардуино правильно обработает и 8-битный адрес (0xA6), если в старшем бите 8-разрядного адреса окажется единица.
@@bvn6136 Спасибо большое, за ответ!