İçindekiler:

Son Derece Basit, Kalibre Edilmemiş Servo Pusula: 7 Adım
Son Derece Basit, Kalibre Edilmemiş Servo Pusula: 7 Adım

Video: Son Derece Basit, Kalibre Edilmemiş Servo Pusula: 7 Adım

Video: Son Derece Basit, Kalibre Edilmemiş Servo Pusula: 7 Adım
Video: Kendini tornaci sanan mal 2024, Kasım
Anonim
Son Derece Temel, Kalibre Edilmemiş Servo Pusula
Son Derece Temel, Kalibre Edilmemiş Servo Pusula

Bu sadece üzerinde çalıştığım bir proje için temel bir talimat. Bu kalibre edilmemiştir ve sınıf için yapılmış çok temel bir prototiptir. Daha sonraki bir talimatta, nasıl kalibre edileceğini göstereceğim.

Yerinizde olsam bundan fazla bir büyüklük beklemezdim, daha çok süreci belgeliyor.

Gereçler

  • Mikro servo (Hobby King'den HXT900 Mikro Servo kullandım)
  • Arduino (Uno kullandım)
  • LSM303DLHC sensördür
  • Kablolar, lehim vb.
  • ekmek tahtası

Adım 1: Her Şeyi Birleştirin

Her Şeyi Birleştirin
Her Şeyi Birleştirin
Her Şeyi Birleştirin
Her Şeyi Birleştirin

Başlıklarınızın sensörünüze düzgün bir şekilde lehimlendiğinden ve kablolarınızın ve devre tahtanızın olduğundan emin olun.

Adım 2: Kod Kitaplıkları

Kod Kitaplıkları
Kod Kitaplıkları
Kod Kitaplıkları
Kod Kitaplıkları

Bunları indirdiğinizden emin olmak isteyeceksiniz.

Kullanacağınız diğer kitaplıklar, wire.h ve servo.h, varsayılan olarak önceden kurulmuş olmalıdır.

3. Adım: Kodlayın

Az önce indirdiğiniz 'Pusula' çizim kitaplığını açın. Servoyu kullanabilmek için bu kodun içine servo kodunu koymak istiyorsunuz. Buradan Hanie Kiana'nın koduyla birleştirdim. Orijinali Hanie Kiani'ye ait, bana değil. Bu gibi görünmelidir.

#Dahil etmek

#include #include #include #include Adafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified(12345); int servoPin = 3; Servo Servo1; void setup(void) { Serial.begin(9600); Wire.begin(); Servo1.attach(servoPin); Serial.println("Manyetometre Testi"); Seri.println(""); if (!mag.begin()) { Serial.println("Hata, LSM303 algılanmadı… Kablo bağlantınızı kontrol edin!"); iken (1); } } void loop(void) { /* Yeni bir sensör olayı al */ensor_event_t olayı; mag.getEvent(&event); kayan nokta Pi = 3.14159; // y vektörünün açısını hesapla, x float başlığı = (atan2(event.magnetic.y, event.magnetic.x) * 180) / Pi; // 0-360'a normalleştir if (başlık < 0) { başlık = 360 + başlık; } Serial.print("Pusula Yönü: "); Serial.println(başlık); Servo1.write(180-başlık); gecikme(10); }

Adım 4: Birlikte Kablolayın

Birlikte Kablolayın
Birlikte Kablolayın

En soldaki pin SCL'nin A5 veri girişine bağlanmasını istiyorsunuz

Yanındaki - SDA- A4 portuna bağlı.

Yer, Yer'e gider.

VIN 5v bağlantı noktasına gider.

Adım 5: Kablolamaya Servo Ekleyin

Kablolamaya Servo Ekleyin
Kablolamaya Servo Ekleyin

Toprak ve voltaj kendileri için konuşur, ancak veri pininin ~3 olmasını istersiniz.

Adım 6: Kodu Test Edin

Kodu Test Et
Kodu Test Et

Manyetometreyi yavaş hareket ettirirseniz servo da onunla birlikte hareket etmelidir. Muhtemelen doğru değil, ancak en azından kodla çalışıyor, bu yüzden birinci kısım tamamlandı. Hala kalibre edilmemiş, ancak çalışıyor.

Önerilen: