Obsah:
Video: ADXL345 pomocou Arduino Uno R3: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
V tejto lekcii sa naučíme používať snímač zrýchlenia ADXL345.
Krok 1: Komponenty
- Doska Arduino Uno * 1
- USB kábel * 1
- ADXL345 *1
- Breadboard * 1
- prepojovacie vodiče
Krok 2: Princíp
Na meranie sily generovanej počas zrýchľovania sa používa akcelerometer. Najzákladnejšou je bežne známe gravitačné zrýchlenie, ktoré je 1 g.
Meraním zrýchlenia spôsobeného gravitáciou môžete vypočítať uhol sklonu zariadenia k vodorovnému povrchu. Vďaka analýze dynamického zrýchlenia môžete zistiť, ako sa zariadenie pohybuje. Samovyvažovacia doska alebo hoverboard napríklad používajú snímač zrýchlenia a gyroskop na Kalmanov filter a korekciu držania tela.
ADXL345
ADXL345 je malý, tenký, 3-osový akcelerometer s nízkym výkonom a meraním s vysokým rozlíšením (13 bitov) až ± 16 g. Údaje o digitálnom výstupe sú formátované ako 16-bitový dvojkomplement a sú prístupné prostredníctvom digitálneho rozhrania SPI (3- alebo 4-vodičové) alebo I2C. V tomto experimente sa používa digitálne rozhranie I2C.
Je vhodný na meranie statického gravitačného zrýchlenia v aplikáciách snímajúcich náklon, ako aj dynamického zrýchlenia vyplývajúceho z pohybu alebo šoku. Jeho vysoké rozlíšenie (4 mg/LSB) umožňuje meranie zmeny sklonu o menej ako 1,0 °. A vynikajúca citlivosť (3,9 mg/LSB @2 g) poskytuje vysoko presný výstup až ± 16 g.
Ako funguje ADXL345
ADXL345 detekuje zrýchlenie so snímacím komponentom vpredu a potom ho komponent pre snímanie elektrického signálu zmení na elektrický signál, ktorý je analógový. Potom adaptér AD integrovaný v module prevedie analógový signál na digitálny.
X_OUT, Y_OUT a Z_OUT sú hodnoty na osi X, Y a Z. Umiestnite modul lícom nahor: Z_OUT môže dosiahnuť maximálne +1 g, minimum X_OUT je -1 g v smere osi a minimum Y_OUT je -1 g v smere Ay. Na druhej strane otočte modul hore nohami: minimum Z_OUT je -1g, maximum X_OUT je +1g v smere osi a maximum Y_OUT je +1g v smere Ay., ako je uvedené nižšie. Otočte modul ADXL345 a uvidíte zmenu troch hodnôt.
keď sa kanál A zmení z vysokej na nízku úroveň, ak je kanál B na vysokej úrovni, znamená to, že sa rotačný snímač otáča v smere hodinových ručičiek (CW); ak je v tom okamihu kanál B na nízkej úrovni, znamená to, že sa točí proti smeru hodinových ručičiek (CCW). Ak teda čítame hodnotu kanála B, keď je kanál A na nízkej úrovni, môžeme vedieť, v akom smere sa rotačný snímač otáča.
Princíp: Pozrite si nižšie schematický diagram modulu rotačného enkodéra. Z toho vidíme, že pin 3 rotačného snímača, konkrétne CLK na module, je kanál B. Pin 5, čo je DT, je kanál A. Ak chcete poznať smer otáčania rekordéra, stačí prečítať hodnotu CLK a DT.
V obvode je čip regulátora napätia 3,3 V, takže modul môžete napájať 5 V alebo 3,3 V.
Pretože SDO bolo pripojené k GND, I2C adresa ADXL345 je 0x53, 0xA6 pre zápis, 0xA7 pre čítanie
Pinová funkcia modulu ADXL345.
Krok 3: Postupy
Krok 1. Zostavte obvod.
Krok 2:
Stiahnite si kód z
Krok 3:
Nahrajte skicu na dosku Arduino Uno
Kliknutím na ikonu Odovzdať odovzdáte kód na ovládací panel.
Ak sa v spodnej časti okna zobrazí „Dokončené nahrávanie“, znamená to, že skica bola úspešne nahraná.
Po nahraní otvorte Serial Monitor, kde môžete vidieť zistené údaje. Keď sa zmení zrýchlenie modulu, údaj sa v okne zodpovedajúcim spôsobom zmení.
Krok 4: Kód
// ADXL335
/********************************
ADXL335
poznámka: vcc5v, ale ADXL335 Vs je 3,3 V.
Okruh:
5V: VCC
analógový 0: os x
analóg 1: os y
analóg 2: os z
Po spálení súboru
programu, otvorte okno ladenia sériového monitora, kde môžete vidieť zobrazené detekované údaje. Keď sa zrýchlenie mení, údaj sa bude zodpovedajúcim spôsobom meniť.
*********************************
/E -mail:
//Web stránka:www.primerobotics.in
const int xpin =
A0; // os x akcelerometra
const int ypin =
A1; // os y
const int zpin =
A2; // os Z (iba na 3-osových modeloch)
neplatné nastavenie ()
{
// inicializácia sériovej komunikácie:
Serial.begin (9600);
}
prázdna slučka ()
{
int x = analogRead (xpin); // čítať z xpin
oneskorenie (1); //
int y = analogRead (ypin); // čítať z ypinu
oneskorenie (1);
int z = analogRead (zpin); // čítať zo zpin
float zero_G = 338,0; // Napájací zdroj ADXL335
podľa Vs 3,3 V: 3,3 V/5 V*1024 = 676/2 = 338
//Serial.print(x);
//Serial.print("\t ");
//Serial.print(y);
//Serial.print("\t ");
//Serial.print(z);
//Serial.print("\n ");
plavák
zero_Gx = 331,5; // výstup nu_G na osi x: (x_max + x_min)/2
plavák
zero_Gy = 329,5; // výstup nuly_G osi y: (y_max + y_min)/2
float zero_Gz = 340,0; // the
zero_G výstup osi z: (z_max + z_min)/2
float scale =
67,6; // napájanie Vs 3,3V: 3,3v/5v *1024/3,3v *330mv/g = 67,6g
float scale_x =
65; // mierka osi x: x_max/3,3 v*330 mv/g
float scale_y =
68,5; // mierka osi y: y_max/3,3v*330mv/g
float scale_z =
68; // mierka osi z: z_max/3,3v*330mv/g
Serial.print ((((float)) x
- zero_Gx)/scale_x); // tlač hodnoty x na sériový monitor
Serial.print ("\ t");
Serial.print ((((float)) y
- zero_Gy)/scale_y); // vytlačenie hodnoty y na sériovom monitore
Serial.print ("\ t");
Serial.print ((((float)) z
- zero_Gz)/scale_z); // vytlačenie hodnoty z na sériovom monitore
Serial.print ("\ n");
oneskorenie (1000); // počkajte 1 sekundu
}
Krok 5: Analýza kódu
Kód pre experiment ADXL345 obsahuje 3 časti: inicializácia každého portu a zariadenia, získavanie a ukladanie údajov odosielaných zo senzorov a prevádzanie údajov.
Odporúča:
DIY -- Ako vyrobiť robota Spider, ktorý je možné ovládať pomocou smartfónu pomocou Arduino Uno: 6 krokov
DIY || Ako vyrobiť robota Spider, ktorý je možné ovládať pomocou smartfónu pomocou Arduino Uno: Pri vytváraní robota Spider sa dá naučiť veľa vecí o robotike. Rovnako ako výroba robotov je zábavná a náročná. V tomto videu vám ukážeme, ako vyrobiť robota Spider, ktorý môžeme ovládať pomocou nášho smartfónu (Androi
Zachytávajte a odosielajte obrázky pomocou kamery ESP32-Cam pomocou Wi-Fi procesora ESP8266 WeMos D1 R1 s Uno: 7 krokov
Zachytávajte a odosielajte obrázky pomocou kamery ESP32-Cam pomocou ESP8266 WeMos D1 R1 Wifi procesora s Uno: Zachyťte obrázok pomocou ESP32-Cam (OV2640) pomocou procesora ESP8266 WeMos D1 R1 WiFI s Uno a pošlite ju na e-mail, uložte na Disk Google a pošlite na Whatsapp pomocou Twilio. Požiadavky: ESP8266 WeMos D1 R1 WiFI procesor s Uno (https: // protosupplies
Ako vyrobiť dron pomocou Arduino UNO - Vytvorte kvadrokoptéru pomocou mikrokontroléra: 8 krokov (s obrázkami)
Ako vyrobiť dron pomocou Arduino UNO | Vytvorte kvadrokoptéru pomocou mikrokontroléra: Úvod Navštívte môj kanál na YouTube Drone je veľmi drahý gadget (produkt) na nákup. V tomto príspevku budem diskutovať o tom, ako to urobiť lacno? A ako si môžete takto vyrobiť svoj vlastný za lacnú cenu … V Indii všetky materiály (motory, ESC
Neopixel Ws2812 Rainbow LED žiara s M5stick-C - Spustenie Rainbow na Neopixeli Ws2812 pomocou M5stack M5stick C pomocou Arduino IDE: 5 krokov
Neopixel Ws2812 Rainbow LED žiara s M5stick-C | Spustenie Rainbow na Neopixel Ws2812 pomocou M5stack M5stick C pomocou Arduino IDE: Ahoj, v tomto návode sa naučíme používať LED diódy Neopixel ws2812 alebo LED pás alebo LED maticu alebo LED krúžok s vývojovou doskou m5stack m5stick-C s Arduino IDE a vyrobíme s ním dúhový vzor
Ovládanie serva pomocou MPU6050 medzi Arduino a ESP8266 pomocou HC-12: 6 krokov
Ovládanie serva pomocou MPU6050 medzi Arduino a ESP8266 pomocou HC-12: V tomto projekte riadime polohu servomotora pomocou mpu6050 a HC-12 na komunikáciu medzi Arduino UNO a ESP8266 NodeMCU