Isi kandungan:

Kompas Servo yang Sangat Asas, Tidak Dinilai: 7 Langkah
Kompas Servo yang Sangat Asas, Tidak Dinilai: 7 Langkah

Video: Kompas Servo yang Sangat Asas, Tidak Dinilai: 7 Langkah

Video: Kompas Servo yang Sangat Asas, Tidak Dinilai: 7 Langkah
Video: SULTAN MEDAN INDRAKENZ NAIK JET PRIBADI KE PULAU PRIBADI!! 2024, November
Anonim
Kompas Servo yang Sangat Asas, Tidak Ditentukur
Kompas Servo yang Sangat Asas, Tidak Ditentukur

Ini hanya petunjuk asas untuk projek yang sedang saya jalankan. Ini tidak dikalibrasi dan merupakan prototaip yang sangat asas yang dibuat untuk kelas. Dalam arahan kemudian, saya akan menunjukkan cara menentukurnya.

Saya tidak akan mengharapkan kehebatan dari ini sekiranya saya menjadi anda, ini lebih mendokumentasikan prosesnya.

Bekalan

  • Servo mikro (Saya menggunakan Servo Mikro HXT900 dari Hobby King)
  • Arduino (saya menggunakan Uno)
  • LSM303DLHC adalah sensor
  • Kabel, solder, dll
  • Papan roti

Langkah 1: Himpunkan Segalanya

Himpunkan Segalanya
Himpunkan Segalanya
Himpunkan Segalanya
Himpunkan Segalanya

Pastikan header anda disolder ke sensor anda dengan betul dan anda mempunyai wayar dan papan roti anda.

Langkah 2: Perpustakaan Kod

Perpustakaan Kod
Perpustakaan Kod
Perpustakaan Kod
Perpustakaan Kod

Anda pasti mahu memuat turunnya.

Perpustakaan lain yang akan anda gunakan, wire.h dan servo.h, harus dipasang secara lalai.

Langkah 3: Kod

Buka pustaka lakaran 'Kompas' dari yang baru anda muat turun. Untuk menggunakan servo, anda ingin memasukkan kod servo ke dalam kod ini. Saya menggabungkannya dengan kod Hanie Kiana dari sini. Yang asli adalah oleh Hanie Kiani, bukan saya. Ia mesti kelihatan seperti ini.

#sertakan

#include #include #include #include Adafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified (12345); int servoPin = 3; Servo Servo1; persediaan kosong (tidak sah) {Serial.begin (9600); Wire.begin (); Servo1.attach (servoPin); Serial.println ("Ujian Magnetometer"); Serial.println (""); if (! mag.begin ()) {Serial.println ("Ooops, tidak ada LSM303 yang dikesan … Periksa pendawaian anda!"); sementara (1); }} gelung void (kekosongan) {/ * Dapatkan acara sensor baru * / acara sensor_event_t; mag.getEvent (& acara); terapung Pi = 3.14159; // Hitung sudut vektor y, x float heading = (atan2 (event.magnetic.y, event.magnetic.x) * 180) / Pi; // Tormalkan ke 0-360 jika (tajuk <0) {heading = 360 + tajuk; } Serial.print ("Tajuk Kompas:"); Serial.println (tajuk); Servo1.write (180-tajuk); kelewatan (10); }

Langkah 4: Wire It Bersama

Wire It Bersama
Wire It Bersama

Anda mahu pin paling kiri- SCL- disambungkan ke input data A5

Yang di sebelahnya- SDA- disambungkan ke port A4.

Tanah menuju ke Tanah.

VIN menuju ke port 5v.

Langkah 5: Tambahkan Servo ke Pendawaian

Tambahkan Servo ke Pendawaian
Tambahkan Servo ke Pendawaian

Tanah dan voltan bercakap untuk diri mereka sendiri, tetapi anda mahu pin data menjadi ~ 3.

Langkah 6: Uji Kod

Uji Kod
Uji Kod

Sekiranya anda menggerakkan magnetometer dengan perlahan, servo harus bergerak dengannya. Ia mungkin tidak tepat, tetapi sekurang-kurangnya berfungsi dengan kod, jadi bahagian pertama sudah lengkap. Ia masih belum dikalibrasi, tetapi berfungsi.

Disyorkan: