Isi kandungan:
Video: ADXL345 Menggunakan Arduino Uno R3: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Dalam pelajaran ini, kita akan belajar bagaimana menggunakan sensor pecutan ADXL345.
Langkah 1: Komponen
- Papan Arduino Uno * 1
- Kabel USB * 1
- ADXL345 * 1
- Papan Roti * 1
- Wayar pelompat
Langkah 2: Prinsip
Accelerometer digunakan untuk mengukur daya yang dihasilkan semasa pecutan. Yang paling mendasar adalah pecutan graviti yang biasa diketahui iaitu 1g.
Dengan mengukur pecutan yang disebabkan oleh graviti, anda dapat mengira sudut kecondongan peranti ke permukaan yang rata. Dengan menganalisis pecutan dinamik, anda dapat mengetahui cara peranti bergerak. Sebagai contoh, papan pengimbang diri atau papan hover menggunakan sensor pecutan dan giroskop untuk penapis Kalman dan pembetulan postur.
ADXL345
ADXL345 adalah akselerometer 3-paksi kecil, nipis, rendah, dengan ukuran resolusi tinggi (13-bit) hingga ± 16 g. Data output digital diformat sebagai pelengkap 16-bit dua dan dapat diakses melalui antara muka digital SPI (3- atau 4-wayar) atau I2C. Dalam eksperimen ini, antara muka digital I2C digunakan.
Sangat cocok untuk mengukur percepatan statik gravitasi dalam aplikasi penginderaan kemiringan, serta percepatan dinamis yang dihasilkan dari gerakan atau kejutan. Resolusi tinggi (4 mg / LSB) memungkinkan pengukuran perubahan kecenderungan kurang dari 1.0 °. Dan kepekaan yang sangat baik (3.9mg / LSB @ 2g) memberikan output ketepatan tinggi sehingga ± 16g.
Bagaimana ADXL345 berfungsi
ADXL345 mengesan pecutan dengan komponen penginderaan di bahagian depan, dan kemudian komponen pengesan isyarat elektrik mengubahnya menjadi isyarat elektrik, yang bersifat analog. Seterusnya, penyesuai AD yang disepadukan pada modul akan menukar isyarat analog menjadi digital.
X_OUT, Y_OUT dan Z_OUT masing-masing adalah nilai pada paksi X, Y, dan Z. Letakkan modul menghadap ke atas: Z_OUT boleh mencapai + 1g paling banyak, minimum X_OUT adalah -1g menuju arah Ax, dan minimum Y_OUT adalah -1g ke arah Ay. Sebaliknya, putar modul terbalik: minimum Z_OUT ialah -1g, maksimum X_OUT adalah + 1g menuju arah Ax, dan maksimum Y_OUT adalah + 1g menuju arah Ay., seperti yang ditunjukkan di bawah. Putar modul ADXL345 dan anda akan melihat perubahan tiga nilai.
apabila saluran A berubah dari tahap tinggi ke tahap rendah, jika saluran B berada pada tahap tinggi, ini menunjukkan pengekod putar berputar mengikut arah jam (CW); jika pada saat itu saluran B berada pada tahap rendah, itu bermaksud putaran berlawanan arah jarum jam (CCW). Oleh itu, jika kita membaca nilai saluran B ketika saluran A berada pada tahap rendah, kita dapat mengetahui ke arah mana pengekod putar berputar.
Prinsip: Lihat gambarajah skema modul Rotary Encoder di bawah. Dari situ kita dapat melihat bahawa pin 3 dari pengekod putar, iaitu CLK pada modul, adalah saluran B. Pin 5, yang merupakan DT, adalah saluran A. Untuk mengetahui arah putaran perakam, baca nilai CLK dan DT.
Terdapat cip pengatur voltan 3.3v di litar, jadi anda boleh menghidupkan modul dengan 5V atau 3.3V.
Oleh kerana SDO telah disambungkan ke GND, alamat I2C ADXL345 adalah 0x53, 0xA6 untuk menulis, 0xA7 untuk dibaca
Fungsi Pin Modul ADXL345.
Langkah 3: Prosedur
Langkah 1. Bina litar.
Langkah 2:
Muat turun kod dari
Langkah 3:
Muat naik lakaran ke papan Arduino Uno
Klik ikon Muat Naik untuk memuat naik kod ke papan kawalan.
Sekiranya "Selesai memuat naik" muncul di bahagian bawah tetingkap, ini bermaksud lakaran berjaya dimuat naik.
Setelah memuat naik, buka Serial Monitor, di mana anda dapat melihat data yang dikesan. Apabila pecutan modul berubah, angka akan berubah sesuai pada tetingkap.
Langkah 4: Kod
// ADXL335
/********************************
ADXL335
nota: vcc5v, tetapi ADXL335 Vs adalah 3.3V
Litar:
5V: VCC
analog 0: paksi-x
analog 1: paksi-y
analog 2: paksi-z
Selepas membakar
program, buka tetingkap debug monitor bersiri, di mana anda dapat melihat data yang dikesan sedang dipaparkan. Apabila pecutan berbeza, angka akan berubah sesuai.
*********************************
/ E-mel:
// Laman Web: www.primerobotics.in
const int xpin =
A0; // paksi x pecutan
const int ypin =
A1; // paksi-y
const int zpin =
A2; // paksi-z (hanya pada model 3 paksi)
persediaan tidak sah ()
{
// memulakan komunikasi bersiri:
Serial.begin (9600);
}
gelung kosong ()
{
int x = analogRead (xpin); // baca dari xpin
kelewatan (1); //
int y = analogRead (ypin); // baca dari ypin
kelewatan (1);
int z = analogRead (zpin); // baca dari zpin
apungan zero_G = 338.0; // bekalan kuasa ADXL335
oleh 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 ");
terapung
zero_Gx = 331.5; // output zero_G paksi x: (x_max + x_min) / 2
terapung
zero_Gy = 329.5; // output sifar_G bagi paksi y: (y_max + y_min) / 2
terapung zero_Gz = 340.0; // the
zero_G output paksi z: (z_max + z_min) / 2
skala apungan =
67.6; // bekalan kuasa oleh Vs 3.3V: 3.3v / 5v * 1024 / 3.3v * 330mv / g = 67.6g
skala apungan_x =
65; // skala paksi x: x_max / 3.3v * 330mv / g
skala apungan_y =
68.5; // skala paksi y: y_max / 3.3v * 330mv / g
skala apungan_z =
68; // skala paksi z: z_max / 3.3v * 330mv / g
Cetakan bersiri (((terapung) x
- zero_Gx) / skala_x); // mencetak nilai x pada monitor bersiri
Serial.print ("\ t");
Cetakan bersiri (((terapung) y
- zero_Gy) / skala_y); // mencetak nilai y pada monitor bersiri
Serial.print ("\ t");
Cetakan bersiri (((terapung) z
- zero_Gz) / skala_z); // mencetak nilai z pada monitor bersiri
Cetakan bersiri ("\ n");
kelewatan (1000); // tunggu selama 1 saat
}
Langkah 5: Analisis Kod
Kod untuk eksperimen ADXL345 merangkumi 3 bahagian: memulakan setiap port dan peranti, memperoleh dan menyimpan data yang dihantar dari sensor, dan menukar data.
Disyorkan:
DIY -- Cara Membuat Robot Labah-labah Yang Boleh Dikendalikan Menggunakan Telefon Pintar Menggunakan Arduino Uno: 6 Langkah
DIY || Cara Membuat Robot Labah-labah Yang Boleh Dikendalikan Menggunakan Telefon Pintar Menggunakan Arduino Uno: Semasa membuat robot Labah-labah, seseorang dapat mempelajari banyak perkara mengenai robotik. Seperti membuat Robot adalah Menjamu dan juga mencabar. Dalam video ini kami akan menunjukkan kepada anda bagaimana membuat robot Spider, yang dapat kami gunakan menggunakan telefon pintar kami (Androi
Pengukuran Pecutan Menggunakan ADXL345 dan Foton Partikel: 4 Langkah
Pengukuran Pecutan Menggunakan ADXL345 dan Foton Partikel: ADXL345 adalah kecil, nipis, kuasa ultralow, akselerator 3 paksi dengan pengukuran resolusi tinggi (13-bit) hingga ± 16 g. Data output digital diformat sebagai pelengkap dua-bit 16-bit dan dapat diakses melalui antara muka digital I2 C. Mengukur
Pengukuran Pecutan Menggunakan ADXL345 dan Arduino Nano: 4 Langkah
Pengukuran Pecutan Menggunakan ADXL345 dan Arduino Nano: ADXL345 adalah kecil, nipis, kuasa ultralow, akselerator 3-paksi dengan pengukuran resolusi tinggi (13-bit) hingga ± 16 g. Data output digital diformat sebagai pelengkap dua-bit 16-bit dan dapat diakses melalui antara muka digital I2 C. Mengukur
Cara Membuat Drone Menggunakan Arduino UNO - Buat Quadcopter Menggunakan Mikrokontroler: 8 Langkah (dengan Gambar)
Cara Membuat Drone Menggunakan Arduino UNO | Buat Quadcopter Menggunakan Mikrokontroler: Pendahuluan Lawati Saluran Youtube SayaA Drone adalah alat (produk) yang sangat mahal untuk dibeli. Dalam posting ini saya akan membincangkan, bagaimana saya membuatnya dengan harga murah ?? Dan Bagaimana anda boleh membuat sendiri seperti ini dengan harga yang murah … Baik di India semua bahan (motor, ESC
Cara Menggunakan Papan Kompatibel Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE dengan Menggunakan Blynk: 10 Langkah
Cara Menggunakan Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE Compatible Board dengan Menggunakan Blynk: Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE Compatible BoardKeterangan: WiFi ESP8266 Development Board WEMOS D1. WEMOS D1 adalah papan pengembangan WIFI berdasarkan ESP8266 12E. Fungsinya serupa dengan NODEMCU, kecuali perkakasan yang dibina