Датчик ускорения ADXL345 и STM32 (XYZ, DOUBLE TAP, FREE-FALL, ACTIVITY)

Sdílet
Vložit
  • čas přidán 24. 06. 2021
  • 📝 Статья: cxemka.com/92-podklyuchenie-a...
    🏷️ GY-291 ADXL345 3-Axis Sensor Acceleration (1.80💲): ali.ski/VZIsJX
    🏷️ ADXL345 3-axis IIC / SPI (0.89💲): ali.ski/_kPiu
    🏷️ Digital Sensor ADXL345 (1.12💲): ali.ski/AEE6Y
    🏷️ ADXL345BCCZ LGA-14 5pcs (8.01💲): ali.ski/exjU_E
    🏷️ 5pcs ADXL345 ADXL345BCCZ LGA-14 (4.50💲): ali.ski/VrtD0z
    🏷️ 5pcs ADXL345 Modules (9.40💲): ali.ski/8Ftz4T
    🏷️ STM32F401 Module (3.50💲): ali.ski/_tqycX
    🏷️ STM32F401 Black Pill USB C(3.88💲): ali.ski/-uchC5
    🏷️ STM32F401 DevBoard Type-C (3.46💲): ali.ski/pdJsU
    🛒 Мой мультиметр T21D RM113D (13.81💲): ali.ski/ED0syl
    ↪️ GitHub: github.com/Egoruch/ADXL345-ST...
    #adxl345 #stm32 #stm32cubeide
    ✒️ В этом видео рассмотрено подключение акселерометра (датчика ускорения) ADXL345 в STM32 через I²C, который имеет несколько прерываний по событиям:
    - двойной/одиночный удар;
    - активность/неактивность;
    - свободное падение;
    это очень круто и классно, потому что дает возможность просто переложить слежку за значениями ускорения датчику, а возникшее событие отлавливать чтением регистра или вообще на выводе в качестве внешнего прерывания.
  • Věda a technologie

Komentáře • 33

  • @Karroo74
    @Karroo74 Před 3 lety +1

    Коротко і по суті. Дякую за підказку з таблицею ініціації значень.

  • @AlexRootx
    @AlexRootx Před 3 lety +2

    голос за кадром напоминает первые гундосые переводы американских "видиков")

  • @CatLike158
    @CatLike158 Před 2 lety

    Спасибо за видео! А разве структура не тратит место во flash памяти? Имхо это не лучший способ задавать табличные значения, все таки лучше через define.

  • @3dprinterdoma
    @3dprinterdoma Před 5 měsíci

    Интересно, как высчитать частоту вибрации, типа инпутшейпинга в клиппере ?

  • @MrErmish
    @MrErmish Před 3 lety

    Комментарий для активности канала

  • @dvr4755
    @dvr4755 Před 9 měsíci

    Как подключить 4шт adxl345 к ардуино нано? Потянет? Цель- вывести на экран смартфона 4 графика от этих датчиков, для анализа вибрации в разных местах

  • @ukr-pig
    @ukr-pig Před 4 měsíci

    20:25 где продолжение ?

  • @akvilion7365
    @akvilion7365 Před 3 lety

    Может лайтовый курс сделать по Кубам? IDE, Monitor, Prog? Как раз СТ-шники их обновили.

    • @cxemkacom3623
      @cxemkacom3623  Před 3 lety

      можно, но там вроде все как и было

    • @akvilion7365
      @akvilion7365 Před 3 lety

      @@cxemkacom3623 подписату надо как то расширять. Мб такие ролики подтянут новичков и просмотры.

    • @cxemkacom3623
      @cxemkacom3623  Před 3 lety

      @@akvilion7365 сложно угадать, мб monitor и зайдет

    • @akvilion7365
      @akvilion7365 Před 3 lety

      @@cxemkacom3623 попробуйте про него. Что позволяет, какая max скорость обмена и тп. Кратенько, чтоб не гробить на ролик три дня. В качестве эксперимента - зайдет не зайдет.

    • @akvilion7365
      @akvilion7365 Před 3 lety

      @@cxemkacom3623 у Мединцева есть ролик по нему, +ещё у забугорного блогера. Но они по 20 минут длятся. У тебя же стиль сжатый, всё по делу. Если ролик выйдет в 2-3 раза короче уже повысится шанс что выберут его при просмотре в качестве туториала. Потом можно и сабы прикрутить на английском. Не дело это, когда контент годный, а подписчиков болт.

  • @toshibamaster2210
    @toshibamaster2210 Před 2 lety

    Подскажите мне нужны ускорения только с одной оси. сколько можно получить отсчетов за секунду

    • @cxemkacom3623
      @cxemkacom3623  Před 2 lety

      3200
      Страница 14:
      www.analog.com/media/en/technical-documentation/data-sheets/ADXL345.pdf

    • @toshibamaster2210
      @toshibamaster2210 Před 2 lety

      @@cxemkacom3623
      как в режиме SPI 3wire получать только 32 и 33 (Х) регистры в потоке ?

    • @bvn6136
      @bvn6136 Před rokem +2

      3200 выборок в секунду полУчите при подключении к SPI. Если подключение как в видео, по I2C, максимальная частота выборки вчетверо меньше: 800 выборок/с при максимальной скорости передачи I2C в 400кГц.

    • @toshibamaster2210
      @toshibamaster2210 Před rokem

      @@bvn6136 Спасибо.

    • @bvn6136
      @bvn6136 Před rokem +2

      Для получения потока данных по SPI надо свою программу в микроконтроллер писать: в видео подключение по I2C, а не по SPI - существенное отличие.
      Перед началом измерения (передачи потока) надо инициализировать регистры ADXL, выбрав режим измерения и запустив непрерывное измерение.
      Затем в программе микроконтроллера мониторить состояние бита регистра Rg 0x30/bit7 (data_ready). При установке бита считывать состояния регистров 0x32...0x37 и передавать их потоком.
      Если нужна передача данных только от одного канала, при скорости передачи данных в 115200бит/с (микроконтроллером по USB или UART) максимальная частота преобразования снизится с 3200выборок/с до 1600выб/с.

  • @arakeldesign
    @arakeldesign Před 3 lety

    Хороший акселерометр. В своё время я активно его использовал, но потом от него отказался в пользу более энергоэффективного.

    • @akvilion7365
      @akvilion7365 Před 3 lety

      Так у этого в режиме измерения 23 мкА. У альтернативы в разы меньше?

    • @arakeldesign
      @arakeldesign Před 3 lety

      @@akvilion7365 меньше, например у LIS2DW12 при частоте 25 Гц потребление 1,5 мкА, при частоте 1,6 Гц, потребление 380 нА.

  • @oqqa5295
    @oqqa5295 Před 3 lety

    Попробывал повторить шаг с получением ID устройства на mpu9250 (на палте gy91) (так же с stm32f411), по адресу регистра 0x75 (WHO_AM_I) должен прилететь 0x71 , но приходит какая-то хрень ;C
    Попробывал вкатится в эти ваши камушки, а тут такая подстава, ну жду видос/статью по mpu9250 :)

    • @oqqa5295
      @oqqa5295 Před 3 lety

      нашел почему не работало
      у тебя в статье указанно:
      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);

    • @cxemkacom3623
      @cxemkacom3623  Před 3 lety +1

      @@oqqa5295 спасибо, исправил

  • @akvilion7365
    @akvilion7365 Před 3 lety

    Так... Бандикам, папка Лб, а это что? Почему контроллер MIDI?

    • @cxemkacom3623
      @cxemkacom3623  Před 3 lety

      на какой секунде?

    • @akvilion7365
      @akvilion7365 Před 3 lety

      @@cxemkacom3623 18:02 я думал пасхалка XD

  • @svbHiTek
    @svbHiTek Před 10 měsíci

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

  • @IvanEng747
    @IvanEng747 Před rokem

    Объясните кто-нибудь, зачем мы сдвигаем адрес датчика на шине 0x53?
    #define ADXL_addr (0x53

    • @bvn6136
      @bvn6136 Před rokem +2

      В видео сделано верно: адрес в виде, представленном в документации, надо сдвигать влево на 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-разрядного адреса окажется единица.

    • @IvanEng747
      @IvanEng747 Před rokem

      @@bvn6136 Спасибо большое, за ответ!