Satura rādītājs:

Trīs asu akselerometrs, ADXL345 ar Raspberry Pi, izmantojot Python: 6 soļi
Trīs asu akselerometrs, ADXL345 ar Raspberry Pi, izmantojot Python: 6 soļi

Video: Trīs asu akselerometrs, ADXL345 ar Raspberry Pi, izmantojot Python: 6 soļi

Video: Trīs asu akselerometrs, ADXL345 ar Raspberry Pi, izmantojot Python: 6 soļi
Video: Arduino Nano and GY-521 MPU6050 3-осевой гироскоп, 3-осевой акселерометр и DMP 2024, Novembris
Anonim
Trīs asu akselerometrs, ADXL345 ar Raspberry Pi, izmantojot Python
Trīs asu akselerometrs, ADXL345 ar Raspberry Pi, izmantojot Python

Domājot par sīkrīku, ar kuru var pārbaudīt punktu, kurā jūsu Offroader ir noliekts, lai aizkavētos. Vai tas nebūtu patīkami, ja kāds tiktu pielāgots, ja ir iespēja apgāzties? Acīmredzot jā. Tas būtu patiešām noderīgi cilvēkiem, kuriem patīk doties kalnos un ceļot uzņēmumos.

Bez šaubām, mūs gaida patiesi izcils padziļinātas novērtēšanas periods - IoT. Kā sīkrīku un programmēšanas cienītāji, mēs uzskatām, ka Raspberry Pi, mikro Linux dators ir izturējies pret cilvēku radošajām spējām kopumā, nesot līdzi inovatīvu metodiku. Tātad, kādi ir iespējamie rezultāti, ko mēs varam darīt, ja tuvumā ir Raspberry Pi un 3 asu akselerometrs? Mums vajadzētu atklāt! Šajā uzdevumā mēs jutīsim paātrinājumu uz 3 asīm, X, Y un Z, izmantojot Raspberry Pi un 3 asu akselerometru ADXL345. Tāpēc mums vajadzētu novērot šo ekskursiju, lai izveidotu pamatu trīsdimensiju paātrinājuma palielināšanai jeb G-Force.

1. darbība. Nepieciešamā pamata aparatūra

Nepieciešamā pamata aparatūra
Nepieciešamā pamata aparatūra
Nepieciešamā pamata aparatūra
Nepieciešamā pamata aparatūra
Nepieciešamā pamata aparatūra
Nepieciešamā pamata aparatūra

Problēmas mums bija mazākas, jo mums ir daudz lietu, no kurām strādāt. Tomēr mēs zinām, ka citiem ir apgrūtinoši īstajā laikā savākt pareizo daļu no izdevīgās vietas, un tas ir pamatoti neatkarīgi no katra santīma. Tāpēc mēs jums palīdzēsim visos reģionos. Izlasiet tālāk minēto, lai iegūtu pilnu detaļu sarakstu.

1. Aveņu Pi

Sākotnējais solis bija Raspberry Pi dēļa iegāde. Šis mazais, mazjaudas dators nodrošina lētu un parasti vienkāršu pamatu elektronikas projektiem, lietu internetam (IoT), viedajām pilsētām, skolas izglītībai.

2. I2C vairogs Raspberry Pi

Galvenais, kas Raspberry Pi patiešām trūkst, ir I²C ports. Tāpēc TOUTPI2 I²C savienotājs dod jums sajūtu izmantot Rasp Pi ar MULTIPLE I²C ierīcēm. Tas ir pieejams veikalā DCUBE

3. 3 asu akselerometrs, ADXL345

Analog Devices ražotais ADXL345 ir mazjaudas 3 asu akselerometrs ar augstas izšķirtspējas 13 bitu mērījumiem līdz ± 16 g. Mēs ieguvām šo sensoru no DCUBE veikala

4. Savienojošais kabelis

Mums bija pieejams I2C savienojošais kabelis DCUBE veikalā

5. Mikro USB kabelis

Mazākais apjukums, bet visstingrākais, ciktāl tas ir nepieciešams, ir Raspberry Pi! Visvienkāršākā pieeja Raspberry Pi ieslēgšanai ir, izmantojot Micro USB kabeli.

6. Piekļuve tīmeklim ir nepieciešama

Piekļuvi tīmeklim var nodrošināt, izmantojot Ethernet (LAN) kabeli, kas saistīts ar vietējo tīklu un tīmekli. No otras puses, jūs varat izveidot savienojumu ar bezvadu tīklu, izmantojot USB bezvadu dongli, kam būs nepieciešama konfigurācija.

7. HDMI kabelis/attālā piekļuve

Izmantojot HDMI kabeli, varat to savienot ar digitālo televizoru vai monitoru. Nepieciešams rezervēt naudu! Raspberry Pi var attālināti izmantot, izmantojot tādas atšķirīgas stratēģijas kā SSH un piekļuve tīmeklī. Jūs varat izmantot PuTTYopen avota programmatūru.

2. darbība. Aparatūras pievienošana

Aparatūras savienošana
Aparatūras savienošana
Aparatūras savienošana
Aparatūras savienošana
Aparatūras savienošana
Aparatūras savienošana
Aparatūras savienošana
Aparatūras savienošana

Izveidojiet ķēdi saskaņā ar parādīto shēmu. Izveidojiet kontūru un apzināti ņemiet pēc konfigurācijas.

Raspberry Pi un I2C Shield savienojums

Galvenais, paņemiet Raspberry Pi un pamaniet uz tā I2C vairogu. Uzmanīgi nospiediet vairogu virs Pi GPIO tapām, un mēs esam pabeiguši šo vienkāršo progresu kā pīrāgs (skat. Momentuzņēmumu).

Sensora un Raspberry Pi savienojums

Paņemiet sensoru un pievienojiet tam I2C kabeli. Lai pareizi izmantotu šo kabeli, lūdzu, atcerieties, ka I2C izeja VIENMĒR ir saistīta ar I2C ievadi. Tas pats jāņem vērā pēc Raspberry Pi ar I2C vairogu, kas uzstādīts virs tā, GPIO tapām.

Mēs paredzam I2C kabeļa izmantošanu, jo tas atspēko prasību iepazīties ar pinouts, lodēšanu un savārgumu, ko izraisa pat vismazākās kļūdas. Izmantojot šo pamata plug and play kabeli, varat viegli ieviest, nomainīt ierīces vai pievienot lietojumprogrammai vairāk ierīču. Tas padara lietas nesarežģītas.

Piezīme. Brūnajam vadam vajadzētu droši sekot zemējuma (GND) savienojumam starp vienas ierīces izeju un citas ierīces ieeju

Tīmekļa tīkls ir galvenais

Lai mūsu uzņēmums uzvarētu, mūsu Raspberry Pi ir nepieciešams interneta savienojums. Šim nolūkam jums ir alternatīvas, piemēram, Ethernet (LAN) kabeļa savienošana ar mājas sistēmu. Turklāt, kā opcija, noderīgs maršruts ir izmantot WiFi savienotāju. Lai to izdarītu, kādu laiku jums ir nepieciešams draiveris. Tāpēc noliecieties uz to, kurā attēlots Linux.

Enerģijas padeve

Pievienojiet Micro USB kabeli Raspberry Pi barošanas ligzdai. Iededziet to, un mums ir labi doties.

Savienojums ar ekrānu

HDMI kabelis var būt saistīts ar citu ekrānu. Dažos gadījumos jums ir jādodas uz Raspberry Pi, nepiesaistot to ekrānam, vai arī jums, iespējams, vajadzēs apskatīt dažus datus no tā no citas vietas. Iespējams, ir novatoriskas un finansiāli gudras pieejas, kā rīkoties kā tādai. Viens no tiem tiek izmantots - SSH (attālā komandrindas pieteikšanās). Šim nolūkam varat izmantot arī PuTTY programmatūru.

3. darbība: Raspberry Pi kodēšana Python

Python kodēšana Raspberry Pi
Python kodēšana Raspberry Pi

Raspberry Pi un ADXL345 sensora Python kods ir pieejams mūsu Github krātuvē.

Pirms turpināt kodu, pārliecinieties, ka esat izlasījis Readme dokumentā sniegtās vadlīnijas un iestatiet Raspberry Pi atbilstoši tam. Tas vienkārši apstāsies uz minūti, lai to izdarītu.

Akselerometrs ir ierīce, kas mēra pareizu paātrinājumu; pareizs paātrinājums nav tas pats, kas koordinātu paātrinājums (ātruma maiņas ātrums). Akselerometra vienas un vairāku asu modeļi ir pieejami, lai identificētu pareizā paātrinājuma lielumu un virzienu kā vektora daudzumu, un tos var izmantot, lai saprastu orientāciju, koordinētu paātrinājumu, vibrāciju, triecienu un kritienu pretestības vidē.

Kods ir vienkāršs jūsu priekšā, un tas ir visvienkāršākajā struktūrā, kādu jūs varat iedomāties, un jums nevajadzētu rasties problēmām.

# Izplatīts ar brīvās gribas licenci.# Izmantojiet to, kā vēlaties, gūstiet peļņu vai bez maksas, ja tas iekļaujas saistīto darbu licencēs. # ADXL345 # Šis kods ir paredzēts darbam ar ADXL345_I2CS I2C mini moduli, kas pieejams vietnē dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -modulis/

importēt smbus

importa laiks

# Iegūstiet I2C autobusu

autobuss = smbus. SMBus (1)

# ADXL345 adrese, 0x53 (83)

# Atlasiet joslas platuma ātruma reģistru, 0x2C (44) # 0x0A (10) Normāls režīms, Izejas datu pārraides ātrums = 100 Hz kopnes. Rakstīšanas_baita_dati (0x53, 0x2C, 0x0A) # ADXL345 adrese, 0x53 (83) # Atlasiet jaudas vadības reģistru, 0x2D (45) # 0x08 (08) Automātiskā miega režīma atspējošana bus.write_byte_data (0x53, 0x2D, 0x08) # ADXL345 adrese, 0x53 (83) # Izvēlieties datu formāta reģistru, 0x31 (49) # 0x08 (08) Pašpārbaude atspējota, 4 vadu interfeiss # Pilna izšķirtspēja, diapazons = +/- 2g kopne.rakstīt_baitu_dati (0x53, 0x31, 0x08)

miega laiks (0,5)

# ADXL345 adrese, 0x53 (83)

# Lasīt datus no 0x32 (50), 2 baiti # X-ass LSB, X-ass MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)

# Pārvērtiet datus par 10 bitiem

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

# ADXL345 adrese, 0x53 (83)

# Lasīt datus no 0x34 (52), 2 baiti # Y-ass LSB, Y-ass MSB data0 = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)

# Pārvērtiet datus par 10 bitiem

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

# ADXL345 adrese, 0x53 (83)

# Lasīt datus no 0x36 (54), 2 baiti # Z-ass LSB, Z-ass MSB data0 = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)

# Pārvērtiet datus par 10 bitiem

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

# Izvadiet datus ekrānā

drukāt "Paātrinājums X-asī: %d" %xAccl druka "Paātrinājums Y-asī: %d" %yAccl drukāšana "Paātrinājums Z-asī: %d" %zAccl

4. solis: kodeksa praktiskums

Kodeksa praktiskums
Kodeksa praktiskums

Lejupielādējiet (vai git pull) kodu no Github un atveriet to Raspberry Pi.

Palaidiet komandas, lai apkopotu un augšupielādētu kodu terminālī, un skatiet monitora izvadi. Pēc dažiem mirkļiem tas parādīs visus parametrus. Pēc tam, kad esat pārliecinājies, ka viss darbojas viegli, varat veikt šo uzdevumu lielākam uzdevumam.

5. darbība: lietojumprogrammas un līdzekļi

ADXL345 ir mazs, plāns, īpaši mazas jaudas 3 asu akselerometrs ar augstas izšķirtspējas (13 bitu) mērījumu līdz ± 16 g. ADXL345 ir piemērots mobilo tālruņu lietojumprogrammām. Tas kvantitatīvi nosaka statisko gravitācijas paātrinājumu slīpuma noteikšanas lietojumprogrammās un papildus dinamisko paātrinājumu, kas gaidāms kustības vai trieciena dēļ. Citas lietojumprogrammas ietver tālruņus, medicīnas instrumentus, spēļu un rādītājierīces, rūpnieciskos instrumentus, personīgās navigācijas ierīces un cietā diska (HDD) aizsardzību.

6. darbība. Secinājums

Ceru, ka šis uzdevums motivē turpmākus eksperimentus. Šis I2C sensors ir ārkārtīgi elastīgs, lēts un pieejams. Tā kā tā lielā mērā ir nepastāvīga sistēma, ir interesanti veidi, kā šo uzdevumu paplašināt un pat uzlabot.

Piemēram, varat sākt ar ideju par Inclinometru, izmantojot ADXL345 un Raspberry Pi. Iepriekš minētajā projektā mēs izmantojām pamata aprēķinus. Jūs varat improvizēt G vērtību, slīpuma (vai slīpuma) leņķu, objekta pacēluma vai depresijas kodu attiecībā pret smagumu. Pēc tam varat pārbaudīt iepriekšējās iespējas, piemēram, pagriešanās leņķus rullim (ass no priekšas uz aizmuguri, X), slīpumu (ass no vienas puses uz otru, Y) un pagriešanos (vertikālā ass, Z). Šis akselerometrs parāda 3-D G-spēkus. Tātad jūs varētu izmantot šo sensoru dažādos veidos, kurus varat apsvērt.

Jūsu ērtībai mēs piedāvājam aizraujošu video pamācību pakalpojumā YouTube, kas var palīdzēt jūsu izmeklēšanā. Uzticieties šim uzņēmumam motivē tālāku izpēti. Turpini pārdomāt! Paturiet prātā, lai meklētu pēc tam, jo nepārtraukti nāk arvien vairāk.

Ieteicams: