Агуулгын хүснэгт:
- Алхам 1: бүрэлдэхүүн хэсгүүд
- Алхам 2: зарчим
- Алхам 3: Процедур
- Алхам 4: Код
- Алхам 5: Кодын шинжилгээ
Видео: ADXL345 Arduino Uno R3: 5 алхамыг ашиглах
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Энэ хичээлээр бид ADXL345 хурдатгалын мэдрэгчийг хэрхэн ашиглах талаар сурах болно.
Алхам 1: бүрэлдэхүүн хэсгүүд
- Arduino Uno самбар * 1
- USB кабель * 1
- ADXL345 *1
- Талхны самбар * 1
- Холбогч утас
Алхам 2: зарчим
Хурдасгах явцад үүссэн хүчийг хэмжихийн тулд акселерометр ашигладаг. Хамгийн гол нь хүндийн хүчний хурдатгал буюу 1 гр юм.
Таталцлын хүчээр үүссэн хурдатгалыг хэмжсэнээр та төхөөрөмжийн гадаргуу дээрх хазайлтын өнцгийг тооцоолж болно. Динамик хурдатгалд дүн шинжилгээ хийснээр та төхөөрөмж хэрхэн хөдөлж байгааг хэлж чадна. Жишээлбэл, өөрөө тэнцвэржүүлэгч самбар эсвэл hoverboard нь Калман шүүлтүүр, биеийн байдлыг засахад хурдатгалын мэдрэгч, гироскоп ашигладаг.
ADXL345
ADXL345 нь жижиг, нимгэн, бага чадалтай, 3 тэнхлэг бүхий хурд хэмжигч бөгөөд ± 16 гр хүртэл өндөр нарийвчлалтай (13 битийн) хэмжилттэй. Дижитал гаралтын өгөгдлийг 16 битийн хоёр нэмэлт хэлбэрээр форматлаж, SPI (3 эсвэл 4 утастай) эсвэл I2C дижитал интерфэйсээр дамжуулан авах боломжтой. Энэхүү туршилтанд I2C дижитал интерфэйсийг ашигладаг.
Энэ нь хазайлтыг мэдрэх төхөөрөмж дэх хүндийн хүчний статик хурдатгал, хөдөлгөөн эсвэл цочролоос үүдэлтэй динамик хурдатгалыг хэмжихэд тохиромжтой. Өндөр нарийвчлал (4 мг/LSB) нь хазайлтын өөрчлөлтийг 1.0 хэмээс бага хэмжих боломжийг олгодог. Маш сайн мэдрэмж (3.9mg/LSB @2g) нь ± 16г хүртэл өндөр нарийвчлалтай гаралтыг өгдөг.
ADXL345 хэрхэн ажилладаг талаар
ADXL345 нь урд талын мэдрэгч бүрэлдэхүүн хэсэг бүхий хурдатгалыг илрүүлдэг бөгөөд дараа нь цахилгаан дохио мэдрэгч бүрэлдэхүүн хэсэг нь үүнийг цахилгаан дохио болгон өөрчилдөг. Дараа нь модуль дээр нэгтгэгдсэн AD адаптер нь аналог дохиог дижитал болгон хөрвүүлэх болно.
X_OUT, Y_OUT ба Z_OUT нь тус тусдаа X, Y, Z тэнхлэгт байгаа утга юм. Модулийг дээш харуулан байрлуул: Z_OUT хамгийн ихдээ +1г хүрч чаддаг, X_OUT -ийн хамгийн бага утга нь Ax -ийн чиглэлд -1г, Y_OUT -ийн доод тал нь Ay чиглэлд -1г байна. Нөгөө талаар модулийг дээш нь эргүүлээрэй: Z_OUT -ийн доод тал нь -1г, хамгийн ихдээ X_OUT нь Ax -ийн чиглэлд +1g, хамгийн ихдээ Y_OUT нь Ay чиглэлд +1г байна., доор үзүүлсэн шиг. ADXL345 модулийг эргүүлээд гурван утгын өөрчлөлтийг харах болно.
А суваг нь дээд түвшнээс доод түвшинд шилжих үед, хэрэв В суваг өндөр түвшинд байвал энэ нь эргэдэг кодлогч цагийн зүүний дагуу эргэдэг болохыг харуулж байна (CW); Хэрэв тэр үед В суваг бага түвшинд байвал энэ нь цагийн зүүний эсрэг эргэдэг гэсэн үг юм (CCW). Тиймээс хэрэв бид А суваг бага түвшинд байх үед В сувгийн утгыг уншвал эргэдэг кодлогч ямар чиглэлд эргэж байгааг мэдэх боломжтой болно.
Зарчим: Ротари кодлогч модулийн схемийг доороос үзнэ үү. Эндээс харахад эргэлтэт кодлогчийн 3 -р зүү, тухайлбал модуль дээрх CLK нь B. суваг бөгөөд DT нь 5 -р зүү бөгөөд А суваг юм. Бичлэгийн эргэлтийн чиглэлийг мэдэхийн тулд CLK -ийн утгыг уншиж, DT.
Хэлхээнд 3.3V хүчдэлийн зохицуулагч чип байдаг тул та 5V эсвэл 3.3V хүчдэл бүхий модулийг хүчдэлд оруулах боломжтой.
SDO нь GND -тэй холбогдсон тул ADXL345 -ийн I2C хаяг нь 0x53, 0xA6 бичих, 0xA7 унших боломжтой.
ADXL345 модулийн зүү функц.
Алхам 3: Процедур
Алхам 1. Хэлхээг бий болгох.
Алхам 2:
Кодыг https://github.com/primerobotics/Arduino дээрээс татаж авна уу
Алхам 3:
Ноорог зургийг Arduino Uno самбар дээр байршуулна уу
Кодыг хяналтын самбарт байршуулахын тулд Upload дүрс дээр дарна уу.
Хэрэв цонхны доод талд "Дууссан байршуулалт" гарч ирвэл ноорог амжилттай байршуулагдсан гэсэн үг юм.
Байршуулсны дараа Serial Monitor -ийг нээнэ үү. Модулийн хурдатгал өөрчлөгдөхөд зураг дээрх цонхны дагуу өөрчлөгдөх болно.
Алхам 4: Код
// ADXL335
/********************************
ADXL335
Тэмдэглэл: vcc5v, гэхдээ ADXL335 Vs нь 3.3V байна
Хэлхээ:
5V: VCC
аналог 0: x тэнхлэг
аналог 1: y тэнхлэг
аналог 2: z тэнхлэг
Шатсаны дараа
програмын хувьд цуврал дэлгэцийн дибаг хийх цонхыг нээнэ үү. Хурдатгал өөрчлөгдөхөд зураг нь өөр өөр байх болно.
*********************************
/Имэйл:
// Вэбсайт: www.primerobotics.in
const int xpin =
A0; // хурдасгуурын x тэнхлэг
const int ypin =
A1; // y тэнхлэг
const int zpin =
А2; // z тэнхлэг (зөвхөн 3 тэнхлэгтэй загвар дээр)
хүчингүй тохиргоо ()
{
// цуваа холболтыг эхлүүлэх:
Цуваа эхлэх (9600);
}
хоосон давталт ()
{
int x = analogRead (xpin); // xpin дээрээс уншина уу
саатал (1); //
int y = analogRead (ypin); // ypin -ээс уншсан
саатал (1);
int z = analogRead (zpin); // zpin дээрээс уншина уу
float zero_G = 338.0; // ADXL335 цахилгаан хангамж
3.3V -ээр: 3.3V/5V*1024 = 676/2 = 338
// Цуврал.хэвлэх (x);
//Serial.print("\t ");
//Serial.print(y);
//Serial.print("\t ");
//Serial.print(z);
//Serial.print("\n ");
хөвөх
zero_Gx = 331.5; // x тэнхлэгийн zero_G гаралт: (x_max + x_min)/2
хөвөх
zero_Gy = 329.5; // y тэнхлэгийн zero_G гаралт: (y_max + y_min)/2
float zero_Gz = 340.0; // the
z тэнхлэгийн тэг_G гаралт: (z_max + z_min)/2
хөвөх хуваарь =
67.6; // Vs 3.3V -ийн цахилгаан хангамж: 3.3v/5v *1024/3.3v *330mv/g = 67.6g
float scale_x =
65; // x тэнхлэгийн масштаб: x_max/3.3v*330mv/g
float scale_y =
68.5; // y тэнхлэгийн масштаб: y_max/3.3v*330mv/g
float scale_z =
68; // z тэнхлэгийн масштаб: z_max/3.3v*330mv/g
Цуваа.хэвлэх (((хөвөх) x
- zero_Gx)/scale_x); // цувралын дэлгэц дээр x утгыг хэвлэх
Serial.print ("\ t");
Цуваа.хэвлэх (((хөвөх) y
- zero_Gy)/scale_y); // y утгыг цуваа дэлгэц дээр хэвлэх
Serial.print ("\ t");
Цуваа.хэвлэх (((хөвөх) z
- zero_Gz)/scale_z); // z утгыг цуваа дэлгэц дээр хэвлэх
Serial.print ("\ n");
саатал (1000); // 1 секунд хүлээнэ үү
}
Алхам 5: Кодын шинжилгээ
ADXL345 туршилтын код нь порт, төхөөрөмж бүрийг эхлүүлэх, мэдрэгчээс илгээсэн өгөгдлийг олж авах, хадгалах, өгөгдлийг хөрвүүлэх гэсэн 3 хэсгээс бүрдэнэ.
Зөвлөмж болгож буй:
Detect Human HC-SR501: 9 алхамыг хэрхэн ашиглах вэ
Detect Human HC-SR501-ийг хэрхэн ашиглах вэ: Detect Human HC-SR501-ийг skiiiD ашиглан хөгжүүлэх заавар
ADC #Arduino Values, #Arduino: 4 алхамыг харуулах 7 сегмент
ADC #Arduino Values, #Arduino-ийг харуулах 7 сегмент: Энэ нийтлэлд би өмнөх нийтлэлтэй холбоотой төсөл хийх болно. Тухайлбал ADC өгөгдлийг боловсруулдаг тул adc өгөгдлийн үнэ цэнийг харахын тулд танд цуваа монитор хэрэггүй. Энэ нийтлэлд би ADC Value үзүүлэгчийг харуулах болно. тиймээс чи тэгэхгүй
WeMos TTgo ESP32 Uno D1 R32: 3 алхамыг хэрхэн тохируулах, ашиглах талаар
WeMos TTgo ESP32 Uno D1 R32 -ийг хэрхэн тохируулах, ашиглах вэ: WeMos® TTgo ESP32 uno D1 R32 -ийг хэрхэн тохируулах вэ?
Mac терминалыг хэрхэн ашиглах, гол функцийг хэрхэн ашиглах вэ: 4 алхам
Mac терминалыг хэрхэн ашиглах, гол функцийг хэрхэн ашиглах талаар: Бид танд MAC терминалыг хэрхэн нээхийг үзүүлэх болно. Бид танд терминалын дотор ifconfig, лавлахыг өөрчлөх, файлд хандах, arp гэх мэт цөөн хэдэн онцлог шинж чанаруудыг харуулах болно. Ifconfig нь танд IP хаяг болон MAC зараа шалгах боломжийг олгоно
8X32 LED DOT MATRIX -ийн ESP32: 4 алхамыг ашиглах дэлгэцийн гүйлгэх инстаграм дагагчид
ESP32 -ийг ашигласан 8X32 LED DOT MATRIX DISPLAY дахь INSTAGRAM дагагчдыг гүйлгэх: Энэ бол миний хөгжилтэй англи хэлний хувьд миний 2 дахь заавар бөгөөд уучлаарай. Энэхүү зааварчилгаанд бид инстаграм дагагчдаа 8X32 цэг матриц бүхий LED дэлгэцээр гүйлгэх болно