Talaan ng mga Nilalaman:
- Hakbang 1: Mga Bahagi
- Hakbang 2: Prinsipyo
- Hakbang 3: Mga Pamamaraan
- Hakbang 4: Code
- Hakbang 5: Pagsusuri sa Code
Video: ADXL345 Paggamit ng Arduino Uno R3: 5 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Sa araling ito, malalaman natin kung paano gamitin ang acceleration sensor ADXL345.
Hakbang 1: Mga Bahagi
- Arduino Uno board * 1
- USB cable * 1
- ADXL345 * 1
- Breadboard * 1
- Mga Jumper wires
Hakbang 2: Prinsipyo
Ginagamit ang isang accelerometer upang masukat ang lakas na nabuo sa panahon ng pagpabilis. Ang pinakamahalaga ay ang kilalang kilalang pagbilis ng gravity na 1g.
Sa pamamagitan ng pagsukat ng acceleration na dulot ng gravity, maaari mong kalkulahin ang anggulo ng ikiling ng aparato sa antas ng ibabaw. Sa pamamagitan ng pag-aaral ng pabago-bagong pagpapabilis, maaari mong sabihin ang paraan kung paano gumagalaw ang aparato. Halimbawa, ang self-balancing board o hoverboard ay naglalapat ng sensor ng acceleration at gyroscope para sa Kalman filter at pagwawasto ng pustura.
ADXL345
Ang ADXL345 ay isang maliit, manipis, mababang lakas, 3-axis accelerometer na may mataas na resolusyon (13-bit) na pagsukat hanggang sa ± 16 g. Ang data ng digital na output ay na-format bilang 16-bit two na pandagdag at maa-access sa pamamagitan ng alinman sa isang SPI (3- o 4-wire) o I2C digital interface. Sa eksperimentong ito, ginagamit ang I2C digital interface.
Ito ay angkop na sukatin upang sukatin ang static na pagpabilis ng gravity sa mga aplikasyon ng pagkiling sa sensing, pati na rin ang pabago-bagong paggalaw na nagreresulta mula sa paggalaw o pagkabigla. Ang mataas na resolusyon (4 mg / LSB) ay nagbibigay-daan sa pagsukat ng pagbabago ng pagkahilig ng mas mababa sa 1.0 °. At ang mahusay na pagiging sensitibo (3.9mg / LSB @ 2g) ay nagbibigay ng isang mataas na katumpakan na output ng hanggang sa ± 16g.
Paano gumagana ang ADXL345
Nakita ng ADXL345 ang pagpabilis ng sangkap ng sensing sa harap, at pagkatapos ay binago ito ng bahagi ng pang-signal ng kuryente sa signal ng electric signal, na kung saan ay analog. Susunod, ang AD adapter na isinama sa module ay babaguhin ang analog signal sa isang digital.
Ang X_OUT, Y_OUT at Z_OUT ay ang mga halaga sa X, Y, at Z axis ayon sa pagkakasunod-sunod. Ilagay ang module sa mukha: Ang Z_OUT ay maaaring umabot sa + 1g ng higit, ang minimum ng X_OUT ay -1g patungo sa direksyon ng Axe, at ang minimum ng Y_OUT ay -1g patungo sa direksyon ng Ay. Sa kabilang banda, baligtarin ang module: ang minimum ng Z_OUT ay -1g, ang maximum na X_OUT ay + 1g patungo sa direksyon ng Axe, at ang maximum ng Y_OUT ay + 1g patungo sa direksyon ng Ay., tulad ng ipinakita sa ibaba. Paikutin ang module ng ADXL345 at makikita mo ang pagbabago ng tatlong mga halaga.
kapag ang channel A ay nagbabago mula sa mataas na antas patungo sa mababang antas, kung ang channel B ay mataas na antas, ipinapahiwatig nito ang rotary encoder na umiikot pakanan (CW); kung sa sandaling iyon ang channel B ay mababa ang antas, nangangahulugan ito ng pag-ikot sa pakaliwa (CCW). Kaya't kung nabasa natin ang halaga ng channel B kapag ang channel A ay mababa ang antas, malalaman natin sa aling direksyon ang rotary encoder na umiikot.
Prinsipyo: Tingnan ang diagram ng eskematiko ng module ng Rotary Encoder sa ibaba. Mula dito maaari nating makita na ang pin 3 ng rotary encoder, katulad ng CLK sa module, ay ang channel B. Pin 5, na kung saan ay DT, ay channel A. Upang malaman ang paikot na direksyon ng recorder, basahin lamang ang halaga ng CLK at DT.
Mayroong isang 3.3v boltahe regulator chip sa circuit, kaya maaari mong powerthe module na may 5V o 3.3V.
Dahil ang SDO ay konektado sa GND, ang I2C address ng ADXL345 ay 0x53, 0xA6 para sa pagsusulat, 0xA7 para basahin
Pin Function ng ADXL345 Module.
Hakbang 3: Mga Pamamaraan
Hakbang 1. Buuin ang circuit.
Hakbang 2:
I-download ang code mula sa
Hakbang 3:
I-upload ang sketch sa Arduino Uno board
I-click ang I-upload na icon upang mai-upload ang code sa control board.
Kung ang "Tapos nang mag-upload" ay lilitaw sa ilalim ng window, nangangahulugan ito na ang sketch ay matagumpay na na-upload.
Pagkatapos mag-upload, buksan ang Serial Monitor, kung saan makikita mo ang napansin na data. Kapag nagbago ang bilis ng modyul, magbabago ang pigura nang naaayon sa window.
Hakbang 4: Code
// ADXL335
/********************************
ADXL335
tala: vcc5v, ngunit ang ADXL335 Vs ay 3.3V
Ang circuit:
5V: VCC
analog 0: x-axis
analog 1: y-axis
analog 2: z-axis
Matapos masunog ang
programa, buksan ang window ng pag-debug ng serial monitor, kung saan maaari mong makita ang napansin na data na ipinapakita. Kapag nag-iiba ang acceleration, ang pigura ay magkakaiba-iba nang naaayon.
*********************************
/ Email:
//Website:www.primerobotics.in
Const int xpin =
A0; // x-axis ng accelerometer
Const int ypin =
A1; // y-axis
Const int zpin =
A2; // z-axis (sa mga modelo ng 3-axis lamang)
walang bisa ang pag-setup ()
{
// ipasimula ang mga serial na komunikasyon:
Serial.begin (9600);
}
walang bisa loop ()
{
int x = analogRead (xpin); // basahin mula sa xpin
antala (1); //
int y = analogRead (ypin); // basahin mula kay ypin
antala (1);
int z = analogRead (zpin); // basahin mula sa zpin
float zero_G = 338.0; // ADXL335 power supply
ni Vs 3.3V: 3.3V / 5V * 1024 = 676/2 = 338
//Serial.print(x);
//Serial.print("\t ");
//Serial.print(y);
//Serial.print("\t ");
//Serial.print(z);
//Serial.print("\n ");
lumutang
zero_Gx = 331.5; // ang zero_G output ng x axis: (x_max + x_min) / 2
lumutang
zero_Gy = 329.5; // ang zero_G outgput ng y axis: (y_max + y_min) / 2
float zero_Gz = 340.0; // the
zero_G output ng z axis: (z_max + z_min) / 2
float scale =
67.6; // power supply ng Vs 3.3V: 3.3v / 5v * 1024 / 3.3v * 330mv / g = 67.6g
float scale_x =
65; // ang sukat ng x axis: x_max / 3.3v * 330mv / g
float scale_y =
68.5; // ang sukat ng y axis: y_max / 3.3v * 330mv / g
float scale_z =
68; // ang sukat ng z axis: z_max / 3.3v * 330mv / g
Serial.print (((float) x
- zero_Gx) / scale_x); // print x halaga sa serial monitor
Serial.print ("\ t");
Serial.print (((float) y
- zero_Gy) / scale_y); // print y halaga sa serial monitor
Serial.print ("\ t");
Serial.print (((float) z
- zero_Gz) / scale_z); // print z halaga sa serial monitor
Serial.print ("\ n");
pagkaantala (1000); // maghintay ng 1 segundo
}
Hakbang 5: Pagsusuri sa Code
Ang code para sa eksperimentong ADXL345 ay may kasamang 3 bahagi: ipasimuno ang bawat port at aparato, kumuha at mag-imbak ng data na ipinadala mula sa mga sensor, at i-convert ang data.
Inirerekumendang:
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
Paano Ligtas na Natatanggal ang Mga Elektronikong Mga Bahagi para sa Muling Paggamit: 9 Mga Hakbang (na may Mga Larawan)
Paano Ligtas na Natapos na Mga Elektronikong Mga Bahagi para sa Muling Paggamit: Kumusta! Ako ay isang electronics nerd, kaya gusto kong maglaro ng iba't ibang mga elektronikong sangkap sa aking mga proyekto. Gayunpaman, maaaring wala akong palaging mga sangkap na kailangan ko upang matapos ko ang aking trabaho. Minsan mas madali itong hilahin ang mga sangkap na kailangan ko mula sa isang lumang elektronikong
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
Program Pro-mini Paggamit ng Uno (Mga Pangunahing Kaalaman sa Arduino): 7 Mga Hakbang (na may Mga Larawan)
Program Pro-mini Paggamit ng Uno (Mga Pangunahing Kaalaman sa Arduino): Hai lahat, Sa itinuturo na ito nais kong ibahagi sa iyo ang aking karanasan sa aking kamakailang biniling Arduino pro-mini at kung paano ko na-upload ang code dito sa unang pagkakataon, gamit ang aking ang lumang Arduino Uno. Angrduino pro-mini ay may mga sumusunod na tampok: Ito ay
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,