Мазмуну:
Video: Raspberry Pi MMA8452Q 3-Axis 12-бит/8-бит Digital Accelerometer Python үйрөткүчү: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
MMA8452Q-бул акылдуу, аз кубаттуу, үч огу, сыйымдуулугу, 12 биттик токтому бар микромахиндүү акселерометр. Колдонуучунун ийкемдүү программалоочу параметрлери акселерометрдеги камтылган функциялардын жардамы менен камсыз кылынат, эки үзгүлтүктүү казыкка конфигурацияланат. Бул колдонуучу тандап ала турган толук масштабга ээ ± 2g/± 4g/± 8g жогорку өткөргүч чыпкаланган маалыматтар менен, ошондой эле реалдуу убакытта чыпкаланбаган маалыматтар. Бул жерде python кодун колдонуп, малина pi менен анын көрсөтмөсү.
1 -кадам: Сизге эмне керек..
1. Raspberry Pi
2. MMA8452Q
3. I²C кабели
4. Raspberry Pi үчүн I²C Shield
5. Ethernet кабели
2 -кадам: Байланыштар:
Малина пи үчүн I2C калканчын алыңыз жана аны акырын малинанын пи gpio казыктарынын үстүнө басыңыз.
Андан кийин I2C кабелинин бир учун MMA8452Q сенсоруна, экинчи учун I2C калканчына туташтырыңыз.
Ethernet кабелин пи -ге туташтырыңыз же WiFi модулун колдонсоңуз болот.
Байланыштар жогорудагы сүрөттө көрсөтүлгөн.
3 -кадам: Код:
MMA8452Q үчүн питон кодун биздин github репозиторийибизден жүктөп алсаңыз болот- ControlEverythingCommunity
Мына шилтеме.
Биз SMBus китепканасын python коду үчүн колдонгонбуз, малина пи боюнча SMBus орнотуу кадамдары бул жерде сүрөттөлгөн:
pypi.python.org/pypi/smbus-cffi/0.5.1
Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:
# Эркин лицензия менен бөлүштүрүлгөн.
# Аны каалагандай колдон, пайда же бекер, эгерде ал тиешелүү эмгектеринин лицензиясына туура келсе.
# MMA8452Q
# Бул код MMA8452Q_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан.
smbus импорттоо
импорттоо убактысы
# I2C автобусун алыңыз
автобус = smbus. SMBus (1)
# MMA8452Q дареги, 0x1C (28)
# Control регистрин танда, 0x2A (42)
# 0x00 (00) StandBy режими
bus.write_byte_data (0x1C, 0x2A, 0x00)
# MMA8452Q дареги, 0x1C (28)
# Control регистрин танда, 0x2A (42)
# 0x01 (01) Активдүү режим
bus.write_byte_data (0x1C, 0x2A, 0x01)
# MMA8452Q дареги, 0x1C (28)
# Конфигурация регистрин тандаңыз, 0x0E (14)
# 0x00 (00) +/- 2g диапазонун коюңуз
bus.write_byte_data (0x1C, 0x0E, 0x00)
убакыт.уйку (0.5)
# MMA8452Q дареги, 0x1C (28)
# 0x00 (0), 7 байттан кайра маалыматтарды окуу
# Статус реестри, X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB
маалыматтар = bus.read_i2c_block_data (0x1C, 0x00, 7)
# Маалыматтарды айландыруу
xAccl = (маалымат [1] * 256 + маалымат [2]) / 16
эгер xAccl> 2047:
xAccl -= 4096
yAccl = (маалымат [3] * 256 + маалымат [4]) / 16
эгер yAccl> 2047:
yAccl -= 4096 z
Accl = (маалымат [5] * 256 + маалымат [6]) / 16
эгер zAccl> 2047:
zAccl -= 4096
# Экранга маалыматтарды чыгаруу
басып чыгаруу "Акселерде ылдамдануу: %d" %xAccl
басып чыгаруу "Y огунда ылдамдануу: %d" %yAccl
басып чыгаруу "Z-огунда ылдамдануу: %d" %zAccl
4 -кадам: Тиркемелер:
MMA8452Q ар кандай тиркемелерге ээ, анын ичинде E-Compass тиркемелери, Статикалык багытты аныктоо, анын ичинде Портрет/Пейзаж, Өйдө/ылдый, Сол/Оң, Артка/Алдыңкы позицияны аныктоо, Ноутбук, электрондук окурман, жана Ноутбуктар кулап түшүү жана Акысыз түшүү, Реалдуу убакыт багыттоону аныктоо, анын ичинде виртуалдык чындык жана оюн 3D колдонуучунун позициясы боюнча пикирлер, педометрдин кадамын эсептөө сыяктуу реалдуу убакытта анализ, HDD үчүн кулап түшүүнү аныктоо, GPSтин камдык көчүрмөсү жана башкалар.
Сунушталууда:
Raspberry Pi - ADXL345 3 -октук акселерометр Python үйрөткүчү: 4 кадам
Raspberry Pi-ADXL345 3-Axis Accelerometer Python үйрөткүчү: ADXL345-кичинекей, ичке, ультра кубаттуу, 3 октук акселерометр, ± 16 г чейин жогорку чечилиште (13-бит) өлчөө. Санарип чыгуучу маалыматтар 16-бит эки катары толукталган жана I2 C санариптик интерфейси аркылуу жеткиликтүү. Ал өлчөйт
Raspberry Pi SHT25 нымдуулук жана температура сенсору Python үйрөткүчү: 4 кадам
Raspberry Pi SHT25 нымдуулук жана температура сенсорлору Python үйрөткүчү: SHT25 I2C нымдуулук жана температура сенсорлору ± 1.8%RH ± 0.2 ° C I2C Mini Module. SHT25 жогорку тактыктагы нымдуулук жана температура сенсорлору формалык фактор жана интеллект жагынан өнөр стандартына айланып, калибрленген, сызыктуу сенсордун кол тамгасын берет
Raspberry Pi - BH1715 Digital Ambient Light Sensor Python үйрөткүчү: 4 кадам
Raspberry Pi - BH1715 Digital Ambient Light Sensor Python үйрөткүчү: BH1715 - бул I²C автобус интерфейси бар санариптик жарык сенсору. BH1715, адатта, мобилдик түзмөктөр үчүн ЖК жана Баскычтоптун арткы жарык кубатын тууралоо үчүн айланадагы жарык маалыматтарды алуу үчүн колдонулат. Бул түзмөк 16-биттик чечимди жана жөндөөнү сунуштайт
Raspberry Pi - BH1715 Digital Ambient Light Sensor Java үйрөткүчү: 4 кадам
Raspberry Pi - BH1715 Digital чөйрө жарык сенсорунун Java үйрөткүчү: BH1715 - бул I²C автобус интерфейси бар санариптик жарык сенсору. BH1715, адатта, мобилдик түзмөктөр үчүн ЖК жана Баскычтоптун арткы жарык кубатын тууралоо үчүн айланадагы жарык маалыматтарды алуу үчүн колдонулат. Бул түзмөк 16-биттик чечимди жана жөндөөнү сунуштайт
Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Python үйрөткүчү: 4 кадам
Raspberry Pi-TMD26721 Infrared Digital Proximity Detector Python үйрөткүчү: TMD26721-бул инфрақызыл санариптик жакындык детектору, ал толугу менен жакындыкты аныктоо тутумун жана санариптик интерфейстин логикасын бир 8-пиндик беттик монтаждоо модулунда камтыйт. тактык. Прокс