3-akselinen kiihtyvyysmittari, ADXL345 Raspberry Pi: n kanssa Pythonin avulla: 6 vaihetta
3-akselinen kiihtyvyysmittari, ADXL345 Raspberry Pi: n kanssa Pythonin avulla: 6 vaihetta
Anonim
3-akselinen kiihtyvyysmittari, ADXL345 ja Raspberry Pi Pythonin avulla
3-akselinen kiihtyvyysmittari, ADXL345 ja Raspberry Pi Pythonin avulla

Ajattele gadgetia, joka voi tarkistaa pisteen, jossa Offroader on kallistunut viipymään. Eikö olisi mukavaa, jos joku mukautuu, kun on mahdollista kaatua? Ilmeisesti kyllä. Se olisi todella hyödyllistä henkilöille, jotka rakastavat vuorille ja yritysmatkoja.

Epäilemättä todellinen loistava kehittyneen hahmottamisen ajanjakso, IoT on käsillämme. Gadgetien ja ohjelmoinnin ystävinä uskomme, että Raspberry Pi, micro Linux -tietokone on kohdellut ihmisten luovia kykyjä yleensä ja tuonut mukanaan innovatiivisia menetelmiä. Joten mitä voidaan kuvitella, mitä voimme tehdä, jos meillä on Raspberry Pi ja 3-akselinen kiihtyvyysanturi lähellä? Meidän pitäisi löytää! Tässä tehtävässä tunnemme kiihtyvyyden kolmella akselilla, X, Y ja Z, käyttämällä Raspberry Pi: tä ja ADXL345: tä, 3-akselista kiihtyvyysmittaria. Joten meidän pitäisi tarkkailla tätä retkeä, jotta voimme valmistaa kehyksen 3-ulotteisen kiihtyvyyden tai G-voiman mittaamiseksi.

Vaihe 1: Peruslaitteisto, jota tarvitsemme

Peruslaitteisto, jota tarvitsemme
Peruslaitteisto, jota tarvitsemme
Peruslaitteisto, jota tarvitsemme
Peruslaitteisto, jota tarvitsemme
Peruslaitteisto, jota tarvitsemme
Peruslaitteisto, jota tarvitsemme

Ongelmat olivat meille vähäisempiä, koska meillä on paljon tavaraa töissä. Siitä huolimatta tiedämme, kuinka vaikeaa toisten on koota oikea osa täydellisessä ajassa sopivasta paikasta, ja se on perusteltua jokaisesta pennistä riippumatta. Joten autamme sinua kaikilla alueilla. Lue seuraava osio saadaksesi täydellinen osaluettelo.

1. Vadelma Pi

Ensimmäinen vaihe oli Raspberry Pi -levyn hankkiminen. Tämä pieni, pienitehoinen tietokone tarjoaa halvan ja yleensä yksinkertaisen tukikohdan elektroniikkayrityksille, esineiden internetille (IoT), älykkäille kaupungeille ja kouluopetukselle.

2. I2C Shield Raspberry Pi: lle

Tärkein asia, josta Raspberry Pi todella puuttuu, on I²C -portti. Joten TOUTPI2 I²C -liitin antaa sinulle mahdollisuuden käyttää Rasp Pi: tä MULTIPLE I²C -laitteiden kanssa. Se on saatavana DCUBE Storesta

3. 3-akselinen kiihtyvyysanturi, ADXL345

Analog Devicesin valmistama ADXL345 on pienitehoinen 3-akselinen kiihtyvyysanturi, jolla on korkean resoluution 13-bittinen mittaus jopa ± 16 g. Ostimme tämän anturin DCUBE Storesta

4. Liitäntäkaapeli

Meillä oli I2C -liitäntäkaapeli saatavilla DCUBE Storesta

5. Micro -USB -kaapeli

Pienin hämmentynyt, mutta kaikkein tiukin virran tarpeessa on Raspberry Pi! Vaivattomin tapa käynnistää Raspberry Pi on Micro -USB -kaapelin avulla.

6. Web Access on tarve

Verkkokäyttöä voidaan käyttää paikalliseen verkkoon ja verkkoon liitetyn Ethernet (LAN) -kaapelin kautta. Toisaalta voit muodostaa yhteyden langattomaan verkkoon käyttämällä langatonta USB -sovitinta, joka vaatii kokoonpanon.

7. HDMI -kaapeli/etäkäyttö

HDMI -kaapelin avulla voit kytkeä sen digitaalitelevisioon tai näyttöön. Rahaa pitää säästää! Raspberry Pi voidaan etäkäyttää hyödyntämään erityisiä strategioita, kuten SSH ja Access Webissä. Voit käyttää PuTTYopen -lähdeohjelmistoa.

Vaihe 2: Laitteiston liittäminen

Laitteiston liittäminen
Laitteiston liittäminen
Laitteiston liittäminen
Laitteiston liittäminen
Laitteiston liittäminen
Laitteiston liittäminen
Laitteiston liittäminen
Laitteiston liittäminen

Tee piiri kaavion mukaan ilmestyi. Laadi ääriviivat ja ota tarkoituksellisesti kokoonpanon jälkeen.

Raspberry Pi ja I2C Shield -liitäntä

Ennen kaikkea ota Raspberry Pi ja havaitse sen I2C Shield. Paina kilpi varovasti Pi: n GPIO -nastojen päälle ja olemme saaneet tämän edistymisen niin yksinkertaiseksi kuin piirakka (katso katkelma).

Anturin ja Raspberry Pi: n liitäntä

Ota anturi ja liitä I2C -kaapeli sen kanssa. Tämän kaapelin asianmukaista käyttöä varten muista, että I2C -lähtö on AINA liitetty I2C -tuloon. Sama on otettava jälkeen Raspberry Pi: lle, jonka päälle on asennettu I2C -suoja, GPIO -nastat.

Me määrätämme I2C -kaapelin käytön, koska se kumoaa vaatimuksen, joka koskee pienimpien virheiden aiheuttamia pistokkeita, juotoksia ja huonovointisuutta. Tällä yksinkertaisella plug and play -kaapelilla voit helposti ottaa käyttöön, vaihtaa laitteita tai lisätä laitteita sovellukseen. Tämä tekee asioista mutkattomia.

Huomautus: Ruskean johdon pitäisi luotettavasti seurata maadoitusliitäntää (GND) yhden laitteen ulostulon ja toisen laitteen tulon välillä

Web -verkko on avain

Jotta yrityksemme voittaisi, tarvitsemme verkkoyhteyden Raspberry Pi -laitteeseemme. Tätä varten sinulla on vaihtoehtoja, kuten Ethernet (LAN) -kaapelin liittäminen kotijärjestelmään. Lisäksi vaihtoehtona on kuitenkin hyödyllinen reitti WiFi -liittimen käyttäminen. Joskus tähän tarvitaan kuljettaja, jotta se toimisi. Joten nojaa kohti sitä, jossa on Linux.

Virtalähde

Liitä Micro USB -kaapeli Raspberry Pi -laitteen virtaliitäntään. Sytytä se ja olemme valmiita lähtemään.

Yhteys näyttöön

Voimme liittää HDMI -kaapelin toiseen näyttöön. Joissakin tapauksissa sinun on päästävä Raspberry Pi -laitteeseen liittämättä sitä näyttöön tai sinun on ehkä tarkasteltava joitain tietoja jostakin muualta. Mahdollisesti on olemassa innovatiivisia ja taloudellisesti taitavia lähestymistapoja siihen. Yksi niistä on SSH (komentorivin etäkirjautuminen). Voit myös käyttää siihen PuTTY -ohjelmistoa.

Vaihe 3: Raspberry Pi: n Python -koodaus

Raspberry Pi: n Python -koodaus
Raspberry Pi: n Python -koodaus

Raspberry Pi- ja ADXL345 -anturin Python -koodi on saatavana Github -arkistostamme.

Ennen kuin jatkat koodia, varmista, että luet Readme -asiakirjassa annetut ohjeet ja määrität Raspberry Pi -laitteen sen mukaan. Se yksinkertaisesti pysähtyy minuutin ajaksi tekemään sellaisenaan.

Kiihtyvyysmittari on laite, joka mittaa asianmukaista kiihtyvyyttä; oikea kiihtyvyys ei ole sama kuin koordinaattikiihtyvyys (nopeuden muutosnopeus). Kiihtyvyysmittarin yksi- ja moniakseliset mallit ovat saatavilla oikean kiihtyvyyden suuruuden ja suunnan tunnistamiseksi vektorin suurena, ja niitä voidaan käyttää suunnan, kiihtyvyyden, tärinän, iskun ja putoamisen tunnistamiseen vastusväliaineessa.

Koodi on selvä edessäsi ja se on yksinkertaisimmassa rakenteessa, jonka voit kuvitella, eikä sinulla pitäisi olla ongelmia.

# Jaetaan vapaaehtoisella lisenssillä.# Käytä sitä haluamallasi tavalla, voittoa tai ilmaiseksi, jos se sopii siihen liittyvien teosten lisensseihin. # ADXL345 # Tämä koodi on suunniteltu toimimaan ADXL345_I2CS I2C Mini -moduulin kanssa, joka on saatavana osoitteesta dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -moduuli/

tuoda smbus

tuonnin aika

# Hanki I2C -bussi

väylä = smbus. SMBus (1)

# ADXL345 -osoite, 0x53 (83)

# Valitse kaistanleveysrekisteri, 0x2C (44) # 0x0A (10) Normaalitila, Lähtötiedonsiirtonopeus = 100 Hz bus.write_byte_data (0x53, 0x2C, 0x0A) # ADXL345 -osoite, 0x53 (83) # Valitse tehonsäätörekisteri, 0x2D (45) # 0x08 (08) Automaattinen lepotila pois käytöstä väylä.kirjoitus_tavu_data (0x53, 0x2D, 0x08) # ADXL345-osoite, 0x53 (83) # Valitse datamuotorekisteri, 0x31 (49) # 0x08 (08) Itsetesti poissa käytöstä, 4-johtiminen käyttöliittymä # Täysi resoluutio, alue = +/- 2g väylä.write_byte_data (0x53, 0x31, 0x08)

aika. unta (0,5)

# ADXL345 -osoite, 0x53 (83)

# Lue data takaisin 0x32 (50), 2 tavua

# Muunna tiedot 10-bittisiksi

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

# ADXL345 -osoite, 0x53 (83)

# Lue data takaisin 0x34 (52), 2 tavua # Y-akseli LSB, Y-akseli MSB data0 = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)

# Muunna tiedot 10-bittisiksi

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

# ADXL345 -osoite, 0x53 (83)

# Lue data takaisin 0x36 (54), 2 tavua

# Muunna tiedot 10-bittisiksi

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

# Tulosta tiedot näytölle

tulosta "Kiihtyvyys X-akselilla: %d" %xAccl-tulostus "Kiihtyvyys Y-akselilla: %d" %yAccl-tulostus "Kiihtyvyys Z-akselilla: %d" %zAccl

Vaihe 4: Käytännesääntöjen käytännöllisyys

Käytännesääntöjen käytännöllisyys
Käytännesääntöjen käytännöllisyys

Lataa (tai git vedä) koodi Githubista ja avaa se Raspberry Pi: ssä.

Suorita komennot kääntääksesi ja ladataksesi koodin päätelaitteeseen ja katsoaksesi näytön tuloksen. Muutaman hetken kuluttua se näyttää kaikki parametrit. Sen jälkeen, kun olet varmistanut, että kaikki toimii helposti, voit viedä tämän yrityksen suurempiin tehtäviin.

Vaihe 5: Sovellukset ja ominaisuudet

ADXL345 on pieni, ohut, erittäin pienitehoinen, 3-akselinen kiihtyvyysanturi, jonka tarkkuus (13-bittinen) mitataan jopa ± 16 g. ADXL345 sopii matkapuhelinsovelluksiin. Se kvantifioi painovoiman staattisen kiihtyvyyden kallistusta havaitsevissa sovelluksissa ja lisäksi dynaamisen kiihtyvyyden tulevan liikkeestä tai iskusta johtuen. Muita sovelluksia ovat luurit, lääketieteelliset instrumentit, peli- ja osoitinlaitteet, teolliset instrumentit, henkilökohtaiset navigointilaitteet ja kiintolevy (HDD).

Vaihe 6: Johtopäätös

Toivottavasti tämä tehtävä motivoi jatkamaan kokeiluja. Tämä I2C -anturi on poikkeuksellisen joustava, halpa ja helposti saatavilla. Koska se on suurelta osin pysyvä järjestelmä, on mielenkiintoisia tapoja laajentaa tätä tehtävää ja jopa parantaa sitä.

Voit esimerkiksi aloittaa ajatuksen Inclinometristä käyttämällä ADXL345: tä ja Raspberry Pi: tä. Yllä olevassa projektissa olemme käyttäneet peruslaskelmia. Voit improvisoida koodin G-arvoille, kaltevuuskulmille (tai kallistuskulmille), kohteen korkeudelle tai painumiselle painovoiman suhteen. Tämän jälkeen voit tarkistaa siirtovaihtoehdot, kuten rullan (edestä taakse akseli, X), nousun (sivulta toiselle akseli, Y) ja kääntymisen (pystysuora akseli, Z) kiertokulmat. Tämä kiihtyvyysmittari näyttää 3-D G-voimat. Joten voit käyttää tätä anturia eri tavoin.

Mukavuutesi vuoksi YouTubessa on kiehtova video -opetusharjoitus, joka voi auttaa tutkinnassasi. Luota tähän yritykseen kannustaa jatkamaan tutkimista. Jatka miettimistä! Muista etsiä, koska lisää tulee jatkuvasti.