Სარჩევი:

აჩქარების გაზომვა H3LIS331DL და არდუინო ნანოს გამოყენებით: 4 ნაბიჯი
აჩქარების გაზომვა H3LIS331DL და არდუინო ნანოს გამოყენებით: 4 ნაბიჯი

ვიდეო: აჩქარების გაზომვა H3LIS331DL და არდუინო ნანოს გამოყენებით: 4 ნაბიჯი

ვიდეო: აჩქარების გაზომვა H3LIS331DL და არდუინო ნანოს გამოყენებით: 4 ნაბიჯი
ვიდეო: ფიზიკის დრო - სიჩქარის და აჩქარების განსაზღვრა სტრობოსკოპული მეთოდით #ტელესკოლა 2024, დეკემბერი
Anonim
Image
Image

H3LIS331DL არის დაბალი სიმძლავრის მაღალი ხარისხის 3 ღერძიანი ხაზოვანი ამაჩქარებელი, რომელიც მიეკუთვნება "ნანოს" ოჯახს, ციფრული I²C სერიული ინტერფეისით. H3LIS331DL– ს აქვს მომხმარებლის მიერ შერჩეული სრული სასწორი ± 100 გ/± 200 გ/± 400 გ და მას შეუძლია გაზომოს აჩქარებები გამომავალი მონაცემების სიჩქარით 0.5 ჰც – დან 1 კჰც – მდე. H3LIS331DL გარანტირებულია იმუშაოს გაფართოებულ ტემპერატურულ დიაპაზონში -40 ° C- დან +85 ° C- მდე.

ამ გაკვეთილში ჩვენ ვაჩვენებთ H3LIS331DL– ის ინტერფეისს არდუინო ნანოსთან.

ნაბიჯი 1: საჭირო აპარატურა:

საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა

მასალები, რომლებიც ჩვენ გვჭირდება ჩვენი მიზნის მისაღწევად, მოიცავს შემდეგ ტექნიკურ კომპონენტებს:

1. H3LIS331DL

2. არდუინო ნანო

3. I2C კაბელი

4. I2C ფარი არდუინო ნანოსთვის

ნაბიჯი 2: აპარატურის დაკავშირება:

აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება

აპარატურის დაკავშირების განყოფილება ძირითადად განმარტავს გაყვანილობის კავშირებს სენსორსა და არდუინო ნანოს შორის. სწორი კავშირების უზრუნველყოფა არის ძირითადი აუცილებლობა ნებისმიერ სისტემაზე მუშაობისას სასურველი გამომუშავებისთვის. ამრიგად, საჭირო კავშირები შემდეგია:

H3LIS331DL იმუშავებს I2C– ზე. აქ არის გაყვანილობის დიაგრამა, რომელიც აჩვენებს, თუ როგორ უნდა დააკავშიროთ სენსორის თითოეული ინტერფეისი.

ყუთის გარეშე, დაფა კონფიგურირებულია I2C ინტერფეისისთვის, ამიტომ ჩვენ გირჩევთ გამოიყენოთ ეს კავშირი, თუ სხვაგვარად ხართ აგნოსტიკოსი. ყველაფერი რაც თქვენ გჭირდებათ არის ოთხი მავთული!

მხოლოდ ოთხი კავშირია საჭირო Vcc, Gnd, SCL და SDA ქინძისთავები და ეს დაკავშირებულია I2C კაბელის დახმარებით.

ეს კავშირები ნაჩვენებია ზემოთ მოცემულ სურათებში.

ნაბიჯი 3: Arduino კოდი დაჩქარების გაზომვისთვის:

Arduino კოდი დაჩქარების გაზომვისთვის
Arduino კოდი დაჩქარების გაზომვისთვის
Arduino კოდი დაჩქარების გაზომვისთვის
Arduino კოდი დაჩქარების გაზომვისთვის

დავიწყოთ არდუინოს კოდით ახლავე.

სენსორული მოდულის arduino– ს გამოყენებისას ჩვენ ვრთავთ Wire.h ბიბლიოთეკას. "მავთულის" ბიბლიოთეკა შეიცავს ფუნქციებს, რომლებიც ხელს უწყობს სენსორსა და არდუინოს დაფას შორის i2c კომუნიკაციას.

მთელი arduino კოდი მოცემულია მომხმარებლის მოხერხებულობისთვის ქვემოთ:

#ჩართეთ

// H3LIS331DL I2C მისამართი არის 0x18 (24)

#განსაზღვრეთ Addr 0x18

ბათილად დაყენება ()

{

// I2C კომუნიკაციის ინიციალიზაცია, როგორც MASTER

Wire.begin ();

// სერიული კომუნიკაციის ინიციალიზაცია, დაყენებული baud განაკვეთი = 9600

სერიული.დაწყება (9600);

// დაიწყეთ I2C გადაცემა

Wire.beginTransmission (Addr);

// აირჩიეთ საკონტროლო რეგისტრი 1

Wire.write (0x20);

// X, Y, Z ღერძის ჩართვა, ჩართვის რეჟიმი, მონაცემთა გამომავალი სიჩქარე 50 Hz

Wire.write (0x27);

// შეაჩერე I2C გადაცემა

Wire.endTransmission ();

// დაიწყეთ I2C გადაცემა

Wire.beginTransmission (Addr);

// აირჩიეთ საკონტროლო რეგისტრი 4

Wire.write (0x23);

// სრული მასშტაბის დაყენება, +/- 100 გ, უწყვეტი განახლება

Wire.write (0x00);

// შეაჩერე I2C გადაცემა

Wire.endTransmission ();

დაგვიანება (300);

}

ბათილი მარყუჟი ()

{

ხელმოუწერელი int მონაცემები [6];

for (int i = 0; i <6; i ++)

{

// დაიწყეთ I2C გადაცემა

Wire.beginTransmission (Addr);

// მონაცემთა რეგისტრაციის არჩევა

Wire.write ((40+i));

// შეაჩერე I2C გადაცემა

Wire.endTransmission ();

// მოითხოვეთ მონაცემების 1 ბაიტი

მავთული. მოთხოვნა (Addr, 1);

// წაიკითხეთ მონაცემების 6 ბაიტი

// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

თუ (Wire.available () == 1)

{

მონაცემები = Wire.read ();

}

}

დაგვიანება (300);

// მონაცემების კონვერტაცია

int xAccl = ((მონაცემები [1] * 256) + მონაცემები [0]);

int yAccl = ((მონაცემები [3] * 256) + მონაცემები [2]);

int zAccl = ((მონაცემები [5] * 256) + მონაცემები [4]);

// სერიული მონიტორის მონაცემების გამოტანა

Serial.print ("აჩქარება X- ღერძში:");

Serial.println (xAccl);

Serial.print ("აჩქარება Y- ღერძში:");

Serial.println (yAccl);

Serial.print ("აჩქარება Z- ღერძში:");

Serial.println (zAccl);

დაგვიანება (300);

}

ყველაფერი რაც თქვენ გჭირდებათ არის ჩაწეროთ კოდი arduino– ში და შეამოწმოთ თქვენი კითხვები სერიულ პორტზე. გამომავალი ნაჩვენებია ზემოთ მოცემულ სურათზე.

ნაბიჯი 4: პროგრამები:

პროგრამები
პროგრამები

H3LIS331DL- ის მსგავსი აქსელერომეტრები უმეტესად პოულობენ მის გამოყენებას თამაშებში და პროფილის ჩვენების შეცვლაში. ეს სენსორული მოდული ასევე გამოიყენება მობილური პროგრამებისთვის ენერგიის მართვის მოწინავე სისტემაში. H3LIS331DL არის სამარხიანი ციფრული აჩქარების სენსორი, რომელიც ჩართულია ინტელექტუალური ჩიპური მოძრაობის გამომწვევი წყვეტის კონტროლერთან.

გირჩევთ: