цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Raspberry Pi Pico и акселерометр ADXL345: схема подключения, код программы



Raspberry Pi Pico и акселерометр ADXL345: схема подключения, код программы

Автор: Mike(admin) от 19-06-2023, 03:55

В рамках данного проекта мы рассмотрим процесс взаимодействия 3-осевого акселерометра ADXL345 с Raspberry Pi Pico с использованием кода MicroPython. Raspberry Pi Pico является экономичной и мощной микроконтроллерной, которая хорошо сочетается с ADXL345, цифровым акселерометром с высоким разрешением и низким энергопотреблением. Вместе эти компоненты можно использовать для разработки широкого спектра увлекательных проектов, таких как системы управления движением, датчики ориентации или даже креативные игровые контроллеры.


Raspberry Pi Pico и акселерометр ADXL345: схема подключения, код программы

ADXL345 – это 3-осевой акселерометр, разработанный Analog Devices. Этот датчик предназначен для точного измерения ускорения по осям X, Y и Z, что делает его пригодным для различных применений. Он особенно популярен в области робототехники, игр, виртуальной реальности, носимых устройств и устройств IoT, среди прочего.


Raspberry Pi Pico и акселерометр ADXL345: схема подключения, код программы

Этот акселерометр способен обнаруживать как статическое ускорение, такое как сила тяжести, так и динамическое ускорение, возникающее в результате движения или вибраций. ADXL345 имеет регулируемую чувствительность, что позволяет использовать его в различных приложениях с различными требованиями к ускорению. ADXL345 взаимодействует с микроконтроллерами с помощью интерфейсов I2C или SPI, что делает его совместимым с широким спектром платформ разработки, таких как Arduino, Raspberry Pi Pico и другими. Благодаря низкому энергопотреблению и небольшому форм-фактору ADXL345 идеально подходит для приложений с питанием от батареи и приложений с ограниченным пространством.


Raspberry Pi Pico и акселерометр ADXL345: схема подключения, код программы

Чтобы использовать акселерометр ADXL345 с Raspberry Pi Pico с использованием MicroPython, вам необходимо подключить модуль к Pico и написать скрипт на языке MicroPython для связи с датчиком. Здесь мы рассмотрим простой пример использования связи по интерфейсу I2C. Сначала подключите компоненты согласно следующей схеме подключения.


Raspberry Pi Pico и акселерометр ADXL345: схема подключения, код программы

На макетной плате это может выглядеть следующим образом.


Raspberry Pi Pico и акселерометр ADXL345: схема подключения, код программы

Далее приведен пример кода на языке MicroPython для считывания необработанных значений ускорения по осям x, y и z.



from machine import Pin, I2C
import time
import ustruct
 
# Константы
ADXL345_ADDRESS = 0x53
ADXL345_POWER_CTL = 0x2D
ADXL345_DATA_FORMAT = 0x31
ADXL345_DATAX0 = 0x32
 
# Инициализация I2C
i2c = I2C(0, sda=Pin(8), scl=Pin(9), freq=400000)
 
# Инициализация ADXL345
def init_adxl345():
    i2c.writeto_mem(ADXL345_ADDRESS, ADXL345_POWER_CTL, bytearray([0x08]))  # Установить бит 3 в 1 для активации режима измерения
    i2c.writeto_mem(ADXL345_ADDRESS, ADXL345_DATA_FORMAT, bytearray([0x0B]))  # Установить формат данных для полного разрешения +/- 16g
 
# Считывание данных ускорения
def read_accel_data():
    data = i2c.readfrom_mem(ADXL345_ADDRESS, ADXL345_DATAX0, 6)
    x, y, z = ustruct.unpack('<3h', data)
    return x, y, z
 
# Основной цикл
init_adxl345()
while True:
    x, y, z = read_accel_data()
    print("X: {}, Y: {}, Z: {}".format(x, y, z))
    time.sleep(0.1)

Данный код инициализирует ADXL345, настраивает его для измерений с полным разрешением, ±16 g, а затем считывает и выводит данные об ускорении по осям X, Y и Z каждые 0,1 секунды. Вы можете настроить код, чтобы использовать другую настройку чувствительности или считывать данные с другой скоростью, в зависимости от требований вашего приложения.


Raspberry Pi Pico и акселерометр ADXL345: схема подключения, код программы



© digitrode.ru


Теги: Raspberry Pi Pico, акселерометр, ADXL345




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий