Sisällysluettelo:
- Vaihe 1: Tarvittava laitteisto:
- Vaihe 2: Laitteiston kytkentä:
- Vaihe 3: Kiihtyvyyden mittauskoodi:
- Vaihe 4: Sovellukset:
Video: Kiihtyvyyden mittaus käyttämällä ADXL345: tä ja hiukkasfotonia: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
ADXL345 on pieni, ohut, erittäin pienitehoinen, 3-akselinen kiihtyvyysanturi, jonka tarkkuus (13-bittinen) mitataan jopa ± 16 g. Digitaalinen lähtötieto on muotoiltu 16-bittiseksi kaksoiskappaleeksi, ja se on saatavana digitaalisen I2 C-liitännän kautta. Se mittaa staattisen painovoiman kiihtyvyyden kallistusanturisovelluksissa sekä liikkeen tai iskun aiheuttaman dynaamisen kiihtyvyyden. Sen suuri resoluutio (3,9 mg/LSB) mahdollistaa kaltevuuden muutosten mittaamisen alle 1,0 °.
Tässä opetusohjelmassa on kuvattu ADXL345 -anturimoduulin liitäntä hiukkasfotoniin. Kiihtyvyysarvojen lukemiseen olemme käyttäneet hiukkasia I2c -sovittimen kanssa. Tämä I2C -sovitin tekee yhteyden anturimoduuliin helppoa ja luotettavaa.
Vaihe 1: Tarvittava laitteisto:
Tavoitteemme saavuttamiseen tarvittavat materiaalit sisältävät seuraavat laitteistokomponentit:
1. ADXL345
2. Hiukkasfotoni
3. I2C -kaapeli
4. I2C -suoja hiukkasfotonille
Vaihe 2: Laitteiston kytkentä:
Laitteiston kytkentäosio selittää periaatteessa anturin ja hiukkasfotonin väliset tarvittavat johdotusliitännät. Oikeiden liitosten varmistaminen on perustarve, kun työskentelet minkä tahansa järjestelmän kanssa halutun lähdön saavuttamiseksi. Tarvittavat liitännät ovat siis seuraavat:
ADXL345 toimii I2C: n kautta. Tässä on esimerkki kytkentäkaaviosta, joka osoittaa, miten anturin jokainen liitäntä kytketään.
Valmis levy on konfiguroitu I2C-rajapintaa varten, joten suosittelemme käyttämään tätä kytkentää, jos olet muuten agnostikko.
Tarvitset vain neljä johtoa! Tarvitaan vain neljä liitäntää Vcc, Gnd, SCL ja SDA, ja ne on kytketty I2C -kaapelin avulla.
Nämä yhteydet on esitetty yllä olevissa kuvissa.
Vaihe 3: Kiihtyvyyden mittauskoodi:
Aloitetaan nyt hiukkaskoodista.
Kun käytät anturimoduulia hiukkasen kanssa, sisällytämme hakemistoon application.h ja spark_wiring_i2c.h. "application.h" ja spark_wiring_i2c.h -kirjasto sisältävät toiminnot, jotka helpottavat i2c -tiedonsiirtoa anturin ja hiukkasen välillä.
Koko hiukkaskoodi annetaan alla käyttäjän mukavuuden vuoksi:
#sisältää
#sisältää
// ADXL345 I2C -osoite on 0x53 (83)
#define Addr 0x53
int xAccl = 0, yAccl = 0, zAccl = 0;
mitätön asennus ()
{
// Aseta muuttuja
Particle.variable ("i2cdevice", "ADXL345");
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// Alusta I2C -viestintä MASTERiksi
Wire.begin ();
// Alusta sarjaliikenne, aseta baudinopeus = 9600
Sarja.alku (9600);
// Aloita I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse kaistanleveysrekisteri
Wire.write (0x2C);
// Valitse tulostusnopeus = 100 Hz
Wire.write (0x0A);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Aloita I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse virranhallintarekisteri
Wire.write (0x2D);
// Valitse automaattinen lepotila
Wire.write (0x08);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Aloita I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse datamuotorekisteri
Wire.write (0x31);
// Valitse täysi resoluutio, +/- 2g
Wire.write (0x08);
// Lopeta I2C -lähetys
Wire.endTransmission ();
viive (300);
}
tyhjä silmukka ()
{
allekirjoittamattomat int -tiedot [6];
(int i = 0; i <6; i ++)
{
// Aloita I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse tietorekisteri
Wire.write ((50+i));
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa laitteelta
Wire.requestFrom (Addr, 1);
// Lue 6 tavua dataa
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
jos (Wire.available () == 1)
{
data = Wire.read ();
}
viive (300);
}
// Muunna tiedot 10-bittisiksi
int xAccl = (((data [1] & 0x03) * 256) + data [0]);
jos (xAccl> 511)
{
xAccl -= 1024;
}
int yAccl = (((data [3] & 0x03) * 256) + data [2]);
jos (yAccl> 511)
{
yAccl -= 1024;
}
int zAccl = (((data [5] & 0x03) * 256) + data [4]);
jos (zAccl> 511)
{
zAccl -= 1024;
}
// Tulosta tiedot kojelautaan
Particle.publish ("Kiihtyvyys X-akselissa on:", Jono (xAccl));
Particle.publish ("Kiihtyvyys Y-akselilla on:", Jono (yAccl));
Particle.publish ("Kiihtyvyys Z-akselissa on:", String (zAccl));
}
Particle.variable () -funktio luo muuttujat anturin lähdön tallentamiseksi ja Particle.publish () -toiminto näyttää tuotoksen sivuston kojelaudalla.
Anturilähtö näkyy yllä olevassa kuvassa.
Vaihe 4: Sovellukset:
ADXL345 on pieni, ohut, erittäin pienitehoinen, 3-akselinen kiihtyvyysmittari, jota voidaan käyttää luureissa, lääketieteellisissä laitteissa jne. Sen sovellus sisältää myös peli- ja osoitinlaitteet, teollisuuslaitteet, henkilökohtaiset navigointilaitteet ja kiintolevyaseman (HDD).
Suositeltava:
Magneettikentän mittaus käyttäen HMC5883 ja hiukkasfotonia: 4 vaihetta
Magneettikentän mittaus HMC5883: n ja hiukkasfotonin avulla: HMC5883 on digitaalinen kompassi, joka on suunniteltu matalan kentän magneettitunnistukseen. Tällä laitteella on laaja magneettikenttäalue +/- 8 Oe ja lähtötaajuus 160 Hz. HMC5883 -anturi sisältää automaattiset hihnaohjaimet, offset -peruutus ja
Kiihtyvyyden mittaus käyttäen ADXL345 ja Raspberry Pi: 4 vaihetta
Kiihtyvyyden mittaus ADXL345: n ja Raspberry Pi: n avulla: ADXL345 on pieni, ohut, erittäin pienitehoinen, 3-akselinen kiihtyvyysanturi, jonka tarkkuus (13-bittinen) mitataan jopa ± 16 g. Digitaalinen lähtötieto on muotoiltu 16-bittiseksi kaksoiskappaleeksi, ja se on saatavana digitaalisen I2 C-liitännän kautta. Se mittaa
Kiihtyvyyden mittaus käyttäen ADXL345 ja Arduino Nano: 4 vaihetta
Kiihtyvyyden mittaus ADXL345: n ja Arduino Nanon avulla: ADXL345 on pieni, ohut, erittäin pienitehoinen 3-akselinen kiihtyvyysanturi, jolla on suuri resoluutio (13-bittinen) mittaus jopa ± 16 g. Digitaalinen lähtötieto on muotoiltu 16-bittiseksi kaksoiskappaleeksi, ja se on saatavana digitaalisen I2 C-liitännän kautta. Se mittaa
Lämpötilan mittaus käyttämällä ADT75: tä ja hiukkasfotonia: 4 vaihetta
Lämpötilan mittaus käyttämällä ADT75: tä ja hiukkasfotonia: ADT75 on erittäin tarkka, digitaalinen lämpötila -anturi. Se koostuu kaistaraon lämpötila-anturista ja 12-bittisestä analogisesta digitaaliseen muuntimeen lämpötilan valvontaa ja digitointia varten. Sen erittäin herkkä anturi tekee siitä riittävän pätevän minulle
Lämpötilan mittaus käyttämällä AD7416ARZ: a ja hiukkasfotonia: 4 vaihetta
Lämpötilan mittaus käyttämällä AD7416ARZ: a ja hiukkasfotonia: AD7416ARZ on 10-bittinen lämpötila-anturi, jossa on neljä yksikanavaista analogista digitaaliseen muunninta ja sisäänrakennettu lämpötila-anturi. Osien lämpötila -anturiin pääsee käsiksi multiplekserikanavien kautta. Tämä korkean tarkkuuden lämpötila