Სარჩევი:

უკიდურესად ძირითადი, არაკალიბრირებული სერვო კომპასი: 7 ნაბიჯი
უკიდურესად ძირითადი, არაკალიბრირებული სერვო კომპასი: 7 ნაბიჯი

ვიდეო: უკიდურესად ძირითადი, არაკალიბრირებული სერვო კომპასი: 7 ნაბიჯი

ვიდეო: უკიდურესად ძირითადი, არაკალიბრირებული სერვო კომპასი: 7 ნაბიჯი
ვიდეო: უკიდურესად გაჭირვებულ 1000 ოჯახს დუშეთის მუნიციპალიტეტის თვითმმართველობამ სასურსათო პაკეტი გადასცა 2024, ივლისი
Anonim
უკიდურესად ძირითადი, არაკალიბრირებული სერვო კომპასი
უკიდურესად ძირითადი, არაკალიბრირებული სერვო კომპასი

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

მე რომ შენს ადგილას ვიყო, მე არ მოველოდი დიდ სიდიადეს, ეს უფრო პროცესის დოკუმენტირებაა.

მარაგები

  • მიკრო სერვო (მე გამოვიყენე HXT900 მიკრო სერვო ჰობი კინგისგან)
  • არდუინო (მე გამოვიყენე Uno)
  • LSM303DLHC არის სენსორი
  • კაბელები, შედუღება და ა
  • პურის დაფა

ნაბიჯი 1: შეიკრიბეთ ყველაფერი

შეიკრიბეთ ყველაფერი
შეიკრიბეთ ყველაფერი
შეიკრიბეთ ყველაფერი
შეიკრიბეთ ყველაფერი

დარწმუნდით, რომ თქვენი სათაურები სწორად არის შეკრული თქვენს სენსორზე და გაქვთ თქვენი მავთულები და დაფა.

ნაბიჯი 2: კოდის ბიბლიოთეკები

კოდის ბიბლიოთეკები
კოდის ბიბლიოთეკები
კოდის ბიბლიოთეკები
კოდის ბიბლიოთეკები

თქვენ გსურთ დარწმუნდეთ, რომ ეს გადმოწერილი გაქვთ.

სხვა ბიბლიოთეკები, რომლებსაც იყენებთ, wire.h და servo.h, უკვე უნდა იყოს დაინსტალირებული.

ნაბიჯი 3: კოდი

გახსენით ესკიზის ბიბლიოთეკა "კომპასი", რაც გადმოტვირთეთ. იმისათვის, რომ გამოიყენოთ სერვო, თქვენ უნდა ჩადოთ სერვო კოდი ამ კოდში. აქედან გავაერთიანე ჰანი კიანას კოდი. ორიგინალი არის ჰანი კიანის, არა მე. ასე უნდა გამოიყურებოდეს.

#ჩართეთ

#მოიცავს #მოიცავს #მოიცავს #მოიცავს #ადაფრუტს_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified (12345); int servoPin = 3; სერვო სერვო 1; void setup (void) {Serial.begin (9600); Wire.begin (); Servo1.attach (servoPin); Serial.println ("მაგნიტომეტრის ტესტი"); Serial.println (""); if (! mag.begin ()) {Serial.println ("უი, LSM303 არ არის აღმოჩენილი … შეამოწმეთ თქვენი გაყვანილობა!"); ხოლო (1); }} void loop (void) { / * მიიღეთ ახალი სენსორული ღონისძიება * / sensors_event_t ღონისძიება; mag.getEvent (& ღონისძიება); float Pi = 3.14159; // გამოთვალეთ ვექტორის კუთხე y, x float heading = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // ნორმალიზება 0-360-მდე თუ (სათაური <0) {სათაური = 360 + სათაური; } Serial.print ("კომპასის სათაური:"); Serial.println (სათაური); Servo1.write (180 სათაურით); დაგვიანება (10); }

ნაბიჯი 4: შეაერთეთ იგი ერთად

მავთულის ერთად
მავთულის ერთად

თქვენ გჭირდებათ მარცხენა pin- SCL- დაკავშირებული A5 მონაცემების შეყვანასთან

გვერდით- SDA- უკავშირდება A4 პორტს.

მიწა მიდის მიწაზე.

VIN გადადის 5 ვ პორტში.

ნაბიჯი 5: დაამატეთ სერვო გაყვანილობას

დაამატეთ სერვო გაყვანილობას
დაამატეთ სერვო გაყვანილობას

მიწა და ძაბვა თავისთავად მეტყველებს, მაგრამ თქვენ გინდათ რომ მონაცემთა პინი იყოს ~ 3.

ნაბიჯი 6: შეამოწმეთ კოდი

გამოცადეთ კოდი
გამოცადეთ კოდი

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

გირჩევთ: