Мазмұны:

Python көмегімен Raspberry Pi мен AIS328DQTR көмегімен жеделдетуді бақылау: 6 қадам
Python көмегімен Raspberry Pi мен AIS328DQTR көмегімен жеделдетуді бақылау: 6 қадам

Бейне: Python көмегімен Raspberry Pi мен AIS328DQTR көмегімен жеделдетуді бақылау: 6 қадам

Бейне: Python көмегімен Raspberry Pi мен AIS328DQTR көмегімен жеделдетуді бақылау: 6 қадам
Бейне: Как управлять сетевыми устройствами с помощью Python и Netmiko 2024, Шілде
Anonim
Image
Image

Менің ойымша, үдеу- бұл шектеулі физика заңы. Терри Райли

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

Қазіргі уақытта адамдар жаңашылдықсыз өз өмірін елестете алмайды. Айналамыздағы әр түрлі инновациялар адамдарға өз өмірлерін ысырапшылдықпен жалғастыруға көмектеседі. Raspberry Pi, шағын, бір тақталы Linux компьютері, электроника мен IoT, ақылды қалалар мен мектептегі білім сияқты озық жетістіктерге арналған арзан және құрметті базаны береді. Компьютер мен гаджеттердің жанкүйерлері ретінде біз Raspberry Pi -мен біршама шаралар қолдандық және өз мүдделерімізді араластыруды таңдадық. Егер жақын жерде Raspberry Pi мен 3 осьті акселерометр болса, біз не істей аламыз, мүмкін болатын нәтижелер қандай? Бұл тапсырмада біз Python көмегімен Raspberry Pi көмегімен X, Y және Z 3 бағытта үдеуді өлшеу үшін сандық 3 осьті MEMS сызықтық акселерометр датчигі AIS328DQTR енгіземіз. Мұны қарастырған жөн.

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

Бізге қажет аппараттық құралдар
Бізге қажет аппараттық құралдар
Бізге қажет аппараттық құралдар
Бізге қажет аппараттық құралдар

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

1. Raspberry Pi

Бастапқы қадам Raspberry Pi тақтасын алу болды. Raspberry Pi - бұл Linux негізіндегі жеке компьютер. Бұл кішкентай компьютер электроникаға арналған жаттығулар ретінде пайдаланылатын тіркеу қуатын және компьютерлік кестелер, мәтіндік өңдеу, веб -серфинг, электрондық пошта мен ойындар сияқты операцияларды қамтиды. Сіз кез -келген электроникадан немесе әуесқойлық дүкенінен сатып ала аласыз.

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

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

3. 3 осьтік акселерометр, AIS328DQTR

STMicroelectronics қозғалыс датчиктеріне тиесілі AIS328DQTR-бұл SPI стандартты шығыс цифрлық сериялы интерфейсі бар өте төмен қуатты жоғары өнімді 3 осьті желілік акселерометр. Біз бұл сенсорды DCUBE дүкенінен сатып алдық

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

Біз DCUBE дүкенінен I2C қосылу кабелін сатып алдық

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

Ең қарапайым, бірақ таңғажайып қуат - бұл таңқурай Pi! Ойын жоспарын шешудің ең қарапайым әдісі - бұл микро USB кабелін пайдалану. Сонымен қатар, GPIO түйреуіштері немесе USB порттары жеткілікті қуат беру үшін пайдаланылуы мүмкін.

6. Интернетке кіру - бұл қажеттілік

Ethernet (LAN) кабелімен байланысты Raspberry Pi алыңыз және оны желіге қосыңыз. Екінші жағынан, WiFi қосқышын іздеңіз және қашықтағы желіге кіру үшін USB порттарының бірін пайдаланыңыз. Бұл өткір шешім, іргелі, аз және қарапайым!

7. HDMI кабелі/қашықтан қатынау

Raspberry Pi -де HDMI порты бар, оны мониторға немесе теледидарға HDMI кабелі арқылы қосуға болады. Таңдау бойынша сіз Raspberry Pi -ді Linux компьютерінен немесе Macintosh -тен терминалдан алу үшін SSH қолдана аласыз. Сонымен қатар, PuTTY ақысыз және ашық бастапқы терминалды эмуляторы жаман таңдау емес сияқты.

2 -қадам: Жабдықты қосу

Жабдықты қосу
Жабдықты қосу
Жабдықты қосу
Жабдықты қосу
Жабдықты қосу
Жабдықты қосу

Схемада көрсетілгендей тізбекті жасаңыз. Графикте сіз әртүрлі бөліктерді, қуат үзінділерін және I2C сенсорын көресіз.

Raspberry Pi және I2C Shield қосылымы

Ең бастысы, Raspberry Pi алыңыз және I2C қалқанын табыңыз. Қалқанды Pi GPIO түйреуіштерінің үстінен мұқият басыңыз, сонда біз бұл қадамды пирог тәрізді жасаймыз (суретті қараңыз).

Raspberry Pi мен сенсор байланысы

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

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

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

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

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

Нәр беруші

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

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

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

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

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

Сіз біздің Github репозиторийінде Raspberry Pi және AIS328DQTR сенсорының Python кодын көре аласыз.

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

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

Жалғастыру - бұл питон коды, сіз кодты кез келген жолмен клондап, өзгерте аласыз.

# Ерік-жігер лицензиясымен таратылады.# Егер ол онымен байланысты жұмыстардың лицензиясына сәйкес келсе, оны қалаған жолмен пайдаланыңыз немесе тегін пайдаланыңыз. # AIS328DQTR # Бұл код dcubestore.com сайтында қол жетімді AIS328DQTR_I2CS I2C шағын модулімен жұмыс жасауға арналған # https://dcubestore.com/product/ais328dqtr-high-performance-ultra-low-power-3-axis-accelerometer-with -автомобильге арналған цифрлық-шығыс-%%C2%B2c-шағын модуль/

smbus импорттау

импорт уақыты

# I2C автобусын алыңыз

автобус = smbus. SMBus (1)

# AIS328DQTR мекенжайы, 0x18 (24)

# Басқару регистрін таңдау1, 0x20 (32) # 0x27 (39) Қуатты қосу режимі, Деректер жиілігін таңдау = 50Гц # X, Y, Z осі қосылған bus.write_byte_data (0x18, 0x20, 0x27) # AIS328DQTR мекенжайы, 0x18 (24) # Басқару регистрін таңдау4, 0x23 (35) # 0x30 (48) Үздіксіз жаңарту, Толық масштабты таңдау = +/- 8G шинасы.

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

# AIS328DQTR мекенжайы, 0x18 (24)

# Деректерді 0x28 (40), 2 байттан # X-Axis LSB, X-Axis MSB деректерінен0 оқыңыз

# Деректерді түрлендіру

xAccl = деректер1 * 256 + деректер0 егер xAccl> 32767 болса: xAccl -= 65536

# AIS328DQTR мекенжайы, 0x18 (24)

# 0x2A (42), 2 байттан деректерді оқу

# Деректерді түрлендіру

yAccl = деректер1 * 256 + деректер0 егер yAccl> 32767 болса: yAccl -= 65536

# AIS328DQTR мекенжайы, 0x18 (24)

# 0x2C (44), 2 байттан деректерді оқу

# Деректерді түрлендіру

zAccl = деректер1 * 256 + деректер0 егер zAccl> 32767 болса: zAccl -= 65536

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

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

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

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

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

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

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

STMicroelectronics шығарған, ультра ықшам қуатты жоғары өнімділігі 3 осьті қозғалыс сенсорларына жататын сызықтық үдеткіш. AIS328DQTR телематика мен қара жәшіктер, көліктік жолда навигация, көлбеу / көлбеуді өлшеу, ұрлыққа қарсы құрылғы, қуатты үнемдеу, әсерді тану және тіркеу, дірілді бақылау және компенсация және қозғалысты белсендіретін функциялар сияқты қолдануға жарамды.

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

Егер сіз Raspberry Pi мен I2C датчиктерінің әлемін зерттеуді жоспарлап отырсаңыз, онда сіз аппараттық құралдарды, кодтауды, реттеуді, беделділікті және т.б. қолдану арқылы өзіңізді таң қалдыра аласыз. қарапайым болуы мүмкін, ал кейбіреулер сізді сынап көруі мүмкін. Қалай болғанда да, сіз өзіңіздің формаңызды өзгерте және қалыптастыра отырып, жолды мінсіз жасай аласыз.

Мысалы, сіз Python көмегімен AIS328DQTR және Raspberry Pi көмегімен жануарлардың физикалық қозғалыстары мен дене қалпын бақылау және бейнелеу үшін мінез -құлықты бақылау прототипі туралы ойдан бастауға болады. Жоғарыда берілген тапсырмада біз акселерометрдің негізгі есептеулерін қолдандық. Хаттама кез келген гирометрмен және GPS -пен бірге акселерометр жүйесін және жануарлардың мінез -құлқын автоматтандырылған сәйкестендіру үшін бақыланатын (машиналық) оқыту алгоритмін (қолдау векторлық машинасы (SVM)) құру болып табылады. Осыдан кейін сенсордың параллель өлшеулерін жинау және тірек векторлық машинаның (SVM) жіктемесін қолдану арқылы өлшеуді бағалау қажет. Прототиптің беріктігін анықтау үшін жаттығу мен тексеру үшін тәуелсіз өлшеудің әр түрлі комбинациясын қолданыңыз (отыру, жаяу немесе жүгіру). Біз бұл прототиптің жұмыс нұсқасын тезірек жасауға тырысамыз, конфигурация, код және модельдеу мінез -құлықтың көп режимдерінде жұмыс істейді. Барлығыңызға ұнайды деп сенеміз!

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

Ұсынылған: