Talaan ng mga Nilalaman:

Pagsubaybay sa Bilis ng Paggamit ng Raspberry Pi at AIS328DQTR Paggamit ng Python: 6 Hakbang
Pagsubaybay sa Bilis ng Paggamit ng Raspberry Pi at AIS328DQTR Paggamit ng Python: 6 Hakbang

Video: Pagsubaybay sa Bilis ng Paggamit ng Raspberry Pi at AIS328DQTR Paggamit ng Python: 6 Hakbang

Video: Pagsubaybay sa Bilis ng Paggamit ng Raspberry Pi at AIS328DQTR Paggamit ng Python: 6 Hakbang
Video: LIVE: Chia GPU Plotting Bladebit 128GB Testing + Chia Client RC6 Testing 2024, Nobyembre
Anonim
Image
Image

Ang pagpapabilis ay may hangganan, sa palagay ko alinsunod sa ilang mga batas ng Physics. - Terry Riley

Gumagamit ang isang cheetah ng kamangha-manghang pagpabilis at mabilis na mga pagbabago sa bilis kapag naghabol. Ang pinaka dalubhasang nilalang sa pampang nang minsan ay gumagamit ng pinakamataas na bilis upang mahuli ang biktima. Napabilis ito ng mga nilalang sa pamamagitan ng paglalapat ng halos limang beses na higit na lakas kaysa sa Usain Bolt sa gitna ng kanyang record na 100m run.

Sa kasalukuyang panahon, hindi mawari ng mga indibidwal ang kanilang pag-iral nang walang pagbabago. Pinalilibot sa amin ang iba't ibang mga makabagong ideya ay tumutulong sa mga tao na magpatuloy sa kanilang pag-iral na may labis na paggastos. Ang Raspberry Pi, ang mini, solong board Linux PC, ay nagbibigay ng isang murang at kagalang-galang na base para sa mga pagsusumikap sa electronics at mga advanced na pagsulong tulad ng IoT, Smart Cities, at School Education. Bilang mga tagahanga ng computer at gadget, nagsasagawa kami ng isang malaking hakbang sa Raspberry Pi at pinili naming ihalo ang aming mga interes. Kaya ano ang mga posibleng resulta na kung ano ang maaari nating gawin kung mayroon tayong malapit na Raspberry Pi at isang 3-axis na Accelerometer? Sa gawaing ito, isasama namin ang AIS328DQTR, isang digital na 3-axis MEMS linear accelerometer sensor, upang sukatin ang pagpabilis sa 3 direksyon, X, Y, at Z, kasama ang Raspberry Pi na gumagamit ng Python. Iyon ay nagkakahalaga ng pagtingin sa.

Hakbang 1: Hardware na Kinakailangan namin

Hardware na Kinakailangan namin
Hardware na Kinakailangan namin
Hardware na Kinakailangan namin
Hardware na Kinakailangan namin

Ang mga isyu ay mas mababa para sa amin dahil mayroon kaming isang malaking sukat ng mga bagay-bagay na namamalagi upang gumana. Sa anumang kaso, alam namin kung gaano mahirap para sa iba na itago ang tamang bahagi sa perpektong oras mula sa malakas na lugar at protektado ang pagbibigay ng kaunting abiso sa bawat sentimo. Kaya tutulungan ka namin.

1. Raspberry Pi

Ang paunang hakbang ay ang pagkuha ng isang board na Raspberry Pi. Ang Raspberry Pi ay isang solitary board Linux based PC. Ang maliit na PC na ito ay naglalagay ng isang suntok sa pagrehistro ng lakas, ginamit bilang isang piraso ng mga ehersisyo sa electronics, at mga pagpapatakbo ng PC tulad ng mga spreadsheet, pagproseso ng salita, web surfing, at email, at mga laro. Maaari kang bumili ng isa sa anumang tindahan ng electronics o hobbyist.

2. I2C Shield para sa Raspberry Pi

Ang pangunahing pag-aalala na ang Raspberry Pi ay tunay na wala ay isang port ng I2C. Kaya't para doon, bibigyan ka ng konektor ng TOUTPI2 I2C na may katuturan na gamitin ang Raspberry Pi sa ANUMANG mga aparatong I2C. Magagamit ito saDCUBE Store

3. 3-Axis accelerometer, AIS328DQTR

Na kabilang sa mga sensor ng paggalaw ng STMicroelectronics, ang AIS328DQTR ay isang ultra-low-power na mataas na pagganap na 3-axis linear accelerometer na may isang digital serial interface SPI standard output. Nakuha namin ang sensor na ito mula sa DCUBE Store

4. Pagkonekta ng Cable

Nakuha namin ang I2C Connecting cable mula sa DCUBE Store

5. Micro USB cable

Ang pinaka-mapagpakumbabang naguguluhan, subalit ang pinaka mahigpit sa kailangan ng degree na lakas ay ang Raspberry Pi! Ang pinaka-prangkang paraan upang harapin ang plano ng laro ay sa pamamagitan ng paggamit ng Micro USB cable. Ang mga pin ng GPS o USB port ay maaaring gamitin sa katulad na paraan upang magbigay ng sapat na suplay ng kuryente.

6. Kailangan ng Web Access

Kunin ang iyong Raspberry Pi na nauugnay sa isang Ethernet (LAN) cable at i-interface ito sa iyong network. Sa kabilang banda, i-scan para sa isang konektor sa WiFi at gamitin ang isa sa mga USB port upang makapunta sa remote network. Ito ay isang matalim na desisyon, pangunahing, maliit at simple!

7. HDMI Cable / Remote Access

Ang Raspberry Pi ay may isang HDMI port na maaari mong i-interface lalo na sa isang Monitor o TV na may isang HDMI cable. Elective, maaari mong gamitin ang SSH upang ilabas ang iyong Raspberry Pi mula sa isang Linux PC o Macintosh mula sa terminal. Gayundin, ang PuTTY, isang libre at bukas na mapagkukunan na emulator ng terminal ay parang isang hindi lahat ng masamang pagpili.

Hakbang 2: Pagkonekta sa Hardware

Pagkonekta sa Hardware
Pagkonekta sa Hardware
Pagkonekta sa Hardware
Pagkonekta sa Hardware
Pagkonekta sa Hardware
Pagkonekta sa Hardware

Gawin ang circuit tulad ng ipinahiwatig ng eskematiko na ipinakita. Sa grap, makikita mo ang iba't ibang bahagi, mga fragment ng kuryente, at I2C sensor.

Ang Koneksyon ng Raspberry Pi at I2C Shield

Pinakamahalaga pa, kunin ang Raspberry Pi at makita ang I2C Shield dito. Maingat na pindutin ang Shield sa mga GPIO pin ng Pi at tapos na kami sa hakbang na ito nang prangka bilang pie (tingnan ang snap).

Raspberry Pi at Koneksyon ng Sensor

Kunin ang sensor at Interface ang I2C cable kasama nito. Para sa naaangkop na pagpapatakbo ng cable na ito, mangyaring suriin ang I2C Output ALWAYS tumatagal sa I2C Input. Ang pareho ay dapat na kinuha pagkatapos para sa Raspberry Pi na may kalasag I2C na naka-mount sa mga GPIO pin.

Hinihikayat namin ang paggamit ng I2C cable dahil tinatanggihan nito ang kinakailangan para sa pag-dissect ng mga pinout, pag-secure, at pag-abala na nagawa ng kahit na ang pinakamababang pagkagulo. Sa makabuluhang pagkakaugnay na ito at pag-play cable, maaari kang magpakita, magpalitan ng mga contraption, o magdagdag ng higit pang mga gadget sa isang naaangkop na application. Sinusuportahan nito ang timbang ng trabaho hanggang sa isang napakalawak na antas.

Tandaan: Ang brown wire ay dapat na masaligang sundin ang koneksyon ng Ground (GND) sa pagitan ng output ng isang aparato at ng pag-input ng ibang aparato

Ang Web Network ay Susi

Upang manalo ang aming pagtatangka, nangangailangan kami ng isang koneksyon sa Web para sa aming Raspberry Pi. Para sa mga ito, mayroon kang mga pagpipilian tulad ng pag-interfacing ng isang Ethernet (LAN) na sumali sa home network. Bukod dito, bilang isang pagpipilian, ang isang nakalulugod na kurso ay ang paggamit ng isang konektor ng WiFi USB. Karaniwan sa pagsasalita para dito, kailangan mo ng isang driver upang ito ay gumana. Kaya sandalan sa isa na may Linux sa paglalarawan.

Power Supply

I-plug ang Micro USB cable sa power jack ng Raspberry Pi. Punch up at handa na kami.

Koneksyon sa Screen

Maaari naming konektado ang HDMI cable sa isa pang Monitor. Minsan, kailangan mong makapunta sa isang Raspberry Pi nang hindi ito pinapasok sa isang screen o maaaring kailanganin mong tingnan ang impormasyon mula rito mula sa ibang lugar. Posibleng, may mga malikhain at matalinong paraan ng fiscally upang makitungo sa paggawa ng lahat ng mga bagay na isinasaalang-alang. Ang isa sa mga ito ay gumagamit - SSH (malayuang pag-login ng command-line). Maaari mo ring gamitin ang PuTTY software para doon.

Hakbang 3: Python Coding para sa Raspberry Pi

Python Coding para sa Raspberry Pi
Python Coding para sa Raspberry Pi

Maaari mong tingnan ang Python Code para sa Raspberry Pi at AIS328DQTR Sensor sa aming Github Repository.

Bago magpatuloy sa code, tiyaking nabasa mo ang mga panuntunang ibinigay sa Readme archive at I-set up ang iyong Raspberry Pi alinsunod dito. Magpapahinga lamang ito sandali upang gawin ang lahat ng bagay na isinasaalang-alang.

Ang isang accelerometer ay isang electromekanical na gadget na susukat sa mga puwersa ng pagpabilis. Ang mga kapangyarihan na ito ay maaaring static, katulad ng patuloy na lakas ng gravity na paghila sa iyong mga paa, o maaari silang mabago - dala ng paglipat o pag-vibrate ng accelerometer.

Ang pagpunta sa ay ang code ng sawa at maaari mong i-clone at baguhin ang code sa anumang paraan na kumiling ka.

# Ipinamamahagi ng isang lisensya na may malayang kalooban. # Gamitin ito sa anumang paraan na nais mo, tubo o libre, sa kondisyon na naaangkop ito sa mga lisensya ng mga nauugnay na gawa nito. # AIS328DQTR # Ang code na ito ay idinisenyo upang gumana kasama ang AIS328DQTR_I2CS I2C Mini Module na magagamit mula sa dcubestore.com # https://dcubestore.com/product/ais328dqtr-high-performance-ultra-low-power-3-axis-accelerometer-with -digital-output-for-automotive-applications-i% C2% B2c-mini-module /

import smbus

oras ng pag-import

# Kumuha ng I2C bus

bus = smbus. SMBus (1)

# AIS328DQTR address, 0x18 (24)

# Piliin ang control register1, 0x20 (32) # 0x27 (39) Mode na ON ON, Pagpili ng rate ng data = 50Hz # X, Y, Z-Axis pinagana ang bus.write_byte_data (0x18, 0x20, 0x27) # AIS328DQTR address, 0x18 (24) # Piliin ang control register4, 0x23 (35) # 0x30 (48) Patuloy na pag-update, Seleksyon ng buong sukat = +/- 8G bus.write_byte_data (0x18, 0x23, 0x30)

oras. pagtulog (0.5)

# AIS328DQTR address, 0x18 (24)

# Basahin ang data pabalik mula sa 0x28 (40), 2 bytes # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x18, 0x28) data1 = bus.read_byte_data (0x18, 0x29)

# I-convert ang data

xAccl = data1 * 256 + data0 kung xAccl> 32767: xAccl - = 65536

# AIS328DQTR address, 0x18 (24)

# Basahin ang data pabalik mula sa 0x2A (42), 2 bytes # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data (0x18, 0x2A) data1 = bus.read_byte_data (0x18, 0x2B)

# I-convert ang data

yAccl = data1 * 256 + data0 kung yAccl> 32767: yAccl - = 65536

# AIS328DQTR address, 0x18 (24)

# Basahin ang data pabalik mula sa 0x2C (44), 2 bytes # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x18, 0x2C) data1 = bus.read_byte_data (0x18, 0x2D)

# I-convert ang data

zAccl = data1 * 256 + data0 kung zAccl> 32767: zAccl - = 65536

# Data ng output sa screen

i-print ang "Acceleration in X-Axis:% d"% xAccl print "Acceleration in Y-Axis:% d"% yAccl print "Acceleration in Z-Axis:% d"% zAccl

Hakbang 4: Ang Pagsasabuhay ng Code

Ang pagiging praktiko ng Kodigo
Ang pagiging praktiko ng Kodigo

I-download (o git pull) ang code mula sa Github at buksan ito sa Raspberry Pi.

Patakbuhin ang mga utos upang Magtipon at Mag-upload ng code sa terminal at makita ang ani sa Screen. Tumatagal ng pagsunod sa maraming minuto, ipapakita nito ang bawat isa sa mga parameter. Sa kalagayan ng paggarantiya na ang lahat ay gumagana nang walang kahirap-hirap, maaari mong gamitin ang pakikipagsapalaran na ito araw-araw o gawin ang pakikipagsapalaran na ito ng isang maliit na bahagi ng isang mas higit na takdang-aralin. Anuman ang iyong mga pangangailangan mayroon ka na ngayong isa pang contraption sa iyong naipon.

Hakbang 5: Mga Aplikasyon at Tampok

Ginawa ng STMicroelectronics, ultra compact low-power high performance 3 axes linear accelerometer na kabilang sa mga sensor ng paggalaw. Ang AIS328DQTR ay naaangkop para sa application tulad ng Telematics at Black Boxes, In-Dash Car Navigation, Tilt / Inclination Measurement, Anti-Theft Device, Intelligent Power Saving, Impact Recognition and Logging, Vibration Monitoring and Compensation and Motion-Activated Function.

Hakbang 6: Konklusyon

Kung pinag-isipan mong tuklasin ang uniberso ng mga Raspberry Pi at I2C sensor, maaari mong lakarin ang iyong sarili sa pamamagitan ng paggamit ng mga pangunahing kaalaman sa hardware, pag-coding, pag-aayos, awtoridad, atbp. Sa pamamaraang ito, maaaring mayroong isang pag-uutos na maaaring maging prangka, habang ang ilan ay maaaring subukan ka, ilipat mo. Sa anumang kaso, maaari kang gumawa ng isang paraan at walang kamali-mali sa pamamagitan ng pagbabago at paggawa ng isang pormasyon sa iyo.

Halimbawa, Maaari kang magsimula sa pag-iisip ng isang Pag-uugali ng Tracker Prototype upang subaybayan at ilarawan ang mga pisikal na paggalaw at paninindigan ng mga hayop na may AIS328DQTR at Raspberry Pi na gumagamit ng Python. Sa gawain sa itaas, gumamit kami ng mga pangunahing pagkalkula ng isang accelerometer. Ang protocol ay upang lumikha ng isang sistema ng accelerometer kasama ang anumang Gyrometer at isang GPS, at isang pinangangasiwaang (machine) algorithm ng pag-aaral (suporta vector machine (SVM)) para sa awtomatikong pagkilala sa pag-uugali ng mga hayop. Susundan ito ng koleksyon ng mga pagsukat ng parallel sensor at pagsusuri ng mga sukat sa pamamagitan ng paggamit ng pag-uuri ng suporta sa vector machine (SVM). Gumamit ng iba't ibang mga kumbinasyon ng mga independiyenteng pagsukat (nakaupo, naglalakad o tumatakbo) para sa pagsasanay at pagpapatunay upang matukoy ang pagiging matatag ng prototype. Susubukan naming gumawa ng isang gumaganang rendition ng prototype na ito nang mas maaga kaysa sa paglaon, gumagana ang pagsasaayos, ang code, at pagmomodelo para sa higit pang mga mode ng pag-uugali. Naniniwala kaming lahat ng gusto mo!

Para sa iyong kaginhawaan, mayroon kaming isang kaakit-akit na video sa YouTube na maaaring makatulong sa iyong pagsusuri. Tiwala sa pagsisikap na ito ay nag-uudyok ng karagdagang pagsaliksik. Magsimula kung nasaan ka. Gamitin ang mayroon ka. Gawin ang kaya mo.

Inirerekumendang: