Mündəricat:

Son dərəcə sadə, kalibrlənməmiş Servo Pusula: 7 addım
Son dərəcə sadə, kalibrlənməmiş Servo Pusula: 7 addım

Video: Son dərəcə sadə, kalibrlənməmiş Servo Pusula: 7 addım

Video: Son dərəcə sadə, kalibrlənməmiş Servo Pusula: 7 addım
Video: ACC DAYANIR VƏ KODLAMA EDİN DİQQƏT / ACC / LANE ASSIST / KODLAMA ZƏMANƏTİNİ ETKİN EDƏ BİL... 2024, Iyul
Anonim
Son dərəcə Əsaslı, Kalibrlənməmiş Servo Kompas
Son dərəcə Əsaslı, Kalibrlənməmiş Servo Kompas

Bu, üzərində çalışdığım bir layihə üçün əsas təlimatdır. Bu kalibrsizdir və sinif üçün hazırlanmış çox əsas bir prototipdir. Növbəti təlimatda onu necə kalibr etməyi göstərəcəyəm.

Sənin yerində olsaydım, bundan çox böyüklük gözləməzdim, daha çox prosesi sənədləşdirir.

Təchizat

  • Mikro servo (Hobby King -dən HXT900 Mikro Servo istifadə etdim)
  • Arduino (Uno istifadə etdim)
  • LSM303DLHC sensordur
  • Kabellər, lehim və s
  • Çörək lövhəsi

Addım 1: Hər şeyi yığın

Hər şeyi yığın
Hər şeyi yığın
Hər şeyi yığın
Hər şeyi yığın

Başlıqlarınızın sensorunuza düzgün bir şəkildə lehimləndiyinə və telləriniz və çörək taxtanız olduğuna əmin olun.

Addım 2: Kod Kitabxanaları

Kod kitabxanaları
Kod kitabxanaları
Kod kitabxanaları
Kod kitabxanaları

Bunları yüklədiyinizə əmin olmaq istəyəcəksiniz.

İstifadə edəcəyiniz digər kitabxanalar, tel.h və servo.h, əvvəlcədən quraşdırılmış olmalıdır.

Addım 3: Kod

Yeni yüklədiyinizdən "Kompas" eskiz kitabxanasını açın. Servodan istifadə etmək üçün servo kodunu bu koda daxil etmək istəyirsiniz. Buradan Hanie Kiana'nın kodu ilə birləşdirdim. Orijinal mən deyil, Hanie Kianidir. Bu belə görünməlidir.

#daxil edin

#include #include #include #includeAdafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified (12345); int servoPin = 3; Servo Servo1; void setup (void) {Serial.begin (9600); Wire.begin (); Servo1.tach (servoPin); Serial.println ("Maqnitometr Testi"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Vay, LSM303 aşkarlanmadı … Kablolarınızı yoxlayın!"); isə (1); }} void loop (void) { / * Yeni bir sensor hadisəsi alın * / sensors_event_t hadisə; mag.getEvent (və hadisə); üzən Pi = 3.14159; // y, x float başlığının = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi vektorunun bucağını hesablayın; // (başlıq <0) {başlıq = 360 + başlıq; } Serial.print ("Pusula Başlığı:"); Serial.println (başlıq); Servo1.write (180 başlıq); gecikmə (10); }

Addım 4: Birlikdə bağlayın

Birlikdə tel edin
Birlikdə tel edin

Ən sol pin- SCL- A5 məlumat girişinə qoşulmasını istəyirsiniz

Yanında olan- SDA- A4 portuna bağlıdır.

Torpaq Zəminə gedir.

VIN 5v limanına gedir.

Addım 5: Kabloya Servo əlavə edin

Kablolama sisteminə Servo əlavə edin
Kablolama sisteminə Servo əlavə edin

Torpaq və gərginlik özləri üçün danışır, ancaq məlumat pininin ~ 3 olmasını istəyirsiniz.

Addım 6: Kodu sınayın

Kodu sınayın
Kodu sınayın

Maqnitometrini yavaşca hərəkət etdirsəniz, servo onunla birlikdə hərəkət etməlidir. Çox güman ki, dəqiq deyil, amma ən azı kodla işləyir, buna görə birinci hissə tamamlandı. Hələ kalibr olunmayıb, amma işləyir.

Tövsiyə: