Съдържание:

3-осен акселерометър, ADXL345 с Raspberry Pi с помощта на Python: 6 стъпки
3-осен акселерометър, ADXL345 с Raspberry Pi с помощта на Python: 6 стъпки

Видео: 3-осен акселерометър, ADXL345 с Raspberry Pi с помощта на Python: 6 стъпки

Видео: 3-осен акселерометър, ADXL345 с Raspberry Pi с помощта на Python: 6 стъпки
Видео: Arduino Nano and GY-521 MPU6050 3-осевой гироскоп, 3-осевой акселерометр и DMP 2024, Ноември
Anonim
3-осен акселерометър, ADXL345 с Raspberry Pi с помощта на Python
3-осен акселерометър, ADXL345 с Raspberry Pi с помощта на Python

Мислейки за притурка, която може да провери точката, в която вашият Offroader е наклонен към, за да се задържи. Не би ли било приятно, ако някой се приспособи, когато има възможност да се преобърне? Очевидно да. Би било наистина полезно за хора, които обичат да ходят на планина и да пътуват по предприятия.

Без съмнение, истински блестящ период на напреднала фигурална оценка, IoT е пред нас. Като любители на притурките и програмирането, ние вярваме, Raspberry Pi, микро Linux компютърът е третирал творческите способности на хората като цяло, носейки със себе си вълнение в иновативните методологии. И така, какви са възможните резултати, които можем да направим в случай, че имаме Raspberry Pi и 3-осен акселерометър в близост? Трябва да открием! В тази задача ще усетим ускорението по 3 оси, X, Y и Z, използвайки Raspberry Pi и ADXL345, 3-осен акселерометър. Така че трябва да наблюдаваме тази екскурзия, за да изработим рамка за измерване на триизмерното ускорение нагоре или G-Force.

Стъпка 1: Основен хардуер, от който се нуждаем

Основен хардуер, от който се нуждаем
Основен хардуер, от който се нуждаем
Основен хардуер, от който се нуждаем
Основен хардуер, от който се нуждаем
Основен хардуер, от който се нуждаем
Основен хардуер, от който се нуждаем

Проблемите бяха по -малко за нас, тъй като имаме много неща, от които да работим. Независимо от това, ние знаем колко е неприятно за другите да съберат правилната част в идеално време от подходящото място и това е оправдано независимо от всяка стотинка. Така че ние бихме ви помогнали във всички региони. Прочетете следното, за да получите пълен списък с части.

1. Малина Пи

Първата стъпка беше придобиването на платка Raspberry Pi. Този малък компютър с ниска мощност осигурява евтина и като цяло проста база за начинания по електроника, Интернет на нещата (IoT), Интелигентни градове, Училищно образование.

2. I2C щит за Raspberry Pi

Основното нещо, което Raspberry Pi наистина липсва, е I²C порт. Така че за това конекторът TOUTPI2 I²C ви дава смисъл да използвате Rasp Pi с МНОЖЕСТВА I²C устройства. Той е достъпен в DCUBE Store

3. 3-осен акселерометър, ADXL345

Произведен от Analog Devices, ADXL345, е 3-осен акселерометър с ниска мощност с 13-битово измерване с висока разделителна способност до ± 16 g. Ние закупихме този сензор от DCUBE Store

4. Свързващ кабел

Имахме свързващ кабел I2C, достъпен в DCUBE Store

5. Микро USB кабел

Най -малко обърканият, но най -строг що се отнася до необходимостта от захранване е Raspberry Pi! Най -лесният подход за захранване на Raspberry Pi е чрез Micro USB кабела.

6. Уеб достъпът е необходимост

Уеб достъпът може да бъде упълномощен чрез Ethernet (LAN) кабел, свързан с локална мрежа и мрежата. От друга страна, можете да се свържете с безжична мрежа, като използвате USB безжичен ключ, което ще изисква конфигурация.

7. HDMI кабел/Отдалечен достъп

С HDMI кабел на борда можете да го свържете към цифров телевизор или към монитор. Трябва да спестите пари! Raspberry Pi може отдалечено да се използва за използване на отличителни стратегии като-SSH и достъп през мрежата. Можете да използвате изходния софтуер PuTTYopen.

Стъпка 2: Свързване на хардуера

Свързване на хардуера
Свързване на хардуера
Свързване на хардуера
Свързване на хардуера
Свързване на хардуера
Свързване на хардуера
Свързване на хардуера
Свързване на хардуера

Направете веригата според схемата, която се появи. Начертайте контур и умишлено след конфигурацията.

Свързване на Raspberry Pi и I2C Shield

Преди всичко, вземете Raspberry Pi и забележете I2C Shield върху него. Натиснете деликатно щита върху щифтовете GPIO на Pi и приключваме с тази прогресия толкова проста като пай (вижте снимката).

Свързване на сензора и Raspberry Pi

Вземете сензора и свържете с него I2C кабела. За правилното функциониране на този кабел, моля, извикайте I2C изхода ВИНАГИ свързан с I2C входа. Същото трябва да се вземе и за Raspberry Pi с I2C щит, монтиран върху него на GPIO щифтовете.

Ние предписваме използването на I2C кабела, тъй като той опровергава изискването за разглеждане на изводи, запояване и неразположение, причинено дори от най -малкия гаф. С този основен plug and play кабел можете лесно да въвеждате, разменяте устройства или да добавяте още устройства към приложение. Това прави нещата неусложнени.

Забележка: Кафявият проводник трябва надеждно да следва заземяващата (GND) връзка между изхода на едно устройство и входа на друго устройство

Уеб мрежата е ключова

За да направим нашето начинание печалба, ние се нуждаем от уеб връзка за нашия Raspberry Pi. За това имате алтернативи като свързване на Ethernet (LAN) кабел с домашната система. Освен това, като опция, обаче, полезен маршрут е да се използва WiFi конектор. Понякога за това се изисква шофьор, за да работи. Затова се наведете към този с Linux в изображението.

Захранване

Включете Micro USB кабела в гнездото за захранване на Raspberry Pi. Запалете го и сме готови.

Връзка към екрана

Може да имаме HDMI кабел, свързан с друг екран. В някои случаи трябва да стигнете до Raspberry Pi, без да го свързвате към екран, или може да се наложи да видите някои данни от него от някъде другаде. Вероятно има иновативни и финансово разбираеми подходи за това. Един от тях използва - SSH (отдалечено влизане в командния ред). Можете също така да използвате софтуера PuTTY за това.

Стъпка 3: Кодиране на Python за Raspberry Pi

Python кодиране за Raspberry Pi
Python кодиране за Raspberry Pi

Кодът на Python за сензора Raspberry Pi и ADXL345 е достъпен в нашето хранилище на Github.

Преди да преминете към кода, уверете се, че сте прочели указанията, дадени в документа Readme, и настройте Raspberry Pi според него. Той просто ще направи пауза за минута, за да направи това.

Акселерометърът е устройство, което измерва правилното ускорение; правилното ускорение не е същото като координатното ускорение (скорост на промяна на скоростта). Едноосните и многоосните модели на акселерометъра са достъпни за идентифициране на величината и посоката на правилното ускорение като векторно количество и могат да бъдат използвани за усещане на ориентация, координирано ускорение, вибрации, удар и падане в резистивна среда.

Кодът е ясен пред вас и е в най -ясната структура, която можете да си представите и не би трябвало да имате проблеми.

# Разпространява се с лиценз на свободна воля.# Използвайте го както искате, печелите или безплатно, при условие че се вписва в лицензите на свързаните с него произведения. # ADXL345 # Този код е проектиран да работи с мини модула ADXL345_I2CS I2C, достъпен от dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -модул/

внос smbus

време за импортиране

# Вземете I2C автобус

шина = smbus. SMBus (1)

# ADXL345 адрес, 0x53 (83)

# Изберете регистър на честотната лента, 0x2C (44) # 0x0A (10) Нормален режим, Скорост на изходните данни = 100 Hz bus.write_byte_data (0x53, 0x2C, 0x0A) # ADXL345 адрес, 0x53 (83) # Изберете регистър за управление на мощността, 0x2D (45) # 0x08 (08) Автоматично изключване на спящ режим bus.write_byte_data (0x53, 0x2D, 0x08) # ADXL345 адрес, 0x53 (83) # Изберете регистър за формат на данни, 0x31 (49) # 0x08 (08) Самодиагностиката е деактивирана, 4-жичен интерфейс # Пълна разделителна способност, Обхват = +/- 2g bus.write_byte_data (0x53, 0x31, 0x08)

time.sleep (0.5)

# ADXL345 адрес, 0x53 (83)

# Прочетете данните обратно от 0x32 (50), 2 байта # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)

# Конвертирайте данните в 10-бита

xAccl = ((data1 & 0x03) * 256) + data0, ако xAccl> 511: xAccl -= 1024

# ADXL345 адрес, 0x53 (83)

# Прочетете данните обратно от 0x34 (52), 2 байта # Y-ос LSB, Y-ос MSB данни 0 = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)

# Конвертирайте данните в 10-бита

yAccl = ((data1 & 0x03) * 256) + data0, ако yAccl> 511: yAccl -= 1024

# ADXL345 адрес, 0x53 (83)

# Прочетете данните обратно от 0x36 (54), 2 байта # Z-Axis LSB, Z-Axis MSB данни 0 = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)

# Конвертирайте данните в 10-бита

zAccl = ((data1 & 0x03) * 256) + data0, ако zAccl> 511: zAccl -= 1024

# Извеждане на данни на екрана

печат "Ускорение по ос X: %d" %xAccl печат "Ускорение по ос Y: %d" %yAccl печат "Ускорение по ос Z: %d" %zAccl

Стъпка 4: Практичността на Кодекса

Практичността на Кодекса
Практичността на Кодекса

Изтеглете (или git изтеглете) кода от Github и го отворете в Raspberry Pi.

Изпълнете командите за компилиране и качване на кода в терминала и вижте изхода на монитора. След няколко минути той ще покаже всеки един от параметрите. След като се уверите, че всичко работи лесно, можете да предприемете това начинание за по -голяма задача.

Стъпка 5: Приложения и функции

ADXL345 е малък, тънък, 3-осен акселерометър с ултра ниска мощност с измерване с висока разделителна способност (13 бита) до ± 16 g. ADXL345 е подходящ за приложения за мобилни телефони. Той определя количествено статичното ускорение на гравитацията в приложения за откриване на накланяне и в допълнение предстоящото динамично ускорение поради движение или удар. Други приложения включват например слушалки, медицински инструменти, игри и посочващи устройства, промишлени инструменти, лични навигационни устройства и защита на твърд диск (HDD).

Стъпка 6: Заключение

Дано тази задача мотивира по -нататъшни експерименти. Този I2C сензор е изключително гъвкав, евтин и достъпен. Тъй като това е до голяма степен непостоянна система, има интересни начини да разширите тази задача и дори да я подобрите.

Например, можете да започнете с идеята за инклинометър, използвайки ADXL345 и Raspberry Pi. В горния проект сме използвали основни изчисления. Можете да импровизирате кода за G-стойности, ъгли на наклон (или наклон), кота или депресия на обект по отношение на гравитацията. След това можете да проверите опциите за напредване, като ъглите на завъртане за ролка (ос отпред-назад, X), стъпка (страна отстрани, ос) Y и криволичене (вертикална ос, Z). Този акселерометър показва 3-D G-Force. Така че можете да използвате този сензор по различни начини, които можете да обмислите.

За ваше улеснение имаме увлекателно видео инструкция в YouTube, което може да помогне в разследването ви. Доверете се, че това начинание мотивира по -нататъшно проучване. Продължавай да съзерцаваш! Имайте предвид, че трябва да търсите, тъй като непрекъснато се появяват нови.

Препоръчано: