Talaan ng mga Nilalaman:
- Hakbang 1: Pangunahing Kailangan ng Hardware na Kinakailangan namin
- Hakbang 2: Pagkonekta sa Hardware
- Hakbang 3: Python Coding para sa Raspberry Pi
- Hakbang 4: Ang Pagsasabuhay ng Code
- Hakbang 5: Mga Aplikasyon at Tampok
- Hakbang 6: Konklusyon
Video: 3-Axis Accelerometer, ADXL345 Sa Raspberry Pi Paggamit ng Python: 6 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Pag-iisip tungkol sa isang gadget na maaaring suriin ang punto kung saan ang iyong Offroader ay ikiling patungo sa matagal. Hindi ba ito magiging isang kaaya-aya sa kaganapan na ang isang tao ay nababagay kapag may posibilidad na magtipid? Malinaw na oo. Ito ay magiging tunay na kapaki-pakinabang sa mga indibidwal na gustong pumunta sa mga bundok at mga paglalakbay sa enterprise.
Nang walang pag-aalinlangan, isang tunay na napakatalino na panahon ng advanced na pagsusuri ng pag-uunawa, ang IoT ay nasa atin. Bilang mga mahilig sa Gadget at Programming, naniniwala kami, ang Raspberry Pi, ang micro Linux PC ay ginagamot ang mga malikhaing kakayahan ng mga tao sa pangkalahatan, dala nito ang isang pagsabog sa mga makabagong pamamaraan. Kaya ano ang maiisip na mga kinalabasan na kung ano ang maaari nating gawin sakaling magkaroon tayo ng isang Raspberry Pi at isang 3-axis na Accelerometer malapit? Dapat nating tuklasin! Sa gawaing ito, madarama natin ang pagpabilis sa 3 axes, X, Y at Z na gumagamit ng Raspberry Pi at ADXL345, isang 3-axis accelerometer. Kaya dapat nating obserbahan ang pamamasyal na ito upang makagawa ng isang balangkas upang masukat ang 3-dimensional na pagpabilis o G-Force.
Hakbang 1: Pangunahing Kailangan ng Hardware na Kinakailangan namin
Ang mga isyu ay mas mababa para sa amin dahil mayroon kaming isang tonelada ng mga bagay na nakahiga upang gumana. Gayunpaman, alam namin kung paano mahirap para sa iba na tipunin ang tamang bahagi sa perpektong oras mula sa naaangkop na lugar at nabibigyan ng katarungan anuman ang bawat sentimo. Kaya tutulungan ka namin sa lahat ng mga rehiyon. Basahin ang sumusunod upang makakuha ng isang kumpletong listahan ng mga bahagi.
1. Raspberry Pi
Ang paunang hakbang ay ang pagkuha ng isang board na Raspberry Pi. Ang maliit, malakihang kapangyarihan ng computer na ito ay nagbibigay ng isang murang at pangkalahatang simpleng batayan para sa mga pakikipagsapalaran sa electronics, Internet of Things (IoT), Smart Cities, School Education.
2. I2C Shield para sa Raspberry Pi
Ang pangunahing bagay na ang Raspberry Pi ay tunay na nawawala ay isang port ng I²C. Kaya't para doon, bibigyan ka ng konektor ng TOUTPI2 I²C na may katuturan na magamit ang Rasp Pi sa mga Maramihang I²C na aparato. Naa-access ito sa DCUBE Store
3. 3-axis accelerometer, ADXL345
Ginawa ng Mga Analog Device, ang ADXL345, ay isang mababang lakas na 3-axis accelerometer na may mataas na resolusyon na 13-bit na pagsukat hanggang sa ± 16g. Nakuha namin ang sensor na ito mula sa DCUBE Store
4. Pagkonekta ng Cable
Mayroon kaming I2C na kumokonekta na cable na naa-access sa DCUBE Store
5. Micro USB cable
Ang pinakamaliit na nalito, ngunit ang pinaka mahigpit hanggang sa kailangan ng kuryente ay ang Raspberry Pi! Ang pinaka-hirap na diskarte upang mapalakas ang Raspberry Pi ay sa pamamagitan ng Micro USB cable.
6. Kailangan ng Web Access
Ang web access ay maaaring bigyang kapangyarihan sa pamamagitan ng isang Ethernet (LAN) cable na nauugnay sa isang lokal na network at web. Sa kabilang banda, maaari kang maiugnay sa isang wireless network gamit ang isang USB wireless dongle, na mangangailangan ng pagsasaayos.
7. HDMI Cable / Remote Access
Sa board na HDMI, maaari mo itong mai-hook sa isang digital TV o sa isang Monitor. Kailangang magtipid ng cash! Ang Raspberry Pi ay maaaring makuha mula sa malayo sa paggamit ng mga natatanging diskarte tulad ng-SSH at Pag-access sa Web. Maaari mong gamitin ang PuTTYopen source software.
Hakbang 2: Pagkonekta sa Hardware
Lumabas ang circuit alinsunod sa eskematiko na lumitaw. Gumuhit ng isang balangkas at sinasadya pagkatapos ng pagsasaayos.
Koneksyon ng Raspberry Pi at I2C Shield
Higit sa lahat, kunin ang Raspberry Pi at makita ang I2C Shield dito. Pindutin ang Shield nang delikado sa mga GPIO pin ng Pi at natapos na kami sa pag-unlad na ito na kasing simple ng pie (tingnan ang snap).
Koneksyon ng Sensor at Raspberry Pi
Kunin ang sensor at Interface ang I2C Cable kasama nito. Para sa naaangkop na pagpapatakbo ng Cable na ito, mangyaring alalahanin ang I2C Output ALWAYS na nauugnay sa I2C Input. Ang pareho ay dapat na kinuha pagkatapos para sa Raspberry Pi na may kalasag I2C na naka-mount sa ibabaw nito ang mga GPIO pin.
Inireseta namin ang paggamit ng I2C cable dahil tinanggihan nito ang kinakailangan para sa perusing pinout, paghihinang, at karamdaman na sanhi ng kahit na pinakamaliit na pagkakasala. Gamit ang pangunahing plug and play cable na ito, maaari mong ipakilala, palitan ang mga aparato, o magdagdag ng higit pang mga aparato sa isang application nang madali. Ginagawa nitong hindi kumplikado ang mga bagay.
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 magwagi ang aming pakikipagsapalaran, nangangailangan kami ng isang koneksyon sa web para sa aming Raspberry Pi. Para sa mga ito, mayroon kang mga kahalili tulad ng pag-interfacing ng isang Ethernet (LAN) cable sa home system. Bilang karagdagan, bilang isang pagpipilian, gayunpaman, isang kapaki-pakinabang na ruta ay ang paggamit ng isang konektor sa WiFi. Ang ilan sa mga oras 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. I-ilaw ito at mabuti kaming pumunta.
Koneksyon sa Screen
Maaari naming maiugnay ang HDMI cable sa isa pang screen. Sa ilang mga kaso, kailangan mong makapunta sa isang Raspberry Pi nang hindi ito pinapasok sa isang screen o maaaring kailanganin mong tingnan ang ilang data mula rito mula sa ibang lugar. Mapagpalagay, may mga makabago at matalino sa pananalapi na mga diskarte sa paggawa ng tulad. Ang isa sa mga ito ay gumagamit - SSH (malayuang pag-login ng command-line). Maaari mo ring magamit ang PuTTY software para doon.
Hakbang 3: Python Coding para sa Raspberry Pi
Ang Python Code para sa Raspberry Pi at ADXL345 Sensor ay naa-access sa aming Github Repository.
Bago magpatuloy sa code, tiyaking nabasa mo ang mga alituntunin na ibinigay sa Readme na dokumento at I-set up ang iyong Raspberry Pi alinsunod dito. Ito ay simpleng i-pause para sa isang minuto upang gawin tulad ng.
Ang isang accelerometer ay isang aparato na sumusukat sa wastong pagpapabilis; ang tamang pagbilis ay hindi katulad ng coordinate acceleration (rate ng pagbabago ng bilis). Ang mga modelo ng solong- at multi-axis ng accelerometer ay maa-access upang makilala ang lakas at direksyon ng wastong pagpapabilis, bilang isang dami ng vector, at maaaring magamit upang maunawaan ang oryentasyon, i-coordinate ang pagpabilis, panginginig, pagkabigla, at pagbagsak sa isang resistive medium.
Ang code ay malinaw sa harap mo at ito ay sa pinaka prangkang istraktura na maaari mong isipin at dapat kang walang mga isyu.
# 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. # ADXL345 # Ang code na ito ay idinisenyo upang gumana kasama ang ADXL345_I2CS I2C Mini Module na magagamit mula sa dcubestore.com -module /
import smbus
oras ng pag-import
# Kumuha ng I2C bus
bus = smbus. SMBus (1)
# ADXL345 address, 0x53 (83)
# Piliin ang rehistro ng rate ng bandwidth, 0x2C (44) # 0x0A (10) Karaniwang mode, rate ng data ng output = 100 Hz bus.write_byte_data (0x53, 0x2C, 0x0A) # ADXL345 address, 0x53 (83) # Piliin ang rehistro ng control ng kuryente, 0x2D (45) # 0x08 (08) I-disable ng Auto Sleep ang bus.write_byte_data (0x53, 0x2D, 0x08) # ADXL345 address, 0x53 (83) # Piliin ang rehistro ng format ng data, 0x31 (49) # 0x08 (08) Hindi pinagana ang self test, 4-wire interface # Buong resolusyon, Saklaw = +/- 2g bus.write_byte_data (0x53, 0x31, 0x08)
oras. pagtulog (0.5)
# ADXL345 address, 0x53 (83)
# Basahin ang data pabalik mula sa 0x32 (50), 2 bytes # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)
# I-convert ang data sa 10-bit
xAccl = (((data1 & 0x03) * 256) + data0 kung xAccl> 511: xAccl - = 1024
# ADXL345 address, 0x53 (83)
# Basahin ang data pabalik mula sa 0x34 (52), 2 bytes # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)
# I-convert ang data sa 10-bit
yAccl = (((data1 & 0x03) * 256) + data0 kung yAccl> 511: yAccl - = 1024
# ADXL345 address, 0x53 (83)
# Basahin ang data mula sa 0x36 (54), 2 bytes # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)
# I-convert ang data sa 10-bit
zAccl = (((data1 & 0x03) * 256) + data0 kung zAccl> 511: zAccl - = 1024
# 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
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 output sa Monitor. Kasunod sa ilang sandali, ipapakita nito ang bawat isa sa mga parameter. Kasunod sa pagtiyak na gumagana ang lahat madali, maaari mong gawin ang pakikipagsapalaran na ito sa isang mas malaking gawain.
Hakbang 5: Mga Aplikasyon at Tampok
Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na may mataas na resolusyon (13-bit) na pagsukat hanggang sa ± 16 g. Ang ADXL345 ay angkop para sa Mga Application ng Cell Phone. Kinakalkula nito ang Static Acceleration ng Gravity sa Mga Ikiling na Pagtuklas ng Mga Aplikasyon at bilang karagdagan Dynamic na Pagpapabilis na paparating tungkol sa dahil sa Motion o Shock. Kasama sa iba pang mga application ang mga kagustuhan ng Handsets, Instrumentasyong medikal, Mga Device sa Paglalaro at Pagturo, Instrumentasyong Pang-industriya, Mga Device sa Personal na Pag-navigate, at Proteksyon ng Hard Disk Drive (HDD).
Hakbang 6: Konklusyon
Inaasahan na ang gawaing ito ay mag-uudyok ng karagdagang pag-eksperimento. Ang I2C sensor na ito ay labis na nababaluktot, mura at naa-access. Dahil ito ay sa isang mahusay na antas na hindi permanenteng sistema, may mga kagiliw-giliw na paraan na maaari mong palawakin ang gawaing ito at pagbutihin ito kahit.
Halimbawa, Maaari kang magsimula sa ideya ng isang Inclinometer gamit ang ADXL345 at Raspberry Pi. Sa proyekto sa itaas, gumamit kami ng mga pangunahing kalkulasyon. Maaari mong pagbutihin ang code para sa mga halaga ng G, mga anggulo ng slope (o ikiling), taas o pagkalumbay ng isang bagay na patungkol sa gravity. Pagkatapos ay maaari mong suriin ang mga advance na pagpipilian tulad ng mga anggulo ng pag-ikot para sa roll (front-to-back axis, X), pitch (side-to-side axis, Y) at yaw (vertikal na axis, Z). Ipinapakita ng accelerometer na ito ang 3-D G-Forces. Kaya maaari mong gamitin ang sensor na ito sa iba't ibang mga paraan na maaari mong isaalang-alang.
Para sa iyong kaginhawaan, mayroon kaming kamangha-manghang ehersisyo sa pagtuturo ng video sa YouTube na maaaring makatulong sa iyong pagsisiyasat. Tiwala ang pakikipagsapalaran na ito ay nag-uudyok sa karagdagang pagsaliksik. Patuloy na pagnilayan! Isaisip na maghanap bilang higit pa ay patuloy na darating.
Inirerekumendang:
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: Ang pagpapabilis ay may hangganan, sa palagay ko ayon sa ilang mga batas ng Physics.- Terry Riley Ang isang cheetah ay gumagamit ng kamangha-manghang pagpabilis at mabilis na mga pagbabago sa bilis kapag humabol. Ang pinaka dalubhasang nilalang sa pampang nang minsan ay gumagamit ng pinakamataas na bilis upang mahuli ang biktima. Ang
Neopixel Ws2812 Rainbow LED Glow With M5stick-C - Tumatakbo ang Rainbow sa Neopixel Ws2812 Paggamit ng M5stack M5stick C Paggamit ng Arduino IDE: 5 Hakbang
Neopixel Ws2812 Rainbow LED Glow With M5stick-C | Pagpapatakbo ng Rainbow sa Neopixel Ws2812 Paggamit ng M5stack M5stick C Paggamit ng Arduino IDE: Kumusta mga tao sa mga itinuturo na ito matututunan natin kung paano gamitin ang neopixel ws2812 LEDs o led strip o led matrix o led ring na may m5stack m5stick-C development board na may Arduino IDE at gagawin namin isang pattern ng bahaghari kasama nito
RF 433MHZ Radio Control Paggamit ng HT12D HT12E - Paggawa ng isang Rf Remote Control Paggamit ng HT12E & HT12D Sa 433mhz: 5 Hakbang
RF 433MHZ Radio Control Paggamit ng HT12D HT12E | Ang paggawa ng isang Rf Remote Control Paggamit ng HT12E & HT12D Sa 433mhz: Sa itinuturo na ito ipapakita ko sa iyo kung paano gumawa ng isang remote control ng RADIO gamit ang 433mhz transmitter receiver module na may HT12E encode & HT12D decoder IC. Sa itinuturo na ito maaari kang magpadala at makatanggap ng data gamit ang napaka murang mga KOMPONENS Tulad: HT
Pagdidisenyo ng PCB at Paghiwalay ng Paggamit ng Paggamit lamang ng Libreng Software: 19 Hakbang (na may Mga Larawan)
Pagdidisenyo at Pag-iisa ng PCB Paggamit ng Tanging Libreng Software: Sa Instructable na ito ipapakita ko sa iyo kung paano mag-disenyo at gumawa ng iyong sariling mga PCB, eksklusibong gumagamit ng libreng software na tumatakbo sa Windows pati na rin sa isang Mac. Mga bagay na kailangan mo: computer na may koneksyon sa internet cnc galingan / router, mas tumpak ang pusta
DHT 11 Paggamit ng Paggamit ng Arduino: 5 Hakbang
DHT 11 Gamit ang Paggamit ng Arduino: Hai, Sa itinuturo na ito ay gagawa kami ng DHT 11 gamit ang arduino at serial monitor. Ang DHT11 ay isang pangunahing, sobrang murang digital na temperatura ng digital at sensor ng halumigmig. Gumagamit ito ng capacitive sensor ng kahalumigmigan at isang thermistor upang masukat ang nakapalibot na hangin,