Мазмұны:

3 осьті акселерометр, ADXL345 Raspberry Pi көмегімен Python: 6 қадам
3 осьті акселерометр, ADXL345 Raspberry Pi көмегімен Python: 6 қадам

Бейне: 3 осьті акселерометр, ADXL345 Raspberry Pi көмегімен Python: 6 қадам

Бейне: 3 осьті акселерометр, ADXL345 Raspberry Pi көмегімен Python: 6 қадам
Бейне: DJI Zenmuse P1 камерасы! 2024, Қараша
Anonim
3 осьті акселерометр, ADXL345 Python көмегімен Raspberry Pi көмегімен
3 осьті акселерометр, ADXL345 Python көмегімен Raspberry Pi көмегімен

Гаджет туралы ойлану, ол сіздің Offroader созылып кететін нүктені тексере алады. Егер біреу аударылып кетуі мүмкін болса, оны реттеу жағымды болмас па еді? Иә анық. Бұл тауға баруды және кәсіптік сапарларды ұнататындар үшін өте пайдалы болар еді.

Әрине, интеллектуалды бағалауды жетілдірудің тамаша кезеңі алдымызда. Гаджеттер мен бағдарламалауды ұнататындар, біздің ойымызша, Raspberry Pi, Linux Linux компьютерлері, жалпы алғанда, адамдардың шығармашылық қабілеттерін емдеді, сонымен бірге инновациялық әдістемелерде үлкен жарылыс болды. Егер жақын жерде Raspberry Pi мен 3 осьті акселерометр болса, біз не істей аламыз? Біз табуымыз керек! Бұл тапсырмада біз Raspberry Pi мен ADXL345, 3 осьтік акселерометрді пайдаланып, X, Y және Z 3 ось бойынша үдеуді сеземіз. Сонымен, біз бұл экскурсияда G-Force немесе 3-өлшемді үдеуді өлшеу үшін негіз жасау үшін байқауымыз керек.

1 -қадам: Бізге қажет негізгі жабдық

Бізге қажет негізгі жабдықтар
Бізге қажет негізгі жабдықтар
Бізге қажет негізгі жабдықтар
Бізге қажет негізгі жабдықтар
Бізге қажет негізгі жабдықтар
Бізге қажет негізгі жабдықтар

Бізде проблемалар аз болды, өйткені бізде көптеген жұмыс бар. Соған қарамастан, біз дұрыс бөлікті дұрыс уақытта жинау басқалар үшін қаншалықты қиын екенін білеміз және бұл әр тиынға қарамастан ақталады. Сондықтан біз сізге барлық аймақтарда көмектесеміз. Бөлшектердің толық тізімін алу үшін төмендегілерді оқыңыз.

1. Raspberry Pi

Бастапқы қадам Raspberry Pi тақтасын алу болды. Бұл шағын, қуаты аз компьютер электроника, Интернеттегі заттар (IoT), ақылды қалалар, мектептегі білім үшін арзан және қарапайым базаны қамтамасыз етеді.

2. Raspberry Pi үшін I2C қалқаны

Raspberry Pi шынымен жетіспейтін нәрсе - бұл I²C порты. Бұл үшін TOUTPI2 I²C қосқышы сізге Rasp Pi -ді MULTIPLE I²C құрылғыларымен пайдалануға мүмкіндік береді. Оған DCUBE дүкенінде қол жетімді

3. 3 білікті акселерометр, ADXL345

ADXL345 аналогты құрылғылармен шығарылған-бұл жоғары қуатты 3 осьті акселерометр, жоғары ажыратымдылығы 13 биттік ± 16г дейін. Біз бұл сенсорды DCUBE дүкенінен сатып алдық

4. Қосылатын кабель

Бізде DCUBE дүкенінде қол жетімді I2C қосқыш кабелі болды

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 қалқанын табыңыз. Қалқанды Pi GPIO түйреуіштерінің үстінен мұқият басыңыз, сонда біз бұл прогресті бәліш сияқты қарапайым түрде аяқтаймыз (суретті қараңыз).

Сенсор мен Raspberry Pi қосылуы

Сенсорды және I2C кабелінің интерфейсін алыңыз. Бұл кабельдің дұрыс жұмыс істеуі үшін I2C шығысымен әрқашан I2C шығысын байланыстыруды сұраймыз. I2C қалқаны GPIO түйреуіштері орнатылған Raspberry Pi үшін де дәл осылай істеу керек.

Біз I2C кабелін қолдануды тағайындаймыз, себебі ол ұсақ қателіктерден туындаған түйреуіштерді, дәнекерлеуді және ауруды қарау талаптарын жоққа шығарады. Бұл қосылатын және қосылатын кабельдің көмегімен сіз қосымшаларды оңай енгізе аласыз, ауыстыра аласыз немесе басқа құрылғыларды қоса аласыз. Бұл жағдайды қиындатады.

Ескертпе: қоңыр сым бір құрылғының шығысы мен басқа құрылғының кірісі арасындағы Ground (GND) байланысына сенімді түрде сәйкес келуі керек

Интернет желісі - бұл кілт

Біздің кәсіпті жеңіске жеткізу үшін бізге Raspberry Pi үшін интернет байланысы қажет. Бұл үшін сізде Ethernet (LAN) кабелін үй жүйесімен байланыстыру сияқты баламалар бар. Сонымен қатар, опция ретінде Wi -Fi қосқышын пайдалану пайдалы болады. Кейде сізге жұмыс істеу үшін драйвер қажет. Суретте Linux бар адамға сүйеніңіз.

Нәр беруші

Micro USB кабелін Raspberry Pi қуат ұясына қосыңыз. Жарықтандырыңыз, біз баруға дайынбыз.

Экранға қосылу

Біз HDMI кабелін басқа экранмен байланыстыра аламыз. Кейбір жағдайларда сіз Raspberry Pi -ге экранға кірмей -ақ жетуіңіз керек немесе сізге кейбір деректерді басқа жерден қарау қажет болуы мүмкін. Бұлай етуге инновациялық және қаржылық тұрғыдан тиімді тәсілдер бар деп ойлаймын. Олардың бірі - SSH (командалық жолға қашықтан кіру). Сіз сондай -ақ PuTTY бағдарламалық жасақтамасын пайдалана аласыз.

3 -қадам: Raspberry Pi үшін Python кодтау

Raspberry Pi үшін Python кодтау
Raspberry Pi үшін Python кодтау

Raspberry Pi және ADXL345 сенсоры үшін Python коды біздің Github репозиторийінде қол жетімді.

Кодқа өтпес бұрын, Readme құжатында берілген нұсқауларды оқып шығыңыз және оған сәйкес Raspberry Pi орнатыңыз. Мұны істеу үшін ол бір минутқа кідіреді.

Акселерометр - бұл дұрыс үдеуді өлшейтін құрылғы; дұрыс үдеу координаталық үдеумен бірдей емес (жылдамдықтың өзгеру жылдамдығы). Акселерометрдің бір және көп білікті модельдері векторлық шама ретінде тиісті үдеудің шамасы мен бағытын анықтау үшін қол жетімді және оны бағдарды, координатаның үдеуін, дірілін, соққысын және резистивті ортада құлауды сезіну үшін қолдануға болады.

Код сіздің алдыңызда қарапайым және ол сіз ойлауға болатын ең қарапайым құрылымда және сізде ешқандай проблемалар болмауы керек.

# Ерік-жігер лицензиясымен таратылады.# Егер ол онымен байланысты жұмыстардың лицензиясына сәйкес келсе, оны қалаған жолмен пайдаланыңыз немесе тегін пайдаланыңыз. # ADXL345 # Бұл код dcubestore.com сайтында қол жетімді ADXL345_I2CS I2C шағын модулімен жұмыс істеуге арналған # 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 Гц 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)

уақыт.ұйқы (0.5)

# ADXL345 мекенжайы, 0x53 (83)

# Деректерді 0x32 (50), 2 байт бойынша оқу

# Деректерді 10 битке түрлендіріңіз

xAccl = ((data1 & 0x03) * 256) + data0 егер xAccl> 511 болса: xAccl -= 1024

# ADXL345 мекенжайы, 0x53 (83)

# Деректерді 0x34 (52), 2 байттан оқу

# Деректерді 10 битке түрлендіріңіз

yAccl = ((data1 & 0x03) * 256) + data0 егер yAccl> 511 болса: yAccl -= 1024

# ADXL345 мекенжайы, 0x53 (83)

# Деректерді 0x36 (54), 2 байт бойынша оқу

# Деректерді 10 битке түрлендіріңіз

zAccl = ((data1 & 0x03) * 256) + data0 егер zAccl> 511 болса: zAccl -= 1024

# Деректерді экранға шығару

басып шығару «X осінде үдеу: %d» %xAccl басып шығару «Y осіндегі үдеу: %d» %yAccl басып шығару «Z осіндегі үдеу: %d» %zAccl

4 -қадам: Кодекстің практикалық болуы

Кодекстің практикалық болуы
Кодекстің практикалық болуы

Github -тен кодты жүктеңіз (немесе git pull) және оны Raspberry Pi -де ашыңыз.

Терминалда кодты құрастыру және жүктеу пәрмендерін іске қосыңыз және монитордағы шығуды қараңыз. Бірнеше минуттан кейін ол параметрлердің әрқайсысын көрсетеді. Барлығы оңай жұмыс істейтініне көз жеткізгеннен кейін, сіз бұл істі үлкен міндетке апара аласыз.

5 -қадам: Қолданбалар мен мүмкіндіктер

ADXL345-бұл кішкентай, жұқа, ультра қуат, 3 осьті акселерометр, жоғары ажыратымдылықпен (13 биттік) ± 16 г дейін. ADXL345 ұялы телефон қосымшаларына сәйкес келеді. Ол көлбеуді анықтайтын қосымшалардағы ауырлық күшінің статикалық үдеуін, сонымен қатар қозғалыс немесе соққыға байланысты динамикалық үдеуді көрсетеді. Басқа қосымшаларға телефондар, медициналық құралдар, ойын және меңзегіш құрылғылар, өндірістік құралдар, жеке навигациялық құрылғылар және қатты дискіні қорғау кіреді.

6 -қадам: Қорытынды

Бұл тапсырма әрі қарай эксперимент жасауға итермелейді деп үміттенемін. Бұл I2C сенсоры өте икемді, арзан және қол жетімді. Бұл үлкен дәрежеде тұрақты емес жүйе болғандықтан, бұл тапсырманы кеңейтудің және оны жақсартудың қызықты әдістері бар.

Мысалы, сіз ADXL345 және Raspberry Pi көмегімен инклинометр идеясын бастай аласыз. Жоғарыда аталған жобада біз негізгі есептеулерді қолдандық. Сіз G-мәндерінің кодын импровизациялауға болады, көлбеу (немесе көлбеу) бұрыштары, гравитацияға қатысты объектінің биіктігі немесе депрессиясы. Содан кейін сіз айналдыру бұрыштары (алдынан артқа осі, X), қадам (жанама осі, Y) және иіру (тік ось, Z) сияқты алдын ала нұсқаларды тексере аласыз. Бұл акселерометр 3-D G-Force көрсетеді. Сондықтан сіз бұл сенсорды әр түрлі жолдармен пайдалана аласыз.

Сіздің жайлылығыңыз үшін YouTube -те сіздің тергеуіңізді жүргізуге көмектесетін қызықты бейне нұсқаулық жаттығуы бар. Сеніңіз, бұл кәсіп әрі қарай ізденуге итермелейді. Ойлауды жалғастырыңыз! Іздеуді ұмытпаңыз, өйткені одан да көп нәрсе пайда болады.

Ұсынылған: