ዝርዝር ሁኔታ:

ADXL345 Arduino Uno R3 ን በመጠቀም 5 ደረጃዎች
ADXL345 Arduino Uno R3 ን በመጠቀም 5 ደረጃዎች

ቪዲዮ: ADXL345 Arduino Uno R3 ን በመጠቀም 5 ደረጃዎች

ቪዲዮ: ADXL345 Arduino Uno R3 ን በመጠቀም 5 ደረጃዎች
ቪዲዮ: How to Interface ADXL345 Accelerometer with Arduino UNO 2024, ህዳር
Anonim
ADXL345 Arduino Uno R3 ን በመጠቀም
ADXL345 Arduino Uno R3 ን በመጠቀም

በዚህ ትምህርት ውስጥ የፍጥነት ዳሳሽ ADXL345 ን እንዴት እንደሚጠቀሙ እንማራለን።

ደረጃ 1: አካላት

- አርዱዲኖ ኡኖ ሰሌዳ * 1

- የዩኤስቢ ገመድ * 1

- ADXL345 *1

- የዳቦ ሰሌዳ * 1

- ዝላይ ሽቦዎች

ደረጃ 2: መርህ

በማፋጠን ጊዜ የሚፈጠረውን ኃይል ለመለካት የፍጥነት መለኪያ (ኤክስሮሜትር) ጥቅም ላይ ይውላል። በጣም መሠረታዊው በተለምዶ የሚታወቀው የስበት ፍጥነት 1 ግራም ነው።

በስበት ኃይል ምክንያት የሚከሰተውን ፍጥነት በመለካት የመሣሪያውን የመጠምዘዝ አንግል ወደ ደረጃው ወለል ማስላት ይችላሉ። ተለዋዋጭ ፍጥነቱን በመተንተን መሣሪያው እንዴት እንደሚንቀሳቀስ መንገዱን መናገር ይችላሉ። ለምሳሌ ፣ የራስ-ሚዛናዊ ቦርድ ወይም የሆቨርቦርድ ለካልማን ማጣሪያ እና አኳኋን እርማት የፍጥነት ዳሳሽ እና ጋይሮስኮፕን ይተገበራል።

ADXL345

ADXL345 እስከ ± 16 ግ ድረስ ባለ ከፍተኛ ጥራት (13-ቢት) ልኬት ያለው ትንሽ ፣ ቀጭን ፣ ዝቅተኛ ኃይል ፣ 3-ዘንግ የፍጥነት መለኪያ ነው። የዲጂታል ውፅዓት ውሂብ እንደ 16-ቢት ሁለት ማሟያ የተቀረፀ ሲሆን በ SPI (3- ወይም 4-ሽቦ) ወይም በ I2C ዲጂታል በይነገጽ በኩል ተደራሽ ነው። በዚህ ሙከራ ውስጥ የ I2C ዲጂታል በይነገጽ ጥቅም ላይ ውሏል።

በመጠምዘዝ ዳሰሳ ትግበራዎች ውስጥ የስበት የማይንቀሳቀስ ፍጥነትን ፣ እንዲሁም በእንቅስቃሴ ወይም በድንጋጤ ምክንያት የሚከሰተውን ተለዋዋጭ ፍጥነትን ለመለካት በጣም ተስማሚ ነው። የእሱ ከፍተኛ ጥራት (4 mg/LSB) ከ 1.0 ° ባነሰ የዝንባሌ ለውጥን መለካት ያስችላል። እና እጅግ በጣም ጥሩ ትብነት (3.9mg/LSB @2g) እስከ ± 16 ግ ድረስ ከፍተኛ ትክክለኛ ውፅዓት ይሰጣል።

ADXL345 እንዴት እንደሚሰራ

ADXL345 ፍጥነቱን ከፊት ካለው የስሜት ሕዋስ አካል ጋር ይለያል ፣ ከዚያ የኤሌክትሪክ ምልክት ዳሳሽ አካል ወደ ኤሌክትሪክ ምልክት ይለውጠዋል ፣ እሱም አናሎግ ነው። በመቀጠልም በሞጁሉ ላይ የተዋሃደው የ AD አስማሚው የአናሎግ ምልክቱን ወደ ዲጂታል ይለውጠዋል።

X_OUT ፣ Y_OUT እና Z_OUT በ X ፣ Y እና Z ዘሮች ላይ በቅደም ተከተል እሴቶች ናቸው። ሞጁሉን ፊት ለፊት ያስቀምጡ -Z_OUT ቢበዛ +1g ሊደርስ ይችላል ፣ ዝቅተኛው X_OUT ወደ መጥረቢያ አቅጣጫ -1 ግ ፣ እና ዝቅተኛው የ Y_OUT -1g ወደ አይ አቅጣጫ። በሌላ በኩል ፣ ሞጁሉን ወደ ላይ አዙረው ዝቅተኛው የ Z_OUT -1g ፣ ከፍተኛው X_OUT +1g ወደ መጥረቢያ አቅጣጫ ፣ ከፍተኛው የ Y_OUT ደግሞ ወደ አይ አቅጣጫ +1g ነው። ፣ ከዚህ በታች እንደሚታየው። የ ADXL345 ሞዱሉን አሽከርክር እና የሶስት እሴቶች ለውጥ ታያለህ።

ሰርጥ ሀ ከከፍተኛ ደረጃ ወደ ዝቅተኛ ደረጃ ሲቀየር ፣ ሰርጥ ቢ ከፍተኛ ደረጃ ከሆነ ፣ የ rotary encoder በሰዓት አቅጣጫ (CW) የሚሽከረከር መሆኑን ያሳያል። በዚያ ቅጽበት ሰርጥ ቢ ዝቅተኛ ደረጃ ከሆነ ፣ በተቃራኒ ሰዓት አቅጣጫ (CCW) ይሽከረከራል ማለት ነው። ስለዚህ ሰርጥ ሀ ዝቅተኛ ደረጃ በሚሆንበት ጊዜ የሰርጥ ቢ ዋጋን ካነበብን ፣ የ rotary ኢንኮደር በየትኛው አቅጣጫ እንደሚሽከረከር ማወቅ እንችላለን።

መርህ - ከዚህ በታች ያለውን የ Rotary Encoder ሞጁል ንድፋዊ ንድፍ ይመልከቱ። ከእሱ እኛ ያንን የምናየው የ rotary encoder ፒን 3 ፣ ማለትም በሞጁሉ ላይ CLK ፣ ሰርጥ ቢ ፒን 5 ፣ እሱም DT ፣ ሰርጥ ሀ ነው ፣ የመዝጋቢውን የማዞሪያ አቅጣጫ ለማወቅ ፣ የ CLK ን ዋጋ ብቻ ያንብቡ እና ዲቲ.

በወረዳው ውስጥ 3.3v የቮልቴጅ ተቆጣጣሪ ቺፕ አለ ፣ ስለሆነም ሞጁሉን በ 5 ቮ ወይም 3.3 ቪ ኃይል መስጠት ይችላሉ።

ኤስዲኦ ከ GND ጋር የተገናኘ በመሆኑ የ ADXL345 የ I2C አድራሻ 0x53 ፣ 0xA6 ለመፃፍ ፣ 0xA7 ለንባብ ነው

የ ADXL345 ሞዱል የፒን ተግባር።

ደረጃ 3: ሂደቶች

ደረጃ 1. ወረዳውን ይገንቡ።

ደረጃ 2

ኮዱን ከ https://github.com/primerobotics/Arduino ያውርዱ

ደረጃ 3

ንድፉን ወደ አርዱዲኖ ኡኖ ቦርድ ይስቀሉ

ኮዱን ወደ መቆጣጠሪያ ሰሌዳ ለመስቀል የሰቀላ አዶውን ጠቅ ያድርጉ።

“ሰቀላ ተከናውኗል” በመስኮቱ ታችኛው ክፍል ከታየ ፣ ንድፉ በተሳካ ሁኔታ ተሰቅሏል ማለት ነው።

ከሰቀሉ በኋላ የተገኘውን መረጃ ማየት የሚችሉበትን ተከታታይ ሞኒተርን ይክፈቱ። የሞጁሉን ማፋጠን በሚቀየርበት ጊዜ አኃዙ በመስኮቱ ላይ ይለወጣል።

ደረጃ 4 ኮድ

ኮድ
ኮድ

// ADXL335

/********************************

ADXL335

ማስታወሻ: vcc5v

፣ ግን ADXL335 Vs 3.3V ነው

ወረዳው ፦

5V: ቪ.ሲ.ሲ

አናሎግ 0: ኤክስ-ዘንግ

አናሎግ 1: y- ዘንግ

አናሎግ 2: z- ዘንግ

ቃጠሎውን ካቃጠለ በኋላ

ፕሮግራም ፣ የተገኘው መረጃ ሲታይ ማየት የሚችሉበትን ተከታታይ ማሳያ ማረም መስኮት ይክፈቱ። ፍጥነቱ በሚለያይበት ጊዜ አኃዙ በዚህ መሠረት ይለያያል።

*********************************

/ኢሜል ፦

[email protected] ውስጥ

// ድር ጣቢያ - www.primerobotics.in

const int xpin =

A0; የፍጥነት መለኪያ/ x- ዘንግ

const int ypin =

ሀ 1; // y- ዘንግ

const int zpin =

ሀ 2; // z- ዘንግ (በ 3-ዘንግ ሞዴሎች ላይ ብቻ)

ባዶነት ማዋቀር ()

{

// ተከታታይ ግንኙነቶችን ያስጀምሩ-

Serial.begin (9600);

}

ባዶነት loop ()

{

int x = analogRead (xpin); // ከ xpin ያንብቡ

መዘግየት (1); //

int y = analogRead (ypin); // ከ ypin ያንብቡ

መዘግየት (1);

int z = analogRead (zpin); // ከ zpin ያንብቡ

ተንሳፋፊ zero_G = 338.0; // ADXL335 የኃይል አቅርቦት

በ 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 ");

ተንሳፈፈ

zero_Gx = 331.5; // የ x ዘንግ ዜሮ_G ውጤት ((x_max + x_min))/2

ተንሳፈፈ

zero_Gy = 329.5; // የ y ዘንግ ዜሮ_G: (y_max + y_min)/2

ተንሳፋፊ zero_Gz = 340.0; // the

ዜድ_ጂ የ z ዘንግ ውጤት ((z_max + z_min))/2

ተንሳፋፊ ልኬት =

67.6; // የኃይል አቅርቦት በ Vs 3.3V: 3.3v/5v *1024/3.3v *330mv/g = 67.6g

ተንሳፋፊ scale_x =

65; // የ x ዘንግ ልኬት: x_max/3.3v*330mv/g

ተንሳፋፊ scale_y =

68.5; // የ y ዘንግ ልኬት: y_max/3.3v*330mv/g

ተንሳፋፊ scale_z =

68; // የ z ዘንግ ልኬት: z_max/3.3v*330mv/g

Serial.print (((ተንሳፋፊ) x

- zero_Gx)/scale_x); // በተከታታይ ማሳያ ላይ የ x እሴት ያትሙ

Serial.print ("\ t");

Serial.print (((ተንሳፋፊ) y

- zero_Gy)/scale_y); // በተከታታይ ማሳያ ላይ y እሴት ያትሙ

Serial.print ("\ t");

Serial.print (((ተንሳፋፊ) z

- zero_Gz)/scale_z); // በተከታታይ ማሳያ ላይ የ z እሴት ያትሙ

Serial.print ("\ n");

መዘግየት (1000); // 1 ሰከንድ ይጠብቁ

}

ደረጃ 5 የኮድ ትንተና

የ ADXL345 ሙከራ ኮድ 3 ክፍሎችን ያጠቃልላል -እያንዳንዱን ወደብ እና መሣሪያን ያስጀምሩ ፣ ከአነፍናፊዎቹ የተላከውን ውሂብ ያግኙ እና ያከማቹ እና ውሂቡን ይለውጡ።

የሚመከር: